2012-05-23 08:17:49 +00:00
#-*- tab-width: 4; -*-
1996-11-03 07:51:59 +00:00
# ex:ts=4
1994-09-11 12:01:05 +00:00
#
1999-08-25 04:40:22 +00:00
# $FreeBSD$
1996-11-01 07:22:37 +00:00
# $NetBSD: $
#
1994-08-21 13:12:57 +00:00
# bsd.port.mk - 940820 Jordan K. Hubbard.
# This file is in the public domain.
#
1994-09-10 22:26:47 +00:00
# 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.
1999-04-28 06:20:23 +00:00
#
* 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
2001-06-28 19:54:45 +00:00
# UNAUTHORISED CHANGES WILL BE UNCONDITIONALLY REVERTED!
1997-01-12 12:37:48 +00:00
2001-03-24 21:35:22 +00:00
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
1999-07-23 09:36:55 +00:00
# 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
#
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# MAINTAINER - The e-mail address of the contact person for this port.
# Default: ports@FreeBSD.org
1994-08-21 13:12:57 +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
# 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.
2004-02-04 04:27:04 +00:00
#
* Fix INDEX build if MAINTAINER is not defined. [1]
* Remove USE_QT2 since it's obsolete now. [2]
* Clarify comments about ARCH. [3]
* Speedup 'make readmes'. Add a perl script "Tools/make_readmes"
and modify bsd.port.subdir.mk to avoid recursing into individual
port directories to create README.html. [4]
* Fix 'make search' to allow case insensitive search on 5-x/6-x. [5]
* Add the possibility to search the ports by category. [6]
* Remove tk42 and tcl76 from virtual categories since they're
obsolete. [7]
* Introduce new variable - DISTVERSION, vendor version of the
distribution, that can be set instead of PORTVERSION and is
automatically converted in a conforming PORTVERSION. [8]
* Use --suffix instead of -b option for patch(1) to make it
compatible with BSD patch(1) [9]
* Fix {WANT,WITH}_MYSQL_VER behavior, to deal with conflicting
versions. [10]
PR: ports/68895 [1], ports/69486 [2], ports/68539 [3],
ports/70018 [4], ports/68896 [5], ports/73299 [6],
ports/73570 [7], ports/67171 [8], ports/72182 [9]
Submitted by: linimon [1][3], arved [2][7], cperciva [4],
Matthew Seaman <m.seaman@infracaninophile.co.uk> [5],
Radek Kozlowski <radek@raadradd.com> [6],
eik [8], Andreas Hauser <andy-freebsd@splashground.de> [9],
clement [10]
2004-11-19 13:45:07 +00:00
# ARCH - The architecture of the target machine, such as would be
2012-09-06 20:59:27 +00:00
# returned by "uname -p".
1996-11-01 07:22:37 +00:00
# OPSYS - Portability clause. This is the operating system the
# makefile is being used on. Automatically set to
1997-01-12 12:37:48 +00:00
# "FreeBSD," "NetBSD," or "OpenBSD" as appropriate.
1998-08-05 09:29:13 +00:00
# OSREL - The release version (numeric) of the operating system.
1998-11-11 05:21:29 +00:00
# OSVERSION - The value of __FreeBSD_version.
1995-01-04 08:30:33 +00:00
#
* 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.
* Fix INDEX build if MAINTAINER is not defined. [1]
* Remove USE_QT2 since it's obsolete now. [2]
* Clarify comments about ARCH. [3]
* Speedup 'make readmes'. Add a perl script "Tools/make_readmes"
and modify bsd.port.subdir.mk to avoid recursing into individual
port directories to create README.html. [4]
* Fix 'make search' to allow case insensitive search on 5-x/6-x. [5]
* Add the possibility to search the ports by category. [6]
* Remove tk42 and tcl76 from virtual categories since they're
obsolete. [7]
* Introduce new variable - DISTVERSION, vendor version of the
distribution, that can be set instead of PORTVERSION and is
automatically converted in a conforming PORTVERSION. [8]
* Use --suffix instead of -b option for patch(1) to make it
compatible with BSD patch(1) [9]
* Fix {WANT,WITH}_MYSQL_VER behavior, to deal with conflicting
versions. [10]
PR: ports/68895 [1], ports/69486 [2], ports/68539 [3],
ports/70018 [4], ports/68896 [5], ports/73299 [6],
ports/73570 [7], ports/67171 [8], ports/72182 [9]
Submitted by: linimon [1][3], arved [2][7], cperciva [4],
Matthew Seaman <m.seaman@infracaninophile.co.uk> [5],
Radek Kozlowski <radek@raadradd.com> [6],
eik [8], Andreas Hauser <andy-freebsd@splashground.de> [9],
clement [10]
2004-11-19 13:45:07 +00:00
# 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).
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.
2000-04-10 12:31:02 +00:00
# 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.
2013-11-25 11:30:17 +00:00
# PKGNAMESUFFIX - Suffix to specify compilation options or a version
2013-12-06 08:20:16 +00:00
# designator (in case there are different versions of
2013-11-25 11:30:17 +00:00
# one port as is the case for Tcl).
# Optional.
# PKGVERSION - Always defined as ${PORTVERSION}.
2006-09-15 06:57:07 +00:00
# Do not define this in your Makefile.
2004-01-20 22:17:03 +00:00
# UNIQUENAME - A name for your port that is globally unique. By default,
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# this is set to ${LATEST_LINK} when LATEST_LINK is set,
# and to ${PKGNAMEPREFIX}${PORTNAME} otherwise.
# DISTVERSION - Vendor version of the distribution.
# Default: ${PORTVERSION}
2000-04-04 07:05:36 +00:00
# DISTNAME - Name of port or distribution used in generating
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# WRKSRC and DISTFILES below.
# Default:
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
# ${PORTNAME}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
# 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.
1994-08-28 14:41:34 +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
# These variable describe how to fetch files required for building the port.
1994-08-28 14:41:34 +00:00
#
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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
1999-04-28 06:20:23 +00:00
# You never have to set both DISTFILES and EXTRACT_SUFX.
2014-03-12 10:24:51 +00:00
# Default: .tar.bz2 if USE_BZIP2 is set, .tar.xz if 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.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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.
1996-02-08 00:44:33 +00:00
# PATCHFILES - Name(s) of additional files that contain distribution
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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".
2013-10-05 10:20:15 +00:00
# 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]
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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.
1996-12-17 12:20:53 +00:00
# ALLFILES - All of ${DISTFILES} and ${PATCHFILES}.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# IGNOREFILES - If set, don't perform checksum checks on these files.
- 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})
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# EXTRACT_ONLY - If set, a subset of ${DISTFILES} you want to
# actually extract.
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
# 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.)
1994-08-21 13:12:57 +00:00
#
2002-01-23 03:48:44 +00:00
# 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
#
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# MASTER_SITE_BACKUP
# - Backup location(s) for distribution files and patch
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
# files if not found locally and ${MASTER_SITES}/${PATCH_SITES}
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# Default:
2014-05-15 17:39:03 +00:00
# http://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# MASTER_SITE_OVERRIDE
# - If set, override the MASTER_SITES setting with this
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
# value.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# MASTER_SITE_FREEBSD
# - If set, only use ${MASTER_SITE_BACKUP} for
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.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# CD_MOUNTPTS - List of CDROM mountpoints to look for distfiles under.
# This variable supercedes CD_MOUNTPT, which is
# obsolete.
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.
#
2003-02-16 21:22:15 +00:00
# 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.
2013-12-11 00:23:15 +00:00
# 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
2003-02-16 21:22:15 +00:00
# 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
2003-02-16 21:22:15 +00:00
# used sparingly.
2013-10-03 17:21:20 +00:00
# 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.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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.
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
#
2000-10-01 17:27:40 +00:00
# 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.
#
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# RESTRICTED_FILES
# - List of files that cannot be redistributed.
# Default: "${DISTFILES} ${PATCHFILES}" if RESTRICTED
# or NO_CDROM is set, empty otherwise.
2000-10-01 17:27:40 +00:00
#
* 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
#
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# IS_INTERACTIVE
# - Set this if your port needs to interact with the user
1999-04-23 02:20:45 +00:00
# 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}.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# Default: not set.
2013-10-11 12:17:59 +00:00
# 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.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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
#
2013-12-06 09:14:13 +00:00
# NO_ARCH - Set this if port is architecture neutral.
2013-12-06 08:20:16 +00:00
#
* 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.
2013-12-06 08:20:16 +00:00
# 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.)
1999-01-11 13:04:18 +00:00
#
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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.
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
# 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
2007-03-24 14:02:06 +00:00
# IA32_BINARY_PORT
# - Set this instead of ONLY_FOR_ARCHS if the given port
2006-07-18 04:12:51 +00:00
# fetches and installs compiled i386 binaries.
1999-01-11 13:04:18 +00:00
#
* 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
2012-05-23 08:17:49 +00:00
# ${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
2012-05-23 08:17:49 +00:00
# ${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
2012-05-23 08:17:49 +00:00
# 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
2012-05-23 08:17:49 +00:00
# ${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.
# make will use "ldconfig -r" to search for the library.
# lib can contain extended regular expressions.
# 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.
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
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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).
#
bsd.port.mk
[1] Remove DEPENDS
[2] Add a new pkg-plist keyword @stopdaemon
[3] Provide rc.subr script suffix as RC_SUBR_SUFFIX
[4] Add USE_CDRTOOLS to abstract dependency on sysutils/cdrtool[-cjk]
[5] Add DOS2UNIX_REGEX, allowing to pass a filename regex to CRLF replacement
routine
[6] Support partially translated manpages in MAN* variables
[7] Fix USE_LDCONFIG on ports with @cwd in pkg-plist
[8] Remove support for XFree86 3.X
[9] Add user settable WITH_DEBUG flag that turns on -g in CFLAGS and resets
STRIP
[9] Fix `make install' to refuse overwriting of older version of the port
[10] New category ports-mgmt
[11] New category gnustep
[12] Removed category picobsd
bsd.java.mk
[13] Remove deprecated syntax
bsd.tcl.mk
[14] Provide TCL_VER when USE_TK[_BUILD] is defined. Fixes cad/netgen
ports/Makefile
[15] Make csup default `make update' method on FreeBSD 6.2 and up
PR: ports/99742 [1], ports/93373 [2], ports/100915 [3],
ports/105161 [4], ports/106029 [5], ports/106252 [6],
ports/106235 [7], ports/100939 [9], ports/97507 [10],
ports/103931 [11], ports/106921 [12], ports/104136 [13],
ports/105215 [15]
Submitted by: sem [1] [2], Matthias Andree <matthias.andree@gmx.de> [3],
nork [4], pav [5] [7] [14], Nick Barkas <snb@threerings.net> [6],
flz [8], gabor [9], shaun [10], erwin [12], hq [13],
Gurkan Sengun <gurkan@linuks.mine.nu> [11]
2007-01-31 14:07:24 +00:00
# WITH_DEBUG - If set, debugging flags are added to CFLAGS and the
2010-10-13 09:04:30 +00:00
# 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.
bsd.port.mk
[1] Remove DEPENDS
[2] Add a new pkg-plist keyword @stopdaemon
[3] Provide rc.subr script suffix as RC_SUBR_SUFFIX
[4] Add USE_CDRTOOLS to abstract dependency on sysutils/cdrtool[-cjk]
[5] Add DOS2UNIX_REGEX, allowing to pass a filename regex to CRLF replacement
routine
[6] Support partially translated manpages in MAN* variables
[7] Fix USE_LDCONFIG on ports with @cwd in pkg-plist
[8] Remove support for XFree86 3.X
[9] Add user settable WITH_DEBUG flag that turns on -g in CFLAGS and resets
STRIP
[9] Fix `make install' to refuse overwriting of older version of the port
[10] New category ports-mgmt
[11] New category gnustep
[12] Removed category picobsd
bsd.java.mk
[13] Remove deprecated syntax
bsd.tcl.mk
[14] Provide TCL_VER when USE_TK[_BUILD] is defined. Fixes cad/netgen
ports/Makefile
[15] Make csup default `make update' method on FreeBSD 6.2 and up
PR: ports/99742 [1], ports/93373 [2], ports/100915 [3],
ports/105161 [4], ports/106029 [5], ports/106252 [6],
ports/106235 [7], ports/100939 [9], ports/97507 [10],
ports/103931 [11], ports/106921 [12], ports/104136 [13],
ports/105215 [15]
Submitted by: sem [1] [2], Matthias Andree <matthias.andree@gmx.de> [3],
nork [4], pav [5] [7] [14], Nick Barkas <snb@threerings.net> [6],
flz [8], gabor [9], shaun [10], erwin [12], hq [13],
Gurkan Sengun <gurkan@linuks.mine.nu> [11]
2007-01-31 14:07:24 +00:00
#
2013-11-18 19:48:21 +00:00
# WITH_DEBUG_PORTS - A list of origins for which WITH_DEBUG will be set
#
2013-09-22 00:26:05 +00:00
# WITH_SSP_PORTS
# - If set, SSP_FLAGS (defaults to -fstack-protector)
2013-09-20 12:54:54 +00:00
# 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).
#
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# USE_BZIP2 - If set, this port tarballs use bzip2, not gzip, for
(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
# compression.
2010-06-04 08:09:20 +00:00
# USE_XZ - If set, this port tarballs use xz (or lzma)
# for compression
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# USE_GCC - If set, this port requires this version of gcc, either in
1999-08-22 11:20:25 +00:00
# the system or installed from a port.
2009-06-03 21:50:50 +00:00
# USE_CSTD - Override the default C language standard (gnu89, gnu99)
2013-09-09 10:37:03 +00:00
# USE_CXXSTD Override the default C++ language standard
2010-09-15 10:54:46 +00:00
# USE_BINUTILS - Use binutils suite from port instead of the version in base.
2013-12-27 10:46:54 +00:00
# CFLAGS_${ARCH} Append the cflags to CFLAGS only on the specified architecture
# CXXFLAGS_${ARCH}
# Append the cxxflags to CXXFLAGS only on the specified architecture
2002-11-27 16:40:36 +00:00
##
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# USE_GHOSTSCRIPT
# - If set, this port needs ghostscript to both
2008-09-05 19:41:48 +00:00
# build and run. If a number is specified,
# the specified version will be used.
2011-09-04 17:35:07 +00:00
# The valid value is '7', '8', or '9' in that case.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# USE_GHOSTSCRIPT_BUILD
# - If set, this port needs ghostscript to build.
# USE_GHOSTSCRIPT_RUN
# - If set, this port needs ghostscript to run.
# GHOSTSCRIPT_PORT
# - The port that provides postscript functionality.
# Some installations may wish to override the default
# to specify a version without X11 and/or localized
# versions for their nationality.
2011-06-07 14:22:23 +00:00
# Default: print/ghostscript9
2008-09-05 19:41:48 +00:00
# WITH_GHOSTSCRIPT_VER
# - If set, the specified version of ghostscript will be
2011-06-07 14:22:23 +00:00
# used. The valid value is "7", "8", or "9". Note that
2008-09-05 19:41:48 +00:00
# this is for users, not for port maintainers. This
# should not be used in Makefile.
* 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
##
2007-05-19 20:36:56 +00:00
# USE_GL - A list of Mesa or GL related dependencies needed by the port.
2013-09-29 17:01:41 +00:00
# Supported components are: egl, glesv2, glut, glu, glw, and gl.
2007-05-19 20:36:56 +00:00
# If set to "yes", this is equivalent to "glu". Note that
2010-04-27 21:58:27 +00:00
# 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
##
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +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
##
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# USE_OPENSSL - If set, this port relies on the OpenSSL package.
##
# USE_OPENLDAP - If set, this port uses the OpenLDAP libraries.
2009-01-05 12:33:07 +00:00
# Implies: WANT_OPENLDAP_VER?=24
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# WANT_OPENLDAP_VER
2008-07-21 22:29:22 +00:00
# - Legal values are: 23, 24
2009-01-05 12:33:07 +00:00
# If set to an unknown value, the port is marked BROKEN.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# WANT_OPENLDAP_SASL
# - If set, the system should use OpenLDAP libraries
# with SASL support.
2003-08-27 04:35:39 +00:00
##
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# USE_AUTOTOOLS - If set, this port uses various GNU autotools
# (libtool, autoconf, autoheader, automake et al.)
# See bsd.autotools.mk for more details.
2004-04-19 01:37:12 +00:00
##
2007-03-24 14:02:06 +00:00
# USE_SCONS - If set, this port uses the Python-based SCons build system
* Change all bogus uses of BROKEN to IGNORE. Note: the BROKEN_WITH_*
forms are retained for compatibility but deprecated [1]
* Add sha256 to CHECKSUM_ALGORITHMS [2]
* Remove some whitespace [2]
* Add USE_SCONS and bsd.scons.mk for the Python-based SCons build system [3]
* Fix USE_LDCONFIG with non-default PREFIX [4]
* Add USE_WX and friends, and bsd.wx.mk, for common code for WxWidgets
support [5]
* Add 'make missing' to show missing dependencies [6]
* Fix DESKTOP_ENTRIES processing on 4.x [7]
PR: 92445 [1], 98206 [2], 98731 [3], 99370 [4], 89398 [5],
93601 [6], 98891 [7]
Submitted by: linimon [1], edwin [2], alex at foxybanana dot com [3],
gerald [4], flz [4], alepulver [5], alex at fafula dot com [6],
shaun [7]
2006-07-05 02:18:09 +00:00
# See bsd.scons.mk for more details.
##
2007-03-24 14:02:06 +00:00
# USE_EFL - If set, this port use EFL libraries.
# Implies inclusion of bsd.efl.mk. (Also see
# that file for more information on USE_EFL_*).
2008-06-24 14:56:06 +00:00
# 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_*).
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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_*).
2007-03-14 04:06:55 +00:00
# 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*).
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# USE_PYTHON - If set, this port relies on the Python 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.python.mk. (Also see
# that file for more information on USE_PYTHON_*
# and USE_PYDISTUTILS).
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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_*).
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# USE_GNUSTEP - If set, this port relies on the GNUstep system.
# Implies the inclusion of bsd.gnustep.mk.
# (Also see that file for more information on
# USE_GNUSTEP_*).
* 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
##
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.
##
* 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_GNOME - A list of the Gnome dependencies the port has (e.g.,
# glib12, gtk12). Implies that the port needs Gnome.
2003-04-06 22:14:38 +00:00
# Implies inclusion of bsd.gnome.mk. See bsd.gnome.mk
# or http://www.FreeBSD.org/gnome/docs/porting.html
# for more details.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
##
2013-11-23 11:39:07 +00:00
# USE_MATE - A list of the MATE dependencies the port has. Implies
# that the port needs MATE. Implies inclusion of
# bsd.mate.mk. See bsd.mate.mk for more details.
##
2006-09-15 06:57:07 +00:00
# USE_LUA - If set, this port uses the Lua library and related
# components. See bsd.lua.mk for more details.
##
# USE_WX - If set, this port uses the WxWidgets library and related
# components. See bsd.wx.mk for more details.
##
2014-03-03 16:50:32 +00:00
# USE_KDE4 - A list of the KDE 4 dependencies the port has (e.g.,
2008-08-09 16:52:28 +00:00
# kdelibs, kdebase). Implies that the port needs KDE.
# Implies inclusion of bsd.kde4.mk. See bsd.kde4.mk
# for more details.
#
2014-03-03 16:50:32 +00:00
# USE_QT4 - A list of the Qt 4 dependencies the port has (e.g,
2012-05-24 07:11:41 +00:00
# corelib, webkit). Implies that the port needs Qt.
# Implies the inclusion of bsd.qt.mk. See bsd.qt.mk
# for more details.
2008-08-09 16:52:28 +00:00
#
2014-03-03 16:50:32 +00:00
# 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.
#
* Update default MySQL version from 4.1 to 5.0 [1]
* Update default PHP version from 4 to 5 [2]
* Update default LDAP version from 2.2 to 2.3 [3]
* Add support for LDAP version 2.4 [4]
* Update default linux_base from '8' (Redhat 8) to 'fc4' (Fedora Core 4) [5]
* Switch default Linux X implementation from XFree86 to xorg to track the
above [5]
* Deprecate INSTALLS_SHLIB and replace it by USE_LDCONFIG. If set to "yes",
the old behavior is preserved. Otherwise, it can be set to a list of
directories to be added to ${PREFIX}/libdata/ldconfig/${UNIQUENAME}.
Note that this directory is used by ldconfig startup script, it is meant
to replace ldconfig scripts installed by some ports as (sometimes
000.${UNQUENAME}.sh) [6]
* Adds USE_LDCONFIG32 which is like USE_LDCONFIG but the target file is
${PREFIX}/libdata/ldconfig32/${UNIQUENAME} instead. (Note: this should
only be used on 64-bit architectures) [6]
* Set the default LANG for tr to be C to avoid some build problems [7]
* Include bsd.java.mk in both pre and post sections [8]
* Get rid of remnants of FORCE_PKG_REGISTER [9]
* Always print options with make showconfig [10]
PR: 92805 [1], 92806 [2], 96793 [3], 97515 [4], 96849 [5],
91933 [6], 91381 [7], 97020 [8], 95841 [9], 97133 [10]
Submitted by: ale [1][2], delphij [3][4], netchild [5], flz [6],
Tsurutani Naoki <turutani at scphys dot kyoto-u dot ac dot jp>
[7], hq [8], sem [9], pav [10]
2006-06-16 04:53:43 +00:00
# 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>.
2007-01-30 04:18:07 +00:00
# Implies appropriate settings for STRIP and STRIP_CMD.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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).
2010-08-20 12:15:02 +00:00
# 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.
# Implies inclusion of bsd.linux-rpm.mk.
2007-05-19 20:36:56 +00:00
#
2009-03-19 17:28:51 +00:00
# LINUX_OSRELEASE - Contains the value of compat.linux.osrelease sysctl.
# Will be used to distinguish which linux
# infrastructure ports should be used.
2013-05-30 08:55:05 +00:00
# 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
# AUTOMATIC_PLIST
# - Set to yes to enable automatic packing list generation.
# Currently has no effect unless USE_LINUX_RPM is set.
#
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +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
#
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +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.
2008-03-11 23:45:04 +00:00
##
# USE_XORG - Set to a list of X.org module dependencies.
# Implies inclusion of bsd.xorg.mk.
##
TeXLive mega commit. The following ports have been added:
* Meta port
- print/texlive-full: meta port to install all of the TeXLive components
* Libraries
- devel/tex-kpathsea: kpathsea library
- devel/tex-web2c: WEB2C toolchain and TeX engines
- print/tex-ptexenc: character code conversion library for pTeX
* Base part of the TeXLive
- print/texlive-base: binary programs in TeXLive
- print/texlive-texmf: macro and font data in TeXLive
- print/texlive-infra: tlmgr dependency (Perl modules)
* TeX Formats
- print/tex-formats: TeX, LaTeX, PDFTeX, AMSTeX, ConTeXT, CSLaTeX,
EplainTeX, METAFONT, MLTeX, PDFTeX, TeXsis
- print/tex-aleph: Aleph/Lambda
- print/tex-xetex: XeTeX
- print/tex-luatex: LuaTeX
- print/tex-jadetex: JadeTeX
- print/tex-xmltex: XMLTeX
- japanese/tex-ptex: pTeX
* DVI ware
- print/tex-xdvik: XDvi
Mk/bsd.tex.mk is added for common part and USE_TEX knob [1].
Approved by: portmgr (old version) [1]
PR: ports/171571
PR: ports/176399 [1]
2013-05-06 00:44:22 +00:00
# USE_TEX - A list of the TeX dependencies the port has.
#
##
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# USE_RC_SUBR - If set, the ports startup/shutdown script uses the common
2010-04-16 07:18:28 +00:00
# routines found in /etc/rc.subr.
* Change all bogus uses of BROKEN to IGNORE. Note: the BROKEN_WITH_*
forms are retained for compatibility but deprecated [1]
* Add sha256 to CHECKSUM_ALGORITHMS [2]
* Remove some whitespace [2]
* Add USE_SCONS and bsd.scons.mk for the Python-based SCons build system [3]
* Fix USE_LDCONFIG with non-default PREFIX [4]
* Add USE_WX and friends, and bsd.wx.mk, for common code for WxWidgets
support [5]
* Add 'make missing' to show missing dependencies [6]
* Fix DESKTOP_ENTRIES processing on 4.x [7]
PR: 92445 [1], 98206 [2], 98731 [3], 99370 [4], 89398 [5],
93601 [6], 98891 [7]
Submitted by: linimon [1], edwin [2], alex at foxybanana dot com [3],
gerald [4], flz [4], alepulver [5], alex at fafula dot com [6],
shaun [7]
2006-07-05 02:18:09 +00:00
# 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
2007-08-04 11:37:24 +00:00
# ${PREFIX}/etc/rc.d and added to the packing list.
- 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_RCORDER - List of rc.d startup scripts to be called early in the boot
* Change all bogus uses of BROKEN to IGNORE. Note: the BROKEN_WITH_*
forms are retained for compatibility but deprecated [1]
* Add sha256 to CHECKSUM_ALGORITHMS [2]
* Remove some whitespace [2]
* Add USE_SCONS and bsd.scons.mk for the Python-based SCons build system [3]
* Fix USE_LDCONFIG with non-default PREFIX [4]
* Add USE_WX and friends, and bsd.wx.mk, for common code for WxWidgets
support [5]
* Add 'make missing' to show missing dependencies [6]
* Fix DESKTOP_ENTRIES processing on 4.x [7]
PR: 92445 [1], 98206 [2], 98731 [3], 99370 [4], 89398 [5],
93601 [6], 98891 [7]
Submitted by: linimon [1], edwin [2], alex at foxybanana dot com [3],
gerald [4], flz [4], alepulver [5], alex at fafula dot com [6],
shaun [7]
2006-07-05 02:18:09 +00:00
# process. This acts exactly like USE_RC_SUBR except that
# scripts are installed in /etc/rc.d.
2010-04-16 07:18:28 +00:00
# Because local rc.d scripts are included in the base rcorder
# this option is not needed unless the port installs in the base.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
##
# USE_APACHE - If set, this port relies on an apache webserver.
1994-09-09 06:21:43 +00:00
#
2003-05-06 05:15:18 +00:00
# Conflict checking. Use if your port cannot be installed at the same time as
# another package.
#
* Improve documentation of CONFLICTS. [1]
* Fix add-plist-docs target to work correctly with wildcards. [2]
* Fix USE_MYSQL and USE_PGSQL knobs to work in partitial ports tree. [2] [3]
* Introduce 2 new variables: USE_FAM and WANT_FAM_SYSTEM. [4]
* Suppress "Vulnerability check disabled" message if
DISABLE_VULNERABILITIES is defined. [5]
* Switch default MySQL version to 4.1 [6]
* Add support for OpenLDAP v.23. [7]
* Fix add-plist-info and add-plist-post targets to avoid warnings
from ports which redefine them. [8]
* Fix add-plist-docs target to handle NOPORTDOCS knob properly. [9]
* Use INSTALLDIRS="site" in configure for perl ports. [10]
* Fix NO_(CHECKSUM|BUILD|INSTALL|PACKAGE) knobs if OPTIONS are
defined. [11]
* Add an ability to depend on versioned installed package. [12]
Example:
BUILD_DEPENDS=p5-Tree-Simple>=1.12:${PORTSDIR}/devel/p5-Tree-Simple
Please note, it's experimental feature, work is currently in
progress.
PR: ports/81922 [1], ports/77820 [2], ports/80023 [2],
ports/78597 [2], ports/79011 [3], ports/79012 [3],
ports/81168 [4], ports/78607 [5], ports/79604 [6],
ports/80653 [7], ports/80880 [8], ports/81189 [9],
ports/78144 [10], ports/69512 [11], ports/79823 [12]
Submitted by: gerald [1], clement [2], lawrance [2], Jilles
Tjoelker <jilles at stack dot nl> [3], marcus [4],
adamw [5], ale [6], Vsevolod Stakhov <vsevolod at
highsecure.dot.ru> [7], Vasil Dimov <vd at datamax dot bg> [8],
sem [10], leeym [11], tobez [12]
2005-06-09 20:39:43 +00:00
# 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_*
2003-05-06 05:15:18 +00:00
#
2010-12-01 08:32:50 +00:00
# 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.
#
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# LOCALBASE - Where non-X11 ports install things.
# Default: /usr/local
# LINUXBASE - Where Linux ports install things.
# Default: /compat/linux
# PREFIX - Where *this* port installs its files.
2009-06-09 15:33:28 +00:00
# Default: ${LINUXBASE} if USE_LINUX_PREFIX is set,
2007-08-04 11:37:24 +00:00
# otherwise ${LOCALBASE}
2006-08-04 12:34:50 +00:00
#
2007-03-24 14:02:06 +00:00
# IGNORE_PATH_CHECKS
2007-08-04 11:37:24 +00:00
# - There are some sanity checks against PREFIX.
2007-03-24 14:02:06 +00:00
# You can disable these checks with defining
2006-08-04 12:34:50 +00:00
# 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.
#
1998-11-20 04:00:38 +00:00
# MASTERDIR - Where the port finds patches, package files, etc. Define
# this is you have two or more ports that share most of the
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# going locally to each port).
# Default: ${PORTSDIR}/packages
1998-10-06 21:12:14 +00:00
# WRKDIRPREFIX - The place to root the temporary working directory
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# unpacks to.
# Default: ${WRKDIR}/${DISTNAME} unless NO_WRKSUBDIR is set,
# in which case simply ${WRKDIR}
2013-06-07 13:25:22 +00:00
# WRKSRC_SUBDIR - A subdirectory of ${WRKSRC} where the distribution actually
2013-06-07 13:28:30 +00:00
# builds in.
2013-06-07 13:25:22 +00:00
# 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_WRKSUBDIR - Assume port unpacks directly into ${WRKDIR}.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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}
2010-12-17 03:21:19 +00:00
# SRC_BASE - The root of the src tree. (Some ports require this to get
# kernel sources). Default: /usr/src
2009-09-06 21:18:50 +00:00
# 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.
1994-09-09 06:21:43 +00:00
#
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
# Variables that serve as convenient "aliases" for your *-install targets.
1996-08-15 05:55:33 +00:00
# Use these like: "${INSTALL_PROGRAM} ${WRKSRC}/prog ${PREFIX}/bin".
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
#
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# INSTALL_PROGRAM
# - A command to install binary executables. (By
# default, also strips them, unless ${STRIP} is
# overridden to be the empty string).
2008-07-21 22:29:22 +00:00
# INSTALL_KLD - As INSTALL_PROGRAM, but without the STRIP.
2010-10-13 09:04:30 +00:00
# INSTALL_LIB - As INSTALL_DATA, but also strips the file.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# INSTALL_SCRIPT
# - A command to install executable scripts.
# INSTALL_DATA - A command to install sharable data.
# INSTALL_MAN - A command to install manpages. May or not compress,
# depending on the value of MANCOMPRESSED (see below).
2014-04-05 16:08:16 +00:00
# COPYTREE_BIN
# COPYTREE_SHARE
# - Similiar to INSTALL 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} . ${DOCSDIR} "! -name *.bak"
#
# Installs all directories and files from ${WRKSRC}/doc
# to ${DOCSDIR} except sed 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
#
# Boolean to control whether manpages are installed.
#
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# NO_INSTALL_MANPAGES
# - If set, this port doesn't want to install any manpages.
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
# Default: not set, i.e. manpages are installed by default.
1996-08-15 05:55:33 +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
# Set the following to specify all manpages that your port installs.
# These manpages will be automatically listed in ${PLIST}. Depending
2009-12-29 10:25:55 +00:00
# on the setting of NO_MANCOMPRESS, the make rules will compress 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
# manpages for you.
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
#
# MAN<sect> - A list of manpages, categorized by section. For
# example, if your port has "man/man1/foo.1" and
# "man/mann/bar.n", set "MAN1=foo.1" and "MANN=bar.n".
# The available sections chars are "123456789LN".
bsd.port.mk
[1] Remove DEPENDS
[2] Add a new pkg-plist keyword @stopdaemon
[3] Provide rc.subr script suffix as RC_SUBR_SUFFIX
[4] Add USE_CDRTOOLS to abstract dependency on sysutils/cdrtool[-cjk]
[5] Add DOS2UNIX_REGEX, allowing to pass a filename regex to CRLF replacement
routine
[6] Support partially translated manpages in MAN* variables
[7] Fix USE_LDCONFIG on ports with @cwd in pkg-plist
[8] Remove support for XFree86 3.X
[9] Add user settable WITH_DEBUG flag that turns on -g in CFLAGS and resets
STRIP
[9] Fix `make install' to refuse overwriting of older version of the port
[10] New category ports-mgmt
[11] New category gnustep
[12] Removed category picobsd
bsd.java.mk
[13] Remove deprecated syntax
bsd.tcl.mk
[14] Provide TCL_VER when USE_TK[_BUILD] is defined. Fixes cad/netgen
ports/Makefile
[15] Make csup default `make update' method on FreeBSD 6.2 and up
PR: ports/99742 [1], ports/93373 [2], ports/100915 [3],
ports/105161 [4], ports/106029 [5], ports/106252 [6],
ports/106235 [7], ports/100939 [9], ports/97507 [10],
ports/103931 [11], ports/106921 [12], ports/104136 [13],
ports/105215 [15]
Submitted by: sem [1] [2], Matthias Andree <matthias.andree@gmx.de> [3],
nork [4], pav [5] [7] [14], Nick Barkas <snb@threerings.net> [6],
flz [8], gabor [9], shaun [10], erwin [12], hq [13],
Gurkan Sengun <gurkan@linuks.mine.nu> [11]
2007-01-31 14:07:24 +00:00
# MAN<sect>_<lang>
2007-08-04 19:48:34 +00:00
# - If your port does not install all man pages for all
# languages in MANLANG, language specific pages for
bsd.port.mk
[1] Remove DEPENDS
[2] Add a new pkg-plist keyword @stopdaemon
[3] Provide rc.subr script suffix as RC_SUBR_SUFFIX
[4] Add USE_CDRTOOLS to abstract dependency on sysutils/cdrtool[-cjk]
[5] Add DOS2UNIX_REGEX, allowing to pass a filename regex to CRLF replacement
routine
[6] Support partially translated manpages in MAN* variables
[7] Fix USE_LDCONFIG on ports with @cwd in pkg-plist
[8] Remove support for XFree86 3.X
[9] Add user settable WITH_DEBUG flag that turns on -g in CFLAGS and resets
STRIP
[9] Fix `make install' to refuse overwriting of older version of the port
[10] New category ports-mgmt
[11] New category gnustep
[12] Removed category picobsd
bsd.java.mk
[13] Remove deprecated syntax
bsd.tcl.mk
[14] Provide TCL_VER when USE_TK[_BUILD] is defined. Fixes cad/netgen
ports/Makefile
[15] Make csup default `make update' method on FreeBSD 6.2 and up
PR: ports/99742 [1], ports/93373 [2], ports/100915 [3],
ports/105161 [4], ports/106029 [5], ports/106252 [6],
ports/106235 [7], ports/100939 [9], ports/97507 [10],
ports/103931 [11], ports/106921 [12], ports/104136 [13],
ports/105215 [15]
Submitted by: sem [1] [2], Matthias Andree <matthias.andree@gmx.de> [3],
nork [4], pav [5] [7] [14], Nick Barkas <snb@threerings.net> [6],
flz [8], gabor [9], shaun [10], erwin [12], hq [13],
Gurkan Sengun <gurkan@linuks.mine.nu> [11]
2007-01-31 14:07:24 +00:00
# a language can be specified with this. For example,
# if the port installs foo.1 in English, Japanese, and
2007-08-04 19:48:34 +00:00
# German, bar.1 in English only, and baz.3 in German
bsd.port.mk
[1] Remove DEPENDS
[2] Add a new pkg-plist keyword @stopdaemon
[3] Provide rc.subr script suffix as RC_SUBR_SUFFIX
[4] Add USE_CDRTOOLS to abstract dependency on sysutils/cdrtool[-cjk]
[5] Add DOS2UNIX_REGEX, allowing to pass a filename regex to CRLF replacement
routine
[6] Support partially translated manpages in MAN* variables
[7] Fix USE_LDCONFIG on ports with @cwd in pkg-plist
[8] Remove support for XFree86 3.X
[9] Add user settable WITH_DEBUG flag that turns on -g in CFLAGS and resets
STRIP
[9] Fix `make install' to refuse overwriting of older version of the port
[10] New category ports-mgmt
[11] New category gnustep
[12] Removed category picobsd
bsd.java.mk
[13] Remove deprecated syntax
bsd.tcl.mk
[14] Provide TCL_VER when USE_TK[_BUILD] is defined. Fixes cad/netgen
ports/Makefile
[15] Make csup default `make update' method on FreeBSD 6.2 and up
PR: ports/99742 [1], ports/93373 [2], ports/100915 [3],
ports/105161 [4], ports/106029 [5], ports/106252 [6],
ports/106235 [7], ports/100939 [9], ports/97507 [10],
ports/103931 [11], ports/106921 [12], ports/104136 [13],
ports/105215 [15]
Submitted by: sem [1] [2], Matthias Andree <matthias.andree@gmx.de> [3],
nork [4], pav [5] [7] [14], Nick Barkas <snb@threerings.net> [6],
flz [8], gabor [9], shaun [10], erwin [12], hq [13],
Gurkan Sengun <gurkan@linuks.mine.nu> [11]
2007-01-31 14:07:24 +00:00
# only, set
# MANLANG= "" de ja
# MAN1= foo.1
# MAN1_EN= bar.1
# MAN3_DE= baz.3
2002-01-23 03:48:44 +00:00
# MLINKS - A list of <source, target> tuples for creating links
1998-09-10 06:38:02 +00:00
# for manpages. For example, "MLINKS= a.1 b.1 c.3 d.3"
2002-11-03 05:43:49 +00:00
# will do an "ln -sf a.1 b.1" and "ln -sf c.3 d.3" in
1998-09-10 06:38:02 +00:00
# appropriate directories. (Use this even if the port
# installs its own manpage links so they will show up
# correctly in ${PLIST}.)
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# MANPREFIX - The directory prefix for ${MAN<sect>} and ${MLINKS}.
2007-08-04 11:37:24 +00:00
# Default: ${PREFIX}
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# MAN<sect>PREFIX
# - If manual pages of some sections install in different
# locations than others, use these.
# Default: ${MANPREFIX}
# MANCOMPRESSED - This variable can take values "yes", "no" or
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
# "maybe". "yes" means manpages are installed
# compressed; "no" means they are not; "maybe" means
2009-12-29 10:25:55 +00:00
# it changes depending on the value of NO_MANCOMPRESS.
2013-06-29 09:01:57 +00:00
# Default: "yes" if USES=imake is set and NO_INSTALL_MANPAGES
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# is not set, and "no" otherwise.
1996-11-01 07:22:37 +00:00
#
* Remove some obsolete options: BROKEN_ELF, USE_DGS, NO_WRKDIR,
NO_EXTRACT, NO_CONFIGURE, NO_PATCH. [1]
* Remove support for USE_KDE{BASE,LIBS}_VER=2, since KDE 2.x is no
longer in the ports collection [2]
* Add support for semi-automatic processing of GNU info files; they
should be listed in the INFO variable (without the trailing .info),
and appropriate installation/deinstallation code will be automatically
added to the temporary pkg-plist before package registration. [3]
Submitted by: arved [1][2], gerald [3]
PR: ports/54782 [1][2], ports/54883 [3]
2003-08-04 01:17:39 +00:00
# Set the following to specify all .info files your port installs.
#
# INFO - A list of .info files (omitting the trailing ".info");
2007-07-23 09:36:51 +00:00
# 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
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# port, relative to ${PREFIX}
# Default: "share/info" if ${PREFIX} is equal to /usr
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
# and "info" otherwise.
* Remove some obsolete options: BROKEN_ELF, USE_DGS, NO_WRKDIR,
NO_EXTRACT, NO_CONFIGURE, NO_PATCH. [1]
* Remove support for USE_KDE{BASE,LIBS}_VER=2, since KDE 2.x is no
longer in the ports collection [2]
* Add support for semi-automatic processing of GNU info files; they
should be listed in the INFO variable (without the trailing .info),
and appropriate installation/deinstallation code will be automatically
added to the temporary pkg-plist before package registration. [3]
Submitted by: arved [1][2], gerald [3]
PR: ports/54782 [1][2], ports/54883 [3]
2003-08-04 01:17:39 +00:00
#
2004-02-04 04:27:04 +00:00
# Set the following to specify all documentation your port installs into
2003-11-08 03:22:08 +00:00
# ${DOCSDIR}
#
# PORTDOCS - A list of files and directories relative to DOCSDIR.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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
2010-08-20 12:15:02 +00:00
# installed.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# Useful for dynamically generated documentation.
2003-11-08 03:22:08 +00:00
#
* Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]
* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]
* Update the description of fetch-list; add targets fetch-required-list,
fetch-url-list, and fetch-urlall-list. [4]
* Make 'make search' also search in ports/MOVED. [5]
* Move several Makevar definitions to the pre-makefile section:
DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]
* The target 'ignorelist-verbose' was added for portsmon. [7]
PR: 69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]
Submitted by: Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
jylefort [3], edwin [4], Lars Engels <lars dot engels
at 0x20 dot net> [5], Alexander Logvinov <ports at
logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +00:00
# 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
2010-08-20 12:15:02 +00:00
# installed.
* Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]
* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]
* Update the description of fetch-list; add targets fetch-required-list,
fetch-url-list, and fetch-urlall-list. [4]
* Make 'make search' also search in ports/MOVED. [5]
* Move several Makevar definitions to the pre-makefile section:
DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]
* The target 'ignorelist-verbose' was added for portsmon. [7]
PR: 69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]
Submitted by: Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
jylefort [3], edwin [4], Lars Engels <lars dot engels
at 0x20 dot net> [5], Alexander Logvinov <ports at
logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +00:00
# Useful for dynamically generated examples.
#
2012-05-23 08:17:49 +00:00
# Set the following to specify all files and directories your port installs into
* Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]
* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]
* Update the description of fetch-list; add targets fetch-required-list,
fetch-url-list, and fetch-urlall-list. [4]
* Make 'make search' also search in ports/MOVED. [5]
* Move several Makevar definitions to the pre-makefile section:
DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]
* The target 'ignorelist-verbose' was added for portsmon. [7]
PR: 69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]
Submitted by: Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
jylefort [3], edwin [4], Lars Engels <lars dot engels
at 0x20 dot net> [5], Alexander Logvinov <ports at
logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +00:00
# ${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
2010-08-20 12:15:02 +00:00
# installed.
* Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]
* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]
* Update the description of fetch-list; add targets fetch-required-list,
fetch-url-list, and fetch-urlall-list. [4]
* Make 'make search' also search in ports/MOVED. [5]
* Move several Makevar definitions to the pre-makefile section:
DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]
* The target 'ignorelist-verbose' was added for portsmon. [7]
PR: 69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]
Submitted by: Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
jylefort [3], edwin [4], Lars Engels <lars dot engels
at 0x20 dot net> [5], Alexander Logvinov <ports at
logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +00:00
# Useful for dynamically generated data files.
#
1994-08-21 13:12:57 +00:00
# Default targets and their behaviors:
#
2009-09-21 19:13:51 +00:00
# fetch - Retrieves missing ${DISTFILES} and ${PATCHFILES} for this
* Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]
* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]
* Update the description of fetch-list; add targets fetch-required-list,
fetch-url-list, and fetch-urlall-list. [4]
* Make 'make search' also search in ports/MOVED. [5]
* Move several Makevar definitions to the pre-makefile section:
DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]
* The target 'ignorelist-verbose' was added for portsmon. [7]
PR: 69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]
Submitted by: Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
jylefort [3], edwin [4], Lars Engels <lars dot engels
at 0x20 dot net> [5], Alexander Logvinov <ports at
logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +00:00
# port.
2009-09-21 19:13:51 +00:00
# fetch-list - Show list of commands to retrieve missing ${DISTFILES} and
* Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]
* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]
* Update the description of fetch-list; add targets fetch-required-list,
fetch-url-list, and fetch-urlall-list. [4]
* Make 'make search' also search in ports/MOVED. [5]
* Move several Makevar definitions to the pre-makefile section:
DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]
* The target 'ignorelist-verbose' was added for portsmon. [7]
PR: 69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]
Submitted by: Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
jylefort [3], edwin [4], Lars Engels <lars dot engels
at 0x20 dot net> [5], Alexander Logvinov <ports at
logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +00:00
# ${PATCHFILES} for this port.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# fetch-recursive
* Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]
* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]
* Update the description of fetch-list; add targets fetch-required-list,
fetch-url-list, and fetch-urlall-list. [4]
* Make 'make search' also search in ports/MOVED. [5]
* Move several Makevar definitions to the pre-makefile section:
DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]
* The target 'ignorelist-verbose' was added for portsmon. [7]
PR: 69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]
Submitted by: Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
jylefort [3], edwin [4], Lars Engels <lars dot engels
at 0x20 dot net> [5], Alexander Logvinov <ports at
logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +00:00
# - Retrieves missing ${DISTFILES} and ${PATCHFILES} for this
# port and dependencies.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# fetch-recursive-list
* Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]
* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]
* Update the description of fetch-list; add targets fetch-required-list,
fetch-url-list, and fetch-urlall-list. [4]
* Make 'make search' also search in ports/MOVED. [5]
* Move several Makevar definitions to the pre-makefile section:
DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]
* The target 'ignorelist-verbose' was added for portsmon. [7]
PR: 69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]
Submitted by: Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
jylefort [3], edwin [4], Lars Engels <lars dot engels
at 0x20 dot net> [5], Alexander Logvinov <ports at
logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +00:00
# - Show list of commands to retrieve missing ${DISTFILES} and
# ${PATCHFILES} for this port and dependencies.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# fetch-required
* Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]
* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]
* Update the description of fetch-list; add targets fetch-required-list,
fetch-url-list, and fetch-urlall-list. [4]
* Make 'make search' also search in ports/MOVED. [5]
* Move several Makevar definitions to the pre-makefile section:
DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]
* The target 'ignorelist-verbose' was added for portsmon. [7]
PR: 69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]
Submitted by: Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
jylefort [3], edwin [4], Lars Engels <lars dot engels
at 0x20 dot net> [5], Alexander Logvinov <ports at
logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +00:00
# - 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.
#
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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
2007-06-16 19:07:42 +00:00
# - 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.
2007-10-03 22:24:59 +00:00
# actual-package-depends
2007-06-16 19:07:42 +00:00
# - 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.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# run-depends-list
# - Show all directories which are run-dependencies
# for this port.
2003-11-07 08:51:46 +00:00
#
1994-09-10 22:26:47 +00:00
# extract - Unpacks ${DISTFILES} into ${WRKDIR}.
1994-11-17 00:18:28 +00:00
# patch - Apply any provided patches to the source.
Add support for "distributed" patches and a little extra cleanup.
New variables:
PATCH_SITES: patch equivalent of MASTER_SITES, overridable with
. MASTER_SITE_OVERRIDE.
PATCHFILES: Additional files to fetch and give to patch before
. applying the ones in patches/patch-*. If name ends
. with ".gz" or ".Z", it will be piped through zcat first.
Plus PATCH_DIST_STRIP and PATCH_DIST_ARGS that serve the same functions
as PATCH_STRIP and PATCH_ARGS for patches in patches/patch-*.
In the documentation and echo messages, I used the term "distributed
patches" and "FreeBSD patches" to refer to ${PATCHFILES} and patches/patch-*.
If you can come up with better names, by all means go ahead and fix them.
"grep PATCH /usr/ports/*/*/Makefile" reveals seven ports (mule, jless,
jtcl, jtk, dgd, less, color_xterm, gee I wonder why I'm the one who
implemented this) that can benefit from this. I'm now diving headlong
into /usr/ports to fix their Makefiles.
1995-03-28 01:14:29 +00:00
# configure - Runs either GNU configure, one or more local configure
# scripts or nothing, depending on what's available.
1994-09-10 22:26:47 +00:00
# build - Actually compile the sources.
# install - Install the results of a build.
1994-11-03 19:14:08 +00:00
# reinstall - Install the results of a build, ignoring "already installed"
# flag.
1998-01-02 10:37:14 +00:00
# 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.
1995-01-23 18:22:36 +00:00
# package - Create a package from an _installed_ port.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# package-recursive
2010-08-20 12:15:02 +00:00
# - 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.
1995-06-24 10:27:23 +00:00
# checkpatch - Do a "patch -C" instead of a "patch". Note that it may
# give incorrect results if multiple patches deal with
# the same file.
2000-11-03 10:26:32 +00:00
# checksum - Use distinfo to ensure that your distfiles are valid.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# checksum-recursive
# - Run checksum in this port and all dependencies.
2000-10-17 10:11:16 +00:00
# makesum - Generate distinfo (only do this for your own ports!).
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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
2010-08-20 12:15:02 +00:00
# - Configure options for this port for a port and all its
2009-09-21 19:13:51 +00:00
# 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.
2009-01-11 11:04:05 +00:00
# showconfig-recursive
2010-08-20 12:15:02 +00:00
# - 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
2010-08-20 12:15:02 +00:00
# - Remove the options config for this port and all its
# dependencies.
2004-01-20 09:14:10 +00:00
#
# Default sequence for "all" is:
1994-09-09 06:21:43 +00:00
#
2007-03-24 14:02:06 +00:00
# check-sanity fetch checksum extract patch configure build
1995-04-20 18:03:02 +00:00
#
* 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
1995-04-20 18:03:02 +00:00
# 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.
#
# 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.
2001-07-25 18:10:16 +00:00
# Note that there are no NO_PATCH or NO_CONFIGURE variables because
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.
#
# Here are some variables used in various stages.
#
2012-07-16 11:38:36 +00:00
# For options see bsd.options.mk
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:
#
2007-03-14 04:06:55 +00:00
# FETCH_BINARY - Path to ftp/http fetch command if not in $PATH.
# Default: "/usr/bin/fetch"
# FETCH_ARGS - Arguments to ftp/http fetch command.
2014-01-03 00:02:08 +00:00
# Default: "-Fpr"
2007-03-14 04:06:55 +00:00
# FETCH_CMD - ftp/http fetch command.
# Default: ${FETCH_BINARY} ${FETCH_ARGS}
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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
2013-12-06 08:20:16 +00:00
# CLEAN_FETCH_ENV
2012-08-30 15:31:25 +00:00
# - 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:
#
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# EXTRACT_CMD - Command for extracting archive: "bzip2" if USE_BZIP2
2014-03-11 07:02:30 +00:00
# is set, "gzip" otherwise.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# EXTRACT_BEFORE_ARGS
# - Arguments to ${EXTRACT_CMD} before filename.
# Default: "-dc"
# EXTRACT_AFTER_ARGS
# - Arguments to ${EXTRACT_CMD} following filename.
# default: "| tar -xf -"
# EXTRACT_PRESERVE_OWNERSHIP
# - Normally, when run as "root", the extract stage will
1999-08-22 11:20:25 +00:00
# change the owner and group of all files under ${WRKDIR}
# to 0:0. Set this variable if you want to turn off this
# feature.
1999-11-11 02:36:15 +00:00
# For patch:
#
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# EXTRA_PATCHES - Define this variable if you have patches not in
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}.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# PATCH_WRKSRC - Directory to apply patches in.
# Default: ${WRKSRC}
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:
#
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# CONFIGURE_WRKSRC
# - Directory to run configure in.
# Default: ${WRKSRC}
# CONFIGURE_SCRIPT
# - Name of configure script, relative to ${CONFIGURE_WRKSRC}.
2013-11-20 12:30:29 +00:00
# Default: "Makefile.PL" if USES=perl5 and USE_PERL5=configure
# are set, "configure" otherwise.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# CONFIGURE_TARGET
# - The name of target to call when GNU_CONFIGURE is
# defined.
* 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
# Default: ${ARCH}-portbld-freebsd${OSREL}
2009-09-17 12:24:09 +00:00
# GNU_CONFIGURE_PREFIX
# - The directory passed as prefix to the configure script if
# GNU_CONFIGURE is set.
# Default: ${PREFIX}
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# CONFIGURE_ARGS
# - Pass these args to configure if ${HAS_CONFIGURE} is set.
2009-09-17 12:24:09 +00:00
# Default: "--prefix=${GNU_CONFIGURE_PREFIX} --infodir=${PREFIX}/${INFO_PATH}
2008-08-21 06:18:49 +00:00
# --mandir=${MANPREFIX}/man --build=${CONFIGURE_TARGET}" if
2011-08-12 16:39:23 +00:00
# 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
2013-11-20 12:30:29 +00:00
# INSTALLARCHLIB=${PREFIX}/lib" if USES=perl5 and
# USE_PERL5=configure are set, empty otherwise.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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.
2011-11-09 08:53:12 +00:00
#
# 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:
#
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# and install stages.
# Default: see below
# MAKE_ARGS - Any extra arguments to sub-make in build and install stages.
# Default: none
2009-03-22 10:28:53 +00:00
##
# 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.
2013-07-16 12:04:09 +00:00
# MAKE_JOBS_NUMBER_LIMIT
# - Set a limit for maximum number of make jobs allowed to be
# used.
2012-08-30 15:31:25 +00:00
## cacche
#
# WITH_CCACHE_BUILD
# - Enable CCACHE support (devel/ccache). User settable.
2013-04-23 00:26:55 +00:00
# CCACHE_DIR
# - Which directory to use for ccache (default: $HOME/.ccache)
2012-08-30 15:31:25 +00:00
# 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 install:
#
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# MTREE_FILE - The name of the mtree file.
2007-05-19 20:36:56 +00:00
# Default: ${PORTSDIR}/Templates/BSD.local.dist or
# /etc/mtree/BSD.usr.dist if ${PREFIX} == "/usr".
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# PLIST_DIRS - Directories to be added to packing list
2010-10-13 09:04:30 +00:00
# PLIST_DIRSTRY - Directories to be added to packing list and try to remove them.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# PLIST_FILES - Files and symbolic links to be added to packing list
2004-01-20 09:14:10 +00:00
#
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +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.)
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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}
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# Default: see below
#
# SUB_FILES - Files that should be passed through sed 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}
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
# Some pairs are added by default: eg. PREFIX=${PREFIX}
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
#
2010-08-20 12:15:02 +00:00
# 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
2007-03-14 04:06:55 +00:00
# ${PREFIX}/libdata/ldconfig/${UNIQUENAME} 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.
2008-03-11 23:45:04 +00:00
# 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.
* Update default MySQL version from 4.1 to 5.0 [1]
* Update default PHP version from 4 to 5 [2]
* Update default LDAP version from 2.2 to 2.3 [3]
* Add support for LDAP version 2.4 [4]
* Update default linux_base from '8' (Redhat 8) to 'fc4' (Fedora Core 4) [5]
* Switch default Linux X implementation from XFree86 to xorg to track the
above [5]
* Deprecate INSTALLS_SHLIB and replace it by USE_LDCONFIG. If set to "yes",
the old behavior is preserved. Otherwise, it can be set to a list of
directories to be added to ${PREFIX}/libdata/ldconfig/${UNIQUENAME}.
Note that this directory is used by ldconfig startup script, it is meant
to replace ldconfig scripts installed by some ports as (sometimes
000.${UNQUENAME}.sh) [6]
* Adds USE_LDCONFIG32 which is like USE_LDCONFIG but the target file is
${PREFIX}/libdata/ldconfig32/${UNIQUENAME} instead. (Note: this should
only be used on 64-bit architectures) [6]
* Set the default LANG for tr to be C to avoid some build problems [7]
* Include bsd.java.mk in both pre and post sections [8]
* Get rid of remnants of FORCE_PKG_REGISTER [9]
* Always print options with make showconfig [10]
PR: 92805 [1], 92806 [2], 96793 [3], 97515 [4], 96849 [5],
91933 [6], 91381 [7], 97020 [8], 95841 [9], 97133 [10]
Submitted by: ale [1][2], delphij [3][4], netchild [5], flz [6],
Tsurutani Naoki <turutani at scphys dot kyoto-u dot ac dot jp>
[7], hq [8], sem [9], pav [10]
2006-06-16 04:53:43 +00:00
# USE_LDCONFIG32
# - Same as USE_LDCONFIG but the target file is
# ${PREFIX}/libdata/ldconfig32/${UNIQUENAME} instead.
# Note: that should only be used on 64-bit architectures.
2007-03-14 04:06:55 +00:00
# NO_LDCONFIG_MTREE
# - Denotes whether the libdata/ldconfig directory is part of
# the mtree on a given OSVERSION system. If it is not, we
# create the directory, pull in the ldconfig_compat port,
# and clean up on de-installation. NOTE: this variable is
# internal to bsd.port.mk and must not be set in your Makefile.
* Update default MySQL version from 4.1 to 5.0 [1]
* Update default PHP version from 4 to 5 [2]
* Update default LDAP version from 2.2 to 2.3 [3]
* Add support for LDAP version 2.4 [4]
* Update default linux_base from '8' (Redhat 8) to 'fc4' (Fedora Core 4) [5]
* Switch default Linux X implementation from XFree86 to xorg to track the
above [5]
* Deprecate INSTALLS_SHLIB and replace it by USE_LDCONFIG. If set to "yes",
the old behavior is preserved. Otherwise, it can be set to a list of
directories to be added to ${PREFIX}/libdata/ldconfig/${UNIQUENAME}.
Note that this directory is used by ldconfig startup script, it is meant
to replace ldconfig scripts installed by some ports as (sometimes
000.${UNQUENAME}.sh) [6]
* Adds USE_LDCONFIG32 which is like USE_LDCONFIG but the target file is
${PREFIX}/libdata/ldconfig32/${UNIQUENAME} instead. (Note: this should
only be used on 64-bit architectures) [6]
* Set the default LANG for tr to be C to avoid some build problems [7]
* Include bsd.java.mk in both pre and post sections [8]
* Get rid of remnants of FORCE_PKG_REGISTER [9]
* Always print options with make showconfig [10]
PR: 92805 [1], 92806 [2], 96793 [3], 97515 [4], 96849 [5],
91933 [6], 91381 [7], 97020 [8], 95841 [9], 97133 [10]
Submitted by: ale [1][2], delphij [3][4], netchild [5], flz [6],
Tsurutani Naoki <turutani at scphys dot kyoto-u dot ac dot jp>
[7], hq [8], sem [9], pav [10]
2006-06-16 04:53:43 +00:00
#
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# DOCSDIR - Name of the directory to install the packages docs in.
2007-08-04 11:37:24 +00:00
# Default: ${PREFIX}/share/doc/${PORTNAME}
# DOCSDIR_REL - The DOCSDIR relative to ${PREFIX}
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# EXAMPLESDIR - Name of the directory to install the packages examples in.
2007-08-04 11:37:24 +00:00
# Default: ${PREFIX}/share/examples/${PORTNAME}
2007-03-24 14:02:06 +00:00
# EXAMPLESDIR_REL
2007-08-04 11:37:24 +00:00
# - The EXAMPLESDIR relative to ${PREFIX}
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# DATADIR - Name of the directory to install the packages shared data in.
2007-08-04 11:37:24 +00:00
# Default: ${PREFIX}/share/${PORTNAME}
# DATADIR_REL - The DATADIR relative to ${PREFIX}
2007-03-24 14:02:06 +00:00
#
# WWWDIR - Name of the directory to install the packages www data in.
2007-08-04 11:37:24 +00:00
# Default: ${PREFIX}/www/${PORTNAME}
# WWWDIR_REL - The WWWDIR relative to ${PREFIX}
2004-02-04 04:27:04 +00:00
#
2009-09-21 19:13:51 +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}.
2009-09-06 21:18:50 +00:00
#
* 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.
2007-08-04 11:37:24 +00:00
# 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:
2013-01-23 14:32:20 +00:00
# * 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.
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
# * 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.
2013-01-23 14:32:20 +00:00
# * 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" \
2013-01-23 14:32:20 +00:00
# "${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
#
# For package:
#
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# NO_LATEST_LINK
# - Do not install the "Latest" link for package. Define this
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 this port is a beta version of another stable port
# which is also in the tree.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# LATEST_LINK - Install the "Latest" link for the package as ___. Define
# this if the "Latest" link name will be incorrectly determined.
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
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# ${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
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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.
2004-01-20 09:14:10 +00:00
# PKG_DBDIR - Where package installation is recorded; this directory
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# must not contain anything else.
2007-08-04 11:37:24 +00:00
# Default: /var/db/pkg
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# PORT_DBDIR - Where port configuration options are recorded.
2007-08-04 11:37:24 +00:00
# Default: /var/db/ports
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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.
* 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
2007-08-04 19:48:34 +00:00
# in distinfo doesn't make it fail.
2012-01-12 22:20:32 +00:00
# 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.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# USE_PACKAGE_DEPENDS
2013-08-31 13:56:08 +00:00
# - 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.
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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
#
# 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.
#
1994-08-21 13:12:57 +00:00
2007-08-08 03:46:04 +00:00
# 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 }
2010-12-17 03:21:19 +00:00
SRC_BASE ?= /usr/src
2013-03-06 14:28:57 +00:00
USESDIR ?= ${ PORTSDIR } /Mk/Uses
2013-10-09 15:11:32 +00:00
SCRIPTSDIR ?= ${ PORTSDIR } /Mk/Scripts
2013-07-05 14:10:55 +00:00
LIB_DIRS ?= /lib /usr/lib ${ LOCALBASE } /lib
2014-01-04 00:02:08 +00:00
NOTPHONY ?=
2014-04-12 22:35:09 +00:00
PKG_ENV += PORTSDIR = ${ PORTSDIR }
2007-08-08 03:46:04 +00:00
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
. i f d e f i n e d ( F O R C E _ S T A G E )
. u n d e f N O _ S T A G E
. e n d i f
2013-12-06 08:20:16 +00:00
# make sure bmake treats -V as expected
2013-05-02 14:07:31 +00:00
.MAKE.EXPAND_VARIABLES = yes
2007-08-04 11:37:24 +00:00
. i n c l u d e "${PORTSDIR}/Mk/bsd.commands.mk"
2014-04-02 16:13:44 +00:00
. i f d e f i n e d ( X _ B U I L D _ F O R )
2014-04-03 13:37:41 +00:00
. i f d e f i n e d ( N O _ S T A G E )
IGNORE = Cross building is only compatible with stagified ports
. e n d i f
2014-04-04 08:53:00 +00:00
. i f ! d e f i n e d ( . P A R S E D I R )
2014-04-04 08:14:24 +00:00
IGNORE = Cross building can only be done when using bmake( 1) as make( 1)
. e n d i f
2014-04-02 16:13:44 +00:00
BUILD_DEPENDS = ${ X_BUILD_FOR } -cc:${ PORTSDIR } /devel/${ X_BUILD_FOR } -xdev
# Do not define CPP on purpose
2014-04-03 16:29:01 +00:00
. i f ! d e f i n e d ( H C C )
HCC := ${ CC }
HCXX := ${ CXX }
. e n d i f
2014-04-10 14:44:52 +00:00
. i f ! e x i s t s ( / u s r / $ { X _ B U I L D _ F O R } / u s r / b i n / c c )
2014-04-03 16:29:01 +00:00
CC = ${ LOCALBASE } /${ X_BUILD_FOR } /usr/bin/cc
CXX = ${ LOCALBASE } /${ X_BUILD_FOR } /usr/bin/c++
2014-04-10 14:44:52 +00:00
PKG_ENV += ABI_FILE = ${ LOCALBASE } /${ X_BUILD_FOR } /usr/lib/crt1.o
. e l s e
CC = /usr/${ X_BUILD_FOR } /usr/bin/cc
CXX = /usr/${ X_BUILD_FOR } /usr/bin/c++
PKG_ENV += ABI_FILE = /usr/${ X_BUILD_FOR } /usr/lib/crt1.o
. e n d i f
2014-04-02 16:13:44 +00:00
NM = ${ X_BUILD_FOR } -nm
STRIP_CMD = ${ X_BUILD_FOR } -strip
2014-04-03 16:29:01 +00:00
MAKE_ENV += NM = ${ NM } STRIPBIN = ${ X_BUILD_FOR } -strip
2014-04-04 08:14:24 +00:00
# only bmake support the below
STRIPBIN = ${ STRIP_CMD }
. e x p o r t . e n v S T R I P B I N
2014-04-02 16:13:44 +00:00
. e n d i f
2007-08-04 11:37:24 +00:00
#
# DESTDIR section to start a chrooted process if invoked with DESTDIR set
#
. i f d e f i n e d ( D E S T D I R ) & & ! e m p t y ( D E S T D I R ) & & ! d e f i n e d ( C H R O O T E D ) & & \
!defined( BEFOREPORTMK) && !defined( INOPTIONSMK)
. i n c l u d e "${PORTSDIR}/Mk/bsd.destdir.mk"
. e l s e
2008-07-21 22:29:22 +00:00
# Look for ${PATCH_WRKSRC}/.../*.orig files, and (re-)create
* 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
# ${FILEDIR}/patch-* files from them.
. i f ! t a r g e t ( m a k e p a t c h )
makepatch :
2011-06-06 05:53:51 +00:00
@${ MKDIR } ${ FILESDIR }
2008-07-21 22:29:22 +00:00
@( cd ${ PATCH_WRKSRC } ; \
* 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
for i in ` find . -type f -name '*.orig' ` ; do \
ORG = $$ i; \
NEW = $$ { i%.orig} ; \
2014-04-18 17:31:12 +00:00
cmp -s $$ { ORG} $$ { NEW} && continue ; \
* 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
OUT = ${ FILESDIR } ` ${ ECHO } $$ { NEW} | \
${ SED } -e 's|/|__|g' \
-e 's|^\.__|/patch-|' ` ; \
${ ECHO } ${ DIFF } -ud $$ { ORG} $$ { NEW} '>' $$ { OUT} ; \
${ DIFF } -ud $$ { ORG} $$ { NEW} > $$ { OUT} || ${ TRUE } ; \
done \
)
. e n d i f
2006-09-30 19:25:46 +00:00
# Start of options section
. i f d e f i n e d ( I N O P T I O N S M K ) | | ( ! d e f i n e d ( U S E O P T I O N S M K ) & & ! d e f i n e d ( A F T E R P O R T M K ) )
2000-01-17 12:43:10 +00:00
2004-08-03 19:03:58 +00:00
* Fix INDEX build if MAINTAINER is not defined. [1]
* Remove USE_QT2 since it's obsolete now. [2]
* Clarify comments about ARCH. [3]
* Speedup 'make readmes'. Add a perl script "Tools/make_readmes"
and modify bsd.port.subdir.mk to avoid recursing into individual
port directories to create README.html. [4]
* Fix 'make search' to allow case insensitive search on 5-x/6-x. [5]
* Add the possibility to search the ports by category. [6]
* Remove tk42 and tcl76 from virtual categories since they're
obsolete. [7]
* Introduce new variable - DISTVERSION, vendor version of the
distribution, that can be set instead of PORTVERSION and is
automatically converted in a conforming PORTVERSION. [8]
* Use --suffix instead of -b option for patch(1) to make it
compatible with BSD patch(1) [9]
* Fix {WANT,WITH}_MYSQL_VER behavior, to deal with conflicting
versions. [10]
PR: ports/68895 [1], ports/69486 [2], ports/68539 [3],
ports/70018 [4], ports/68896 [5], ports/73299 [6],
ports/73570 [7], ports/67171 [8], ports/72182 [9]
Submitted by: linimon [1][3], arved [2][7], cperciva [4],
Matthew Seaman <m.seaman@infracaninophile.co.uk> [5],
Radek Kozlowski <radek@raadradd.com> [6],
eik [8], Andreas Hauser <andy-freebsd@splashground.de> [9],
clement [10]
2004-11-19 13:45:07 +00:00
# Get the default maintainer
MAINTAINER ?= ports@FreeBSD.org
1997-07-10 02:29:51 +00:00
# Get the architecture
1998-12-12 07:39:30 +00:00
. i f ! d e f i n e d ( A R C H )
* pkg-comment removal, take 2: introduce the COMMENTFILE variable
with the same semantics as the current COMMENT variable (location
of the pkg-comment file), and reclaim COMMENT for the comment string
itself. To work around the problems with metacharacters in comment
strings, comments are written to a temporary comment file as needed. [1]
* Support regexps in LIB_DEPENDS [2]
* Move the CD_MOUNTPTS variable to <bsd.port.pre.mk> [3]
* Improve 'make readmes' target [4]:
- ^A and ^B have been replaced by | to avoid printing problems in
'make readme'.
- Add %%EMAIL%%, %%MAINTAINER%% (not used yet) and %%WEBSITE%%
substitutions
- Add pretty-print-www-site target.
* Add support for USE_GCC=3.2 [5]
* Use 'uname -p' instead of 'uname -m' to set the ARCH variable. [6]
* Add a ${YACC} variable [7]
* Path MANPREFIX in MAKE_ENV [8]
* Use the full patch to mkhtmlindex in MKHTMLINDEX [9]
* Avoid overflowing the commandline when constructing the _TMLINKS
variable (fixes 'make index'). [10]
Submitted by: lioux [1], mi [2], mbr [3][5],
Cyrille Lefevre <clefevre@citeweb.net> [4],
nyan [6], cy [7], dougb [8], anholt [9],
fenner [10] (based on)
PR: ports/34126 [2], ports/30983 [3] (based on),
ports/31389 [4], ports/47306 [5] (based on),
ports/35514 [6], ports/44496 [7],
ports/44895 [8], ports/45549 [9]
2003-02-10 07:59:22 +00:00
ARCH != ${ UNAME } -p
1998-12-12 07:39:30 +00:00
. e n d i f
1997-07-10 02:29:51 +00:00
1996-11-01 07:22:37 +00:00
# Get the operating system type
1998-12-12 07:39:30 +00:00
. i f ! d e f i n e d ( O P S Y S )
2000-11-03 10:26:32 +00:00
OPSYS != ${ UNAME } -s
1998-12-12 07:39:30 +00:00
. e n d i f
1996-11-01 07:22:37 +00:00
1998-08-05 09:29:13 +00:00
# Get the operating system revision
1998-12-12 07:39:30 +00:00
. i f ! d e f i n e d ( O S R E L )
2000-11-03 10:26:32 +00:00
OSREL != ${ UNAME } -r | ${ SED } -e 's/[-(].*//'
1998-12-12 07:39:30 +00:00
. e n d i f
1998-11-11 05:21:29 +00:00
# Get __FreeBSD_version
1998-12-12 07:39:30 +00:00
. i f ! d e f i n e d ( O S V E R S I O N )
2007-08-04 11:37:24 +00:00
. i f e x i s t s ( / u s r / i n c l u d e / s y s / p a r a m . h )
2008-03-11 23:45:04 +00:00
OSVERSION != ${ AWK } '/^\#define[[:blank:]]__FreeBSD_version/ {print $$3}' < /usr/include/sys/param.h
2011-07-21 05:04:39 +00:00
. e l i f e x i s t s ( $ { S R C _ B A S E } / s y s / s y s / p a r a m . h )
OSVERSION != ${ AWK } '/^\#define[[:blank:]]__FreeBSD_version/ {print $$3}' < ${ SRC_BASE } /sys/sys/param.h
2006-08-04 12:34:50 +00:00
. e l s e
2006-07-18 04:12:51 +00:00
OSVERSION != ${ SYSCTL } -n kern.osreldate
1998-12-12 07:39:30 +00:00
. e n d i f
2006-08-04 12:34:50 +00:00
. e n d i f
1998-08-05 09:29:13 +00:00
2012-10-10 08:40:21 +00:00
. i f $ { O S V E R S I O N } > = 1 0 0 0 0 1 7
. i f ! d e f i n e d ( W I T H O U T _ P K G N G )
The pkg developement team is proud to announce the new 1.1.0 beta1 release of
pkg.
Here is the list of new features that happened in pkg 1.1:
- new simpler and more reliable solver
- shared libraries are now always tracked
- ssh:// is supported as a protocol to distribute packages (needs pkg 1.1+ on
the server hosting the packages)
- multirepository is no longer considered experimental and works by default.
- incremental update of the catalog (only if the repository was created by pkg
1.1+)
- simplification of the public API
- stabilisation of the public API (we will now try to keep it stable and if
change are needed there will be deprecation time before removal of some old
functions)
- new experimental pkg convert (can convert from and to legacy pkg database)
pkg2ng now uses pkg convert (still recommanded to use pkg2ng)
- new pkg lock/unlock to prevent any manipulation of a given package (no
upgrade,delete,etc)
- improved UI (now you can see the progress of an upgrade what is left to be
done)
- new pkg annotation to allow one to add annotations (free form key/value) to a
package)
- pkg audit is now able to directly parse the vuxml native format and not only
the compact version
- pkg -vv now shows all available options and their current settings
- pkg -vvv now shows a description of all the available options
- pkg info now automatically considers the query as globbing if * is in the
requested pattern
- new hook plugin interface (allows users to create hooks that get called at
anytime during and upgrade/installation/deletion of a package)
- new cmd plugin interface (allows users to create new sub command available for
pkg)
- pkg register can now register a port installation in the legacy database
format
- repository can be defined in simple yaml files
Internal:
- massive usage of hash tables (uthash), which simplifies a lot of the code,
and improves performances
- lots of optimisation in plist and manifest parsing
- lots of optimisation in loading packages (mmap used when possible)
- lots of cleanup in memory usage
- regression test framework is now ready (using atf) regression test are slowly
being added and populated.
To use this new version:
Ports users (or in building factories: poudriere/tinderbox):
Add WITH_PKGNG=devel to your make.conf
pkg set -o ports-mgmt/pkg:ports-mgmt/pkg-devel
Binary package users, if the remote repository is providing pkg 1.1:
pkg set -o ports-mgmt/pkg:ports-mgmt/pkg-devel
pkg upgrade
Note that pkg 1.1 can use a repository created for pkg 1.0 and vis versa.
Huge thanks to all the people that have contributed to the pkg developement:
- may that be by code
- documentation
- bug report
- feedback
- ideas
List of people who contributed code:
Baptiste Daroussin, Matthew Seaman, Bryan Drewery, Vsevolod Stakhov,
Marin Atanasov Nikolov, Alexandre Perrin, Romain Tartière, Julien Laffaye,
Glen Barber, John Marino, Alex Kozlov, Roman Naumann, Sofian Brabez,
Alberto Villa, Will Andrews, Eitan Adler, Dan McGregor, namor, niamtokik,
Arthur Gautier, Garrett Cooper, Andrew Turner, Jeremy Chadwick,
Hajimu UMEMOTO, Mark Lokowich, Eygene Ryabinkin, Pietro Cerutti,
Rolf Grossmann, Ed Schouten, Dimitry Andric, David Forsythe, Stefan Grundmann,
Craig Rodrigues, Antoine Brodin, Andrey Zonov, Joel Dahl
Stats between 1.0 and 1.1:
287 files changed, 63418 insertions(+), 18763 deletions(-)
1198 commits
2013-05-30 15:17:29 +00:00
WITH_PKGNG ?= yes
2012-10-10 08:40:21 +00:00
. e l s e
. u n d e f W I T H _ P K G N G
. e n d i f
. e n d i f
2014-02-04 14:23:08 +00:00
. i f ! d e f i n e d ( W I T H _ P K G N G ) & & ! d e f i n e d ( N O _ W A R N I N G _ P K G _ I N S T A L L _ E O L )
WARNING += "pkg_install EOL is scheduled for 2014-09-01. Please consider migrating to pkgng"
WARNING += "http://blogs.freebsdish.org/portmgr/2014/02/03/time-to-bid-farewell-to-the-old-pkg_-tools/"
WARNING += "If you do not want to see this message again set NO_WARNING_PKG_INSTALL_EOL=yes in your make.conf"
. e n d i f
2013-12-16 11:11:09 +00:00
# Enable new xorg for FreeBSD versions after Radeon KMS was imported unless
# WITHOUT_NEW_XORG is set.
The FreeBSD x11@ and graphics team proudly presents
a zeising, kwm production, with help from dumbbell, bdrewery:
NEW XORG ON FREEBSD 9-STABLE AND 10-STABLE
This update switches over to use the new xorg stack by default on FreeBSD 9
and 10 stable, on osversions where vt(9) is available.
It is still possible to use the old stack by specifying WITHOUT_NEW_XORG in
/etc/make.conf .
FreeBSD 8-STABLE and released versions of FreeBSD still use
the old version.
A package repository with binary packages for new xorg will
be available soon.
This patch also contains updates of libxcb and related ports, pixman, as well
as some drivers and utilities.
Bump portrevisions for xf86-* ports, as well as virtualbox-ose-additions due
to xserver version change.
Apart from these updates, the way shared libraries are handled has been
changed for all xorg ports, as well as libxml2 and freetype, which means
ltverhack is gone and as a consequence shared libraries have been bumped.
The plan is that this change will make library bumps less likely in the
future.
All affected ports have had their portrevisions bumped as a consequence of
this.
Fix some issues where WITH_NEW_XORG weren't detected properly on CURRENT.
Update instructions, hardware support, and more notes can be found on
https://wiki.freebsd.org/Graphics
Thanks to: all testers, bdrewery and the FreeBSD x11@ team
exp-run by: bdrewery [1]
PR: ports/187602 [1]
Approved by: portmgr (bdrewery), core (jhb)
2014-04-16 18:28:47 +00:00
. i f ( $ { O S V E R S I O N } > = 9 0 2 5 1 0 & & $ { O S V E R S I O N } < 1 0 0 0 0 0 0 ) | | $ { O S V E R S I O N } > = 1 0 0 0 7 0 4
2013-12-16 11:11:09 +00:00
. i f ! d e f i n e d ( W I T H O U T _ N E W _ X O R G )
WITH_NEW_XORG ?= yes
. e l s e
. u n d e f W I T H _ N E W _ X O R G
. e n d i f
. e n d i f
2012-10-10 13:12:17 +00:00
# Only define tools here (for transition period with between pkg tools)
. i n c l u d e "${PORTSDIR}/Mk/bsd.commands.mk"
1998-11-20 04:00:38 +00:00
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
. i f ${MASTERDIR} != ${ .CURDIR }
SLAVE_PORT ?= yes
MASTER_PORT ?= ${ MASTERDIR : C /[^ \/ ]+ \/ \. \. \/ // : C /[^ \/ ]+ \/ \. \. \/ // : C /^.* \/ ([^ \/ ]+ \/ [^ \/ ]+) $/ \\ 1 / }
. e l s e
SLAVE_PORT ?= no
MASTER_PORT ?=
. e n d i f
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.
2000-04-11 21:38:02 +00:00
. i f ${MASTERDIR} != ${ .CURDIR } && exists( ${ .CURDIR } /../Makefile.inc)
. i n c l u d e "${.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
2000-04-11 21:38:02 +00:00
. e n d i f
1998-11-20 04:00:38 +00:00
. i f e x i s t s ( $ { M A S T E R D I R } / . . / M a k e f i l e . i n c )
. i n c l u d e "${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
1994-08-21 13:12:57 +00:00
. e n d i f
1998-11-20 04:00:38 +00:00
. i f e x i s t s ( $ { M A S T E R D I R } / M a k e f i l e . $ { A R C H } - $ { O P S Y S } )
. i n c l u d e "${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
1998-11-20 04:00:38 +00:00
. e l i f e x i s t s ( $ { M A S T E R D I R } / M a k e f i l e . $ { O P S Y S } )
. i n c l u d e "${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
1998-11-20 04:00:38 +00:00
. e l i f e x i s t s ( $ { M A S T E R D I R } / M a k e f i l e . $ { A R C H } )
. i n c l u d e "${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
1997-07-10 02:29:51 +00:00
. e n d i f
1996-06-19 01:04:23 +00:00
1998-11-20 04:00:38 +00:00
. i f e x i s t s ( $ { M A S T E R D I R } / M a k e f i l e . l o c a l )
. i n c l u d e "${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
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
. e n d i f
2013-07-05 20:15:48 +00:00
. f o r _ C A T E G O R Y i n $ { C A T E G O R I E S }
PKGCATEGORY ?= ${ _CATEGORY }
. e n d f o r
_PORTDIRNAME = ${ .CURDIR : T }
PORTDIRNAME ?= ${ _PORTDIRNAME }
PKGORIGIN ?= ${ PKGCATEGORY } /${ PORTDIRNAME }
2004-01-20 09:14:10 +00:00
# where 'make config' records user configuration options
2007-08-04 11:37:24 +00:00
PORT_DBDIR ?= /var/db/ports
2004-01-20 09:14:10 +00:00
2009-09-06 21:18:50 +00:00
UID_FILES ?= ${ PORTSDIR } /UIDs
GID_FILES ?= ${ PORTSDIR } /GIDs
UID_OFFSET ?= 0
GID_OFFSET ?= 0
Latest round of infrastructure changes.
- bsd.port.mk: add INDEX_PORTS, to support INDEX creation for a subset of the ports tree [1]
- bsd.port.mk: call target "install-rc-script" before "post-install" [2]
- [patch] ports/Mk bsd.port.mk order if groups/users are created by package [3]
- [bsd.port.mk] [patch] reaper of the dead: md5 has been in /sbin for a while [4]
- [bsd.port.mk] [patch] remove support for pre 7.x systems (b.*.m) [5]
- [patch] [bsd.port.mk] reaper of the dead: are three variable defintions needed [6]
PR: ports/156575 [1],
ports/139116 [2],
ports/152498 [3],
ports/155983 [4],
ports/155510 [5],
ports/156340 [6]
Submitted by: Florent Thoumie <flz@xbsd.org> [1],
Sergey Skvortsov <skv@freebsd.org> [2],
Olli Hauer <ohauer@FreeBSD.org> [3],
Eitan Adler <lists@eitanadler.com> [4],
Eitan Adler <lists@eitanadler.com> [5],
Eitan Adler <lists@eitanadler.com> [6]
2011-05-04 22:33:13 +00:00
# predefined accounts from src/etc/master.passwd
# alpha numeric sort order
2013-03-03 06:53:34 +00:00
USERS_BLACKLIST = _dhcp _pflogd auditdistd bin bind daemon games hast kmem mailnull man news nobody operator pop proxy root smmsp sshd toor tty uucp www
Latest round of infrastructure changes.
- bsd.port.mk: add INDEX_PORTS, to support INDEX creation for a subset of the ports tree [1]
- bsd.port.mk: call target "install-rc-script" before "post-install" [2]
- [patch] ports/Mk bsd.port.mk order if groups/users are created by package [3]
- [bsd.port.mk] [patch] reaper of the dead: md5 has been in /sbin for a while [4]
- [bsd.port.mk] [patch] remove support for pre 7.x systems (b.*.m) [5]
- [patch] [bsd.port.mk] reaper of the dead: are three variable defintions needed [6]
PR: ports/156575 [1],
ports/139116 [2],
ports/152498 [3],
ports/155983 [4],
ports/155510 [5],
ports/156340 [6]
Submitted by: Florent Thoumie <flz@xbsd.org> [1],
Sergey Skvortsov <skv@freebsd.org> [2],
Olli Hauer <ohauer@FreeBSD.org> [3],
Eitan Adler <lists@eitanadler.com> [4],
Eitan Adler <lists@eitanadler.com> [5],
Eitan Adler <lists@eitanadler.com> [6]
2011-05-04 22:33:13 +00:00
* Change all bogus uses of BROKEN to IGNORE. Note: the BROKEN_WITH_*
forms are retained for compatibility but deprecated [1]
* Add sha256 to CHECKSUM_ALGORITHMS [2]
* Remove some whitespace [2]
* Add USE_SCONS and bsd.scons.mk for the Python-based SCons build system [3]
* Fix USE_LDCONFIG with non-default PREFIX [4]
* Add USE_WX and friends, and bsd.wx.mk, for common code for WxWidgets
support [5]
* Add 'make missing' to show missing dependencies [6]
* Fix DESKTOP_ENTRIES processing on 4.x [7]
PR: 92445 [1], 98206 [2], 98731 [3], 99370 [4], 89398 [5],
93601 [6], 98891 [7]
Submitted by: linimon [1], edwin [2], alex at foxybanana dot com [3],
gerald [4], flz [4], alepulver [5], alex at fafula dot com [6],
shaun [7]
2006-07-05 02:18:09 +00:00
LDCONFIG_DIR = libdata/ldconfig
LDCONFIG32_DIR = libdata/ldconfig32
2004-02-04 04:27:04 +00:00
. i f d e f i n e d ( L A T E S T _ L I N K )
UNIQUENAME ?= ${ LATEST_LINK }
. e l s e
UNIQUENAME ?= ${ PKGNAMEPREFIX } ${ PORTNAME }
. e n d i f
2004-01-20 09:14:10 +00:00
2006-09-30 19:25:46 +00:00
. e n d i f
2009-06-11 09:09:29 +00:00
# At least KDE needs TMPDIR for the package building,
# so we're setting it to the known default value.
. i f d e f i n e d ( P A C K A G E _ B U I L D I N G )
TMPDIR ?= /tmp
. e n d i f # defined(PACKAGE_BUILDING)
# Respect TMPDIR passed via make.conf or similar and pass it down
# to configure and make.
. i f d e f i n e d ( T M P D I R )
MAKE_ENV += TMPDIR = " ${ TMPDIR } "
CONFIGURE_ENV += TMPDIR = " ${ TMPDIR } "
. e n d i f # defined(TMPDIR)
2013-11-18 19:48:21 +00:00
. i f d e f i n e d ( W I T H _ D E B U G _ P O R T S )
.if ${WITH_DEBUG_PORTS : M ${PKGORIGIN }}
WITH_DEBUG = yes
. e n d i f
. e n d i f
2012-05-29 09:54:27 +00:00
. i n c l u d e "${PORTSDIR}/Mk/bsd.options.mk"
2006-09-30 19:25:46 +00:00
# Start of pre-makefile section.
. i f ! d e f i n e d ( A F T E R P O R T M K ) & & ! d e f i n e d ( I N O P T I O N S M K )
2013-09-18 21:16:25 +00:00
. i n c l u d e "${PORTSDIR}/Mk/bsd.sanity.mk"
2006-09-30 19:25:46 +00:00
_PREMKINCLUDED = yes
2004-01-20 09:14:10 +00:00
. i f d e f i n e d ( P O R T V E R S I O N )
2003-11-07 08:51:46 +00:00
.if ${PORTVERSION : M *[-_ , ]*}x != x
* Change all bogus uses of BROKEN to IGNORE. Note: the BROKEN_WITH_*
forms are retained for compatibility but deprecated [1]
* Add sha256 to CHECKSUM_ALGORITHMS [2]
* Remove some whitespace [2]
* Add USE_SCONS and bsd.scons.mk for the Python-based SCons build system [3]
* Fix USE_LDCONFIG with non-default PREFIX [4]
* Add USE_WX and friends, and bsd.wx.mk, for common code for WxWidgets
support [5]
* Add 'make missing' to show missing dependencies [6]
* Fix DESKTOP_ENTRIES processing on 4.x [7]
PR: 92445 [1], 98206 [2], 98731 [3], 99370 [4], 89398 [5],
93601 [6], 98891 [7]
Submitted by: linimon [1], edwin [2], alex at foxybanana dot com [3],
gerald [4], flz [4], alepulver [5], alex at fafula dot com [6],
shaun [7]
2006-07-05 02:18:09 +00:00
IGNORE = PORTVERSION ${ PORTVERSION } may not contain '-' '_' or ','
2003-11-07 08:51:46 +00:00
. e n d i f
* Fix INDEX build if MAINTAINER is not defined. [1]
* Remove USE_QT2 since it's obsolete now. [2]
* Clarify comments about ARCH. [3]
* Speedup 'make readmes'. Add a perl script "Tools/make_readmes"
and modify bsd.port.subdir.mk to avoid recursing into individual
port directories to create README.html. [4]
* Fix 'make search' to allow case insensitive search on 5-x/6-x. [5]
* Add the possibility to search the ports by category. [6]
* Remove tk42 and tcl76 from virtual categories since they're
obsolete. [7]
* Introduce new variable - DISTVERSION, vendor version of the
distribution, that can be set instead of PORTVERSION and is
automatically converted in a conforming PORTVERSION. [8]
* Use --suffix instead of -b option for patch(1) to make it
compatible with BSD patch(1) [9]
* Fix {WANT,WITH}_MYSQL_VER behavior, to deal with conflicting
versions. [10]
PR: ports/68895 [1], ports/69486 [2], ports/68539 [3],
ports/70018 [4], ports/68896 [5], ports/73299 [6],
ports/73570 [7], ports/67171 [8], ports/72182 [9]
Submitted by: linimon [1][3], arved [2][7], cperciva [4],
Matthew Seaman <m.seaman@infracaninophile.co.uk> [5],
Radek Kozlowski <radek@raadradd.com> [6],
eik [8], Andreas Hauser <andy-freebsd@splashground.de> [9],
clement [10]
2004-11-19 13:45:07 +00:00
DISTVERSION ?= ${ PORTVERSION : S / : / : : /g }
. e l i f d e f i n e d ( D I S T V E R S I O N )
2014-05-05 09:45:36 +00:00
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 }
2004-01-20 09:14:10 +00:00
. e n d i f
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
. i f ${PORTREVISION} != 0
_SUF1 = _${ PORTREVISION }
. e n d i f
PORTEPOCH ?= 0
. i f ${PORTEPOCH} != 0
_SUF2 = ,${ PORTEPOCH }
. e n d i f
2006-09-15 06:57:07 +00:00
PKGVERSION = ${ PORTVERSION : C /[-_,]/./g } ${ _SUF1 } ${ _SUF2 }
PKGNAME = ${ PKGNAMEPREFIX } ${ PORTNAME } ${ PKGNAMESUFFIX } -${ PKGVERSION }
* Fix INDEX build if MAINTAINER is not defined. [1]
* Remove USE_QT2 since it's obsolete now. [2]
* Clarify comments about ARCH. [3]
* Speedup 'make readmes'. Add a perl script "Tools/make_readmes"
and modify bsd.port.subdir.mk to avoid recursing into individual
port directories to create README.html. [4]
* Fix 'make search' to allow case insensitive search on 5-x/6-x. [5]
* Add the possibility to search the ports by category. [6]
* Remove tk42 and tcl76 from virtual categories since they're
obsolete. [7]
* Introduce new variable - DISTVERSION, vendor version of the
distribution, that can be set instead of PORTVERSION and is
automatically converted in a conforming PORTVERSION. [8]
* Use --suffix instead of -b option for patch(1) to make it
compatible with BSD patch(1) [9]
* Fix {WANT,WITH}_MYSQL_VER behavior, to deal with conflicting
versions. [10]
PR: ports/68895 [1], ports/69486 [2], ports/68539 [3],
ports/70018 [4], ports/68896 [5], ports/73299 [6],
ports/73570 [7], ports/67171 [8], ports/72182 [9]
Submitted by: linimon [1][3], arved [2][7], cperciva [4],
Matthew Seaman <m.seaman@infracaninophile.co.uk> [5],
Radek Kozlowski <radek@raadradd.com> [6],
eik [8], Andreas Hauser <andy-freebsd@splashground.de> [9],
clement [10]
2004-11-19 13:45:07 +00:00
DISTNAME ?= ${ PORTNAME } -${ DISTVERSIONPREFIX } ${ DISTVERSION : C / : (.)/ \1 /g } ${ DISTVERSIONSUFFIX }
2000-04-11 21:38:02 +00:00
2011-07-21 05:04:39 +00:00
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
2007-08-04 11:37:24 +00:00
DOCSDIR ?= ${ PREFIX } /share/doc/${ PORTNAME }
EXAMPLESDIR ?= ${ PREFIX } /share/examples/${ PORTNAME }
DATADIR ?= ${ PREFIX } /share/${ PORTNAME }
WWWDIR ?= ${ PREFIX } /www/${ PORTNAME }
ETCDIR ?= ${ PREFIX } /etc/${ PORTNAME }
* Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]
* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]
* Update the description of fetch-list; add targets fetch-required-list,
fetch-url-list, and fetch-urlall-list. [4]
* Make 'make search' also search in ports/MOVED. [5]
* Move several Makevar definitions to the pre-makefile section:
DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]
* The target 'ignorelist-verbose' was added for portsmon. [7]
PR: 69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]
Submitted by: Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
jylefort [3], edwin [4], Lars Engels <lars dot engels
at 0x20 dot net> [5], Alexander Logvinov <ports at
logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +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
. i f d e f i n e d ( U S E _ L I N U X _ R P M )
. i n c l u d e "${PORTSDIR}/Mk/bsd.linux-rpm.mk"
. e n d i f
2009-03-19 17:28:51 +00:00
. i f d e f i n e d ( U S E _ L I N U X _ A P P S )
. i n c l u d e "${PORTSDIR}/Mk/bsd.linux-apps.mk"
. e n d i f
2007-05-19 20:36:56 +00:00
. i f d e f i n e d ( U S E _ X O R G ) | | d e f i n e d ( X O R G _ C A T )
. i n c l u d e "${PORTSDIR}/Mk/bsd.xorg.mk"
. e n d i f
1994-09-10 22:26:47 +00:00
PACKAGES ?= ${ PORTSDIR } /packages
1999-01-26 03:58:58 +00:00
TEMPLATES ?= ${ PORTSDIR } /Templates
2014-04-12 03:39:02 +00:00
KEYWORDS ?= ${ PORTSDIR } /Keywords
1997-07-10 02:29:51 +00:00
2000-10-01 17:27:40 +00:00
PATCHDIR ?= ${ MASTERDIR } /files
FILESDIR ?= ${ MASTERDIR } /files
SCRIPTDIR ?= ${ MASTERDIR } /scripts
PKGDIR ?= ${ MASTERDIR }
1997-07-10 02:29:51 +00:00
2009-06-09 15:33:28 +00:00
. i f d e f i n e d ( U S E _ L I N U X _ P R E F I X )
2007-08-04 11:37:24 +00:00
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
1998-11-11 05:21:29 +00:00
. e l s e
2007-08-04 11:37:24 +00:00
PREFIX ?= ${ LOCALBASE }
1998-11-11 05:21:29 +00:00
. e n d i f
- 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
. i f d e f i n e d ( U S E _ L I N U X _ P R E F I X )
2007-08-04 11:37:24 +00:00
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
. e n d i f
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
. i f d e f i n e d ( U S E _ L O C A L _ M K )
. i n c l u d e "${PORTSDIR}/Mk/bsd.local.mk"
. e n d i f
2004-04-19 01:37:12 +00:00
2003-11-07 08:51:46 +00:00
. i f d e f i n e d ( U S E _ O P E N S S L )
. i n c l u d e "${PORTSDIR}/Mk/bsd.openssl.mk"
2000-02-06 16:27:38 +00:00
. e n d i f
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
. i f d e f i n e d ( U S E _ E M A C S )
2000-05-06 10:45:35 +00:00
. i n c l u d e "${PORTSDIR}/Mk/bsd.emacs.mk"
. e n d i f
2003-08-27 04:35:39 +00:00
. i f d e f i n e d ( U S E _ G N U S T E P )
. i n c l u d e "${PORTSDIR}/Mk/bsd.gnustep.mk"
. e n d i f
2004-02-04 04:27:04 +00:00
. i f d e f i n e d ( U S E _ P H P )
. i n c l u d e "${PORTSDIR}/Mk/bsd.php.mk"
. e n d i f
* Add info files to TMPPLIST, only if INFO is specified. [1]
* Fix PATH problems during README.html generation if "make
-DPORTSTOP readmes" is defined. [2]
* Add support for early rcNG startup scripts. [3]
* Remove duplicate USE_XLIB handling. [4]
* Add check for USE_PYTHON_(BUILD|RUN), and include bsd.python.mk if
both are specified. [5]
* Use PRE-INSTALL target for SUB_FILES and SUB_LIST. [6]
* Introduce bsd.gstreamer.mk and utilize new macros:
USE_GSTREAMER/WANT_GSTREAMER. [7]
PR: ports/77634 [1], ports/77592 [2], ports/77385 [3],
ports/77557 [4], ports/77344 [5], ports/77211 [6],
ports/77838 [7]
Submitted by: krion [1] [2], Florent Thoumie <flz@xbsd.org> [3] [6],
pav [4], lofi [5], ahze [7]
2005-02-28 21:09:05 +00:00
. i f d e f i n e d ( U S E _ P Y T H O N ) | | d e f i n e d ( U S E _ P Y T H O N _ B U I L D ) | | d e f i n e d ( U S E _ P Y T H O N _ R U N )
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
. i n c l u d e "${PORTSDIR}/Mk/bsd.python.mk"
. e n d i f
2007-03-24 14:02:06 +00:00
. i f d e f i n e d ( U S E _ E F L ) | | d e f i n e d ( W A N T _ E F L ) | | d e f i n e d ( U S E _ E F L _ E S M A R T )
. i n c l u d e "${PORTSDIR}/Mk/bsd.efl.mk"
. e n d i f
2008-06-24 14:56:06 +00:00
. i f d e f i n e d ( U S E _ F P C ) | | d e f i n e d ( W A N T _ F P C _ B A S E ) | | d e f i n e d ( W A N T _ F P C _ A L L )
. i n c l u d e "${PORTSDIR}/Mk/bsd.fpc.mk"
. e n d i f
2002-03-28 11:24:43 +00:00
. i f d e f i n e d ( U S E _ J A V A )
. i n c l u d e "${PORTSDIR}/Mk/bsd.java.mk"
. e n d i f
2000-09-22 01:17:17 +00:00
. i f d e f i n e d ( U S E _ R U B Y ) | | d e f i n e d ( U S E _ L I B R U B Y )
. i n c l u d e "${PORTSDIR}/Mk/bsd.ruby.mk"
. e n d i f
2007-03-14 04:06:55 +00:00
. i f d e f i n e d ( U S E _ O C A M L )
. i n c l u d e "${PORTSDIR}/Mk/bsd.ocaml.mk"
. e n d i f
2011-04-24 15:37:53 +00:00
. i f d e f i n e d ( U S E _ A P A C H E ) | | d e f i n e d ( U S E _ A P A C H E _ B U I L D ) | | d e f i n e d ( U S E _ A P A C H E _ R U N )
* 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
. i n c l u d e "${PORTSDIR}/Mk/bsd.apache.mk"
. e n d i f
2014-03-03 16:50:32 +00:00
. i f d e f i n e d ( U S E _ Q T 4 ) | | d e f i n e d ( U S E _ Q T 5 )
2007-07-16 10:12:15 +00:00
. i n c l u d e "${PORTSDIR}/Mk/bsd.qt.mk"
. e n d i f
TeXLive mega commit. The following ports have been added:
* Meta port
- print/texlive-full: meta port to install all of the TeXLive components
* Libraries
- devel/tex-kpathsea: kpathsea library
- devel/tex-web2c: WEB2C toolchain and TeX engines
- print/tex-ptexenc: character code conversion library for pTeX
* Base part of the TeXLive
- print/texlive-base: binary programs in TeXLive
- print/texlive-texmf: macro and font data in TeXLive
- print/texlive-infra: tlmgr dependency (Perl modules)
* TeX Formats
- print/tex-formats: TeX, LaTeX, PDFTeX, AMSTeX, ConTeXT, CSLaTeX,
EplainTeX, METAFONT, MLTeX, PDFTeX, TeXsis
- print/tex-aleph: Aleph/Lambda
- print/tex-xetex: XeTeX
- print/tex-luatex: LuaTeX
- print/tex-jadetex: JadeTeX
- print/tex-xmltex: XMLTeX
- japanese/tex-ptex: pTeX
* DVI ware
- print/tex-xdvik: XDvi
Mk/bsd.tex.mk is added for common part and USE_TEX knob [1].
Approved by: portmgr (old version) [1]
PR: ports/171571
PR: ports/176399 [1]
2013-05-06 00:44:22 +00:00
. i f d e f i n e d ( U S E _ T E X )
. i n c l u d e "${PORTSDIR}/Mk/bsd.tex.mk"
. e n d i f
2011-08-12 16:10:02 +00:00
. i f d e f i n e d ( U S E _ D R U P A L )
. i n c l u d e "${PORTSDIR}/Mk/bsd.drupal.mk"
. e n d i f
2014-05-11 23:10:16 +00:00
. i f d e f i n e d ( U S E _ G E C K O )
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
. i n c l u d e "${PORTSDIR}/Mk/bsd.gecko.mk"
. e n d i f
2010-08-20 12:15:02 +00:00
. i f d e f i n e d ( W A N T _ G N O M E ) | | d e f i n e d ( U S E _ G N O M E ) | | d e f i n e d ( I N S T A L L S _ I C O N S )
2000-10-05 01:32:21 +00:00
. i n c l u d e "${PORTSDIR}/Mk/bsd.gnome.mk"
2004-02-04 04:27:04 +00:00
. e n d i f
2013-11-23 11:39:07 +00:00
. i f d e f i n e d ( U S E _ M A T E )
. i n c l u d e "${PORTSDIR}/Mk/bsd.mate.mk"
. e n d i f
2006-09-15 06:57:07 +00:00
. i f d e f i n e d ( W A N T _ L U A ) | | d e f i n e d ( U S E _ L U A ) | | d e f i n e d ( U S E _ L U A _ N O T )
. i n c l u d e "${PORTSDIR}/Mk/bsd.lua.mk"
. e n d i f
* Change all bogus uses of BROKEN to IGNORE. Note: the BROKEN_WITH_*
forms are retained for compatibility but deprecated [1]
* Add sha256 to CHECKSUM_ALGORITHMS [2]
* Remove some whitespace [2]
* Add USE_SCONS and bsd.scons.mk for the Python-based SCons build system [3]
* Fix USE_LDCONFIG with non-default PREFIX [4]
* Add USE_WX and friends, and bsd.wx.mk, for common code for WxWidgets
support [5]
* Add 'make missing' to show missing dependencies [6]
* Fix DESKTOP_ENTRIES processing on 4.x [7]
PR: 92445 [1], 98206 [2], 98731 [3], 99370 [4], 89398 [5],
93601 [6], 98891 [7]
Submitted by: linimon [1], edwin [2], alex at foxybanana dot com [3],
gerald [4], flz [4], alepulver [5], alex at fafula dot com [6],
shaun [7]
2006-07-05 02:18:09 +00:00
. i f d e f i n e d ( W A N T _ W X ) | | d e f i n e d ( U S E _ W X ) | | d e f i n e d ( U S E _ W X _ N O T )
. i n c l u d e "${PORTSDIR}/Mk/bsd.wx.mk"
* Add info files to TMPPLIST, only if INFO is specified. [1]
* Fix PATH problems during README.html generation if "make
-DPORTSTOP readmes" is defined. [2]
* Add support for early rcNG startup scripts. [3]
* Remove duplicate USE_XLIB handling. [4]
* Add check for USE_PYTHON_(BUILD|RUN), and include bsd.python.mk if
both are specified. [5]
* Use PRE-INSTALL target for SUB_FILES and SUB_LIST. [6]
* Introduce bsd.gstreamer.mk and utilize new macros:
USE_GSTREAMER/WANT_GSTREAMER. [7]
PR: ports/77634 [1], ports/77592 [2], ports/77385 [3],
ports/77557 [4], ports/77344 [5], ports/77211 [6],
ports/77838 [7]
Submitted by: krion [1] [2], Florent Thoumie <flz@xbsd.org> [3] [6],
pav [4], lofi [5], ahze [7]
2005-02-28 21:09:05 +00:00
. e n d i f
2012-12-10 12:46:43 +00:00
. i f d e f i n e d ( W A N T _ G S T R E A M E R ) | | d e f i n e d ( U S E _ G S T R E A M E R ) | | d e f i n e d ( U S E _ G S T R E A M E R 1 )
* Change all bogus uses of BROKEN to IGNORE. Note: the BROKEN_WITH_*
forms are retained for compatibility but deprecated [1]
* Add sha256 to CHECKSUM_ALGORITHMS [2]
* Remove some whitespace [2]
* Add USE_SCONS and bsd.scons.mk for the Python-based SCons build system [3]
* Fix USE_LDCONFIG with non-default PREFIX [4]
* Add USE_WX and friends, and bsd.wx.mk, for common code for WxWidgets
support [5]
* Add 'make missing' to show missing dependencies [6]
* Fix DESKTOP_ENTRIES processing on 4.x [7]
PR: 92445 [1], 98206 [2], 98731 [3], 99370 [4], 89398 [5],
93601 [6], 98891 [7]
Submitted by: linimon [1], edwin [2], alex at foxybanana dot com [3],
gerald [4], flz [4], alepulver [5], alex at fafula dot com [6],
shaun [7]
2006-07-05 02:18:09 +00:00
. i n c l u d e "${PORTSDIR}/Mk/bsd.gstreamer.mk"
2004-02-04 04:27:04 +00:00
. e n d i f
2000-10-05 01:32:21 +00:00
* Change all bogus uses of BROKEN to IGNORE. Note: the BROKEN_WITH_*
forms are retained for compatibility but deprecated [1]
* Add sha256 to CHECKSUM_ALGORITHMS [2]
* Remove some whitespace [2]
* Add USE_SCONS and bsd.scons.mk for the Python-based SCons build system [3]
* Fix USE_LDCONFIG with non-default PREFIX [4]
* Add USE_WX and friends, and bsd.wx.mk, for common code for WxWidgets
support [5]
* Add 'make missing' to show missing dependencies [6]
* Fix DESKTOP_ENTRIES processing on 4.x [7]
PR: 92445 [1], 98206 [2], 98731 [3], 99370 [4], 89398 [5],
93601 [6], 98891 [7]
Submitted by: linimon [1], edwin [2], alex at foxybanana dot com [3],
gerald [4], flz [4], alepulver [5], alex at fafula dot com [6],
shaun [7]
2006-07-05 02:18:09 +00:00
. i f d e f i n e d ( U S E _ S D L ) | | d e f i n e d ( W A N T _ S D L )
. i n c l u d e "${PORTSDIR}/Mk/bsd.sdl.mk"
. e n d i f
2007-03-14 04:06:55 +00:00
. i f d e f i n e d ( U S E _ X F C E )
. i n c l u d e "${PORTSDIR}/Mk/bsd.xfce.mk"
. e n d i f
2008-08-09 16:52:28 +00:00
. i f d e f i n e d ( U S E _ K D E 4 ) | | d e f i n e d ( K D E 4 _ B U I L D E N V )
. i n c l u d e "${PORTSDIR}/Mk/bsd.kde4.mk"
. e n d i f
2012-09-05 04:32:25 +00:00
. i n c l u d e "${PORTSDIR}/Mk/bsd.pbi.mk"
2013-07-05 13:32:31 +00:00
. i f d e f i n e d ( U S E _ G M A K E )
USES += gmake
. e n d i f
2013-12-24 10:22:26 +00:00
. i f d e f i n e d ( U S E _ D O S 2 U N I X )
2014-05-05 09:45:36 +00:00
.if ${USE_DOS2UNIX : tu }=="YES "
2013-12-24 10:22:26 +00:00
DOS2UNIX_REGEX ?= .*
. e l s e
.if ${USE_DOS2UNIX : M */*}
DOS2UNIX_FILES += ${ USE_DOS2UNIX }
. e l s e
DOS2UNIX_GLOB += ${ USE_DOS2UNIX }
. e n d i f
. e n d i f
USES += dos2unix
. e n d i f
2013-09-24 10:04:22 +00:00
. i f ! d e f i n e d ( U I D )
UID != ${ ID } -u
. e n d i f
2013-03-15 16:45:47 +00:00
# Loading features
. f o r f i n $ { U S E S }
_f = ${ f : C / \: .*//g }
. i f ${_f} != ${ f }
${_f}_ARGS := ${ f : C /^[^ \: ]* \: //g }
. e n d i f
. i n c l u d e "${USESDIR}/${_f}.mk"
. e n d f o r
2013-11-12 14:56:50 +00:00
. i f d e f i n e d ( U S E _ B Z I P 2 )
EXTRACT_SUFX ?= .tar.bz2
. e l i f d e f i n e d ( U S E _ X Z )
EXTRACT_SUFX ?= .tar.xz
. e l s e
EXTRACT_SUFX ?= .tar.gz
. e n d i f
2006-08-04 12:34:50 +00:00
# You can force skipping these test by defining IGNORE_PATH_CHECKS
. i f ! d e f i n e d ( I G N O R E _ P A T H _ C H E C K S )
2013-04-22 17:01:33 +00:00
.if ! ${PREFIX : M /*}
2006-08-04 12:34:50 +00:00
.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 }
. e n d i f
. e n d i f
* pkg-comment removal, take 2: introduce the COMMENTFILE variable
with the same semantics as the current COMMENT variable (location
of the pkg-comment file), and reclaim COMMENT for the comment string
itself. To work around the problems with metacharacters in comment
strings, comments are written to a temporary comment file as needed. [1]
* Support regexps in LIB_DEPENDS [2]
* Move the CD_MOUNTPTS variable to <bsd.port.pre.mk> [3]
* Improve 'make readmes' target [4]:
- ^A and ^B have been replaced by | to avoid printing problems in
'make readme'.
- Add %%EMAIL%%, %%MAINTAINER%% (not used yet) and %%WEBSITE%%
substitutions
- Add pretty-print-www-site target.
* Add support for USE_GCC=3.2 [5]
* Use 'uname -p' instead of 'uname -m' to set the ARCH variable. [6]
* Add a ${YACC} variable [7]
* Path MANPREFIX in MAKE_ENV [8]
* Use the full patch to mkhtmlindex in MKHTMLINDEX [9]
* Avoid overflowing the commandline when constructing the _TMLINKS
variable (fixes 'make index'). [10]
Submitted by: lioux [1], mi [2], mbr [3][5],
Cyrille Lefevre <clefevre@citeweb.net> [4],
nyan [6], cy [7], dougb [8], anholt [9],
fenner [10] (based on)
PR: ports/34126 [2], ports/30983 [3] (based on),
ports/31389 [4], ports/47306 [5] (based on),
ports/35514 [6], ports/44496 [7],
ports/44895 [8], ports/45549 [9]
2003-02-10 07:59:22 +00:00
# Location of mounted CDROM(s) to search for files
CD_MOUNTPTS ?= /cdrom ${ CD_MOUNTPT }
2003-11-07 08:51:46 +00:00
# Owner and group of the WWW user
WWWOWN ?= www
WWWGRP ?= www
1998-11-11 05:21:29 +00:00
. e n d i f
# End of pre-makefile section.
# Start of post-makefile section.
2006-09-30 19:25:46 +00:00
. i f ! d e f i n e d ( B E F O R E P O R T M K ) & & ! d e f i n e d ( I N O P T I O N S M K )
1998-11-11 05:21:29 +00:00
2000-01-17 12:43:10 +00:00
. i f d e f i n e d ( _ P O S T M K I N C L U D E D )
2014-01-03 23:18:53 +00:00
DEV_ERROR += " ${ PKGNAME } : Makefile error: you cannot include bsd.port[.post].mk twice "
2000-01-17 12:43:10 +00:00
@${ FALSE }
. e n d i f
_POSTMKINCLUDED = yes
1998-11-11 05:21:29 +00:00
WRKDIR ?= ${ WRKDIRPREFIX } ${ .CURDIR } /work
2012-10-10 18:20:21 +00:00
. i f ! d e f i n e d ( I G N O R E _ M A S T E R _ S I T E _ G I T H U B ) & & d e f i n e d ( U S E _ G I T H U B )
WRKSRC ?= ${ WRKDIR } /${ GH_ACCOUNT } -${ GH_PROJECT } -${ GH_COMMIT }
. e n d i f
1998-11-11 05:21:29 +00:00
. i f d e f i n e d ( N O _ W R K S U B D I R )
WRKSRC ?= ${ WRKDIR }
. e l s e
WRKSRC ?= ${ WRKDIR } /${ DISTNAME }
. e n d i f
2013-06-07 13:25:22 +00:00
. i f d e f i n e d ( W R K S R C _ S U B D I R )
WRKSRC := ${ WRKSRC } /${ WRKSRC_SUBDIR }
. e n d i f
1998-11-11 05:21:29 +00:00
2000-10-17 10:11:16 +00:00
PATCH_WRKSRC ?= ${ WRKSRC }
CONFIGURE_WRKSRC ?= ${ WRKSRC }
BUILD_WRKSRC ?= ${ WRKSRC }
INSTALL_WRKSRC ?= ${ WRKSRC }
2013-12-06 08:20:16 +00:00
PLIST_SUB += OSREL = ${ OSREL } PREFIX = %D LOCALBASE = ${ LOCALBASE }
2012-01-13 02:17:01 +00:00
SUB_LIST += PREFIX = ${ PREFIX } LOCALBASE = ${ LOCALBASE } \
2006-08-14 13:24:18 +00:00
DATADIR = ${ DATADIR } DOCSDIR = ${ DOCSDIR } EXAMPLESDIR = ${ EXAMPLESDIR } \
2007-08-04 11:37:24 +00:00
WWWDIR = ${ WWWDIR } ETCDIR = ${ ETCDIR }
2014-04-17 03:47:54 +00:00
# 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
2014-04-20 23:45:56 +00:00
PLIST_SUB_SED ?= ${ PLIST_SUB : C /.*=.{1, ${ PLIST_SUB_SED_MIN } } $//g:NEXTRACT_SUFX= *:NOSREL= *:NLIB32DIR= *:NPREFIX= *:NLOCALBASE= *:N*= "" :N*= "@comment*:C/([^=]*)=" ?( [ ^"]*)" ?/s!\2 !%%\1 %%!g; /g:C/\. /\\ ./g}
1998-11-11 05:21:29 +00:00
2008-04-14 16:46:41 +00:00
PLIST_REINPLACE += dirrmtry stopdaemon rmtry
2011-02-25 00:56:51 +00:00
PLIST_REINPLACE_DIRRMTRY = s!^@dirrmtry \( .*\) !@unexec rmdir "%D/\1" 2>/dev/null || true!
2008-04-14 16:46:41 +00:00
PLIST_REINPLACE_RMTRY = s!^@rmtry \( .*\) !@unexec rm -f %D/\1 2>/dev/null || true!
2010-04-16 07:18:28 +00:00
PLIST_REINPLACE_STOPDAEMON = s!^@stopdaemon \( .*\) !@unexec %D/etc/rc.d/\1 forcestop 2>/dev/null || true!
- 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
2008-07-24 21:55:47 +00:00
# kludge to strip trailing whitespace from CFLAGS;
# sub-configure will not # survive double space
CFLAGS := ${ CFLAGS : C / $// }
2004-01-20 09:14:10 +00:00
. i f d e f i n e d ( W I T H O U T _ C P U _ C F L A G S )
2004-02-04 04:27:04 +00:00
. i f d e f i n e d ( _ C P U C F L A G S )
. i f ! e m p t y ( _ C P U C F L A G S )
2004-01-20 09:14:10 +00:00
CFLAGS := ${ CFLAGS : C / ${ _CPUCFLAGS } // }
. e n d i f
2004-02-04 04:27:04 +00:00
. e n d i f
. e n d i f
2004-01-20 09:14:10 +00:00
2014-03-28 11:04:54 +00:00
# Reset value from bsd.own.mk.
bsd.port.mk
[1] Remove DEPENDS
[2] Add a new pkg-plist keyword @stopdaemon
[3] Provide rc.subr script suffix as RC_SUBR_SUFFIX
[4] Add USE_CDRTOOLS to abstract dependency on sysutils/cdrtool[-cjk]
[5] Add DOS2UNIX_REGEX, allowing to pass a filename regex to CRLF replacement
routine
[6] Support partially translated manpages in MAN* variables
[7] Fix USE_LDCONFIG on ports with @cwd in pkg-plist
[8] Remove support for XFree86 3.X
[9] Add user settable WITH_DEBUG flag that turns on -g in CFLAGS and resets
STRIP
[9] Fix `make install' to refuse overwriting of older version of the port
[10] New category ports-mgmt
[11] New category gnustep
[12] Removed category picobsd
bsd.java.mk
[13] Remove deprecated syntax
bsd.tcl.mk
[14] Provide TCL_VER when USE_TK[_BUILD] is defined. Fixes cad/netgen
ports/Makefile
[15] Make csup default `make update' method on FreeBSD 6.2 and up
PR: ports/99742 [1], ports/93373 [2], ports/100915 [3],
ports/105161 [4], ports/106029 [5], ports/106252 [6],
ports/106235 [7], ports/100939 [9], ports/97507 [10],
ports/103931 [11], ports/106921 [12], ports/104136 [13],
ports/105215 [15]
Submitted by: sem [1] [2], Matthias Andree <matthias.andree@gmx.de> [3],
nork [4], pav [5] [7] [14], Nick Barkas <snb@threerings.net> [6],
flz [8], gabor [9], shaun [10], erwin [12], hq [13],
Gurkan Sengun <gurkan@linuks.mine.nu> [11]
2007-01-31 14:07:24 +00:00
. i f d e f i n e d ( W I T H _ D E B U G ) & & ! d e f i n e d ( W I T H O U T _ D E B U G )
2014-03-28 11:04:54 +00:00
STRIP = #none
MAKE_ENV += DONTSTRIP = yes
2007-02-20 15:30:54 +00:00
STRIP_CMD = ${ TRUE }
bsd.port.mk
[1] Remove DEPENDS
[2] Add a new pkg-plist keyword @stopdaemon
[3] Provide rc.subr script suffix as RC_SUBR_SUFFIX
[4] Add USE_CDRTOOLS to abstract dependency on sysutils/cdrtool[-cjk]
[5] Add DOS2UNIX_REGEX, allowing to pass a filename regex to CRLF replacement
routine
[6] Support partially translated manpages in MAN* variables
[7] Fix USE_LDCONFIG on ports with @cwd in pkg-plist
[8] Remove support for XFree86 3.X
[9] Add user settable WITH_DEBUG flag that turns on -g in CFLAGS and resets
STRIP
[9] Fix `make install' to refuse overwriting of older version of the port
[10] New category ports-mgmt
[11] New category gnustep
[12] Removed category picobsd
bsd.java.mk
[13] Remove deprecated syntax
bsd.tcl.mk
[14] Provide TCL_VER when USE_TK[_BUILD] is defined. Fixes cad/netgen
ports/Makefile
[15] Make csup default `make update' method on FreeBSD 6.2 and up
PR: ports/99742 [1], ports/93373 [2], ports/100915 [3],
ports/105161 [4], ports/106029 [5], ports/106252 [6],
ports/106235 [7], ports/100939 [9], ports/97507 [10],
ports/103931 [11], ports/106921 [12], ports/104136 [13],
ports/105215 [15]
Submitted by: sem [1] [2], Matthias Andree <matthias.andree@gmx.de> [3],
nork [4], pav [5] [7] [14], Nick Barkas <snb@threerings.net> [6],
flz [8], gabor [9], shaun [10], erwin [12], hq [13],
Gurkan Sengun <gurkan@linuks.mine.nu> [11]
2007-01-31 14:07:24 +00:00
DEBUG_FLAGS ?= -g
2007-02-19 22:31:31 +00:00
CFLAGS := ${ CFLAGS : N -O* : N -fno-strict* } ${ DEBUG_FLAGS }
2014-03-29 15:14:16 +00:00
. i f d e f i n e d ( I N S T A L L _ T A R G E T )
2014-03-28 11:23:38 +00:00
INSTALL_TARGET := ${ INSTALL_TARGET : S /^install-strip $/install/g }
bsd.port.mk
[1] Remove DEPENDS
[2] Add a new pkg-plist keyword @stopdaemon
[3] Provide rc.subr script suffix as RC_SUBR_SUFFIX
[4] Add USE_CDRTOOLS to abstract dependency on sysutils/cdrtool[-cjk]
[5] Add DOS2UNIX_REGEX, allowing to pass a filename regex to CRLF replacement
routine
[6] Support partially translated manpages in MAN* variables
[7] Fix USE_LDCONFIG on ports with @cwd in pkg-plist
[8] Remove support for XFree86 3.X
[9] Add user settable WITH_DEBUG flag that turns on -g in CFLAGS and resets
STRIP
[9] Fix `make install' to refuse overwriting of older version of the port
[10] New category ports-mgmt
[11] New category gnustep
[12] Removed category picobsd
bsd.java.mk
[13] Remove deprecated syntax
bsd.tcl.mk
[14] Provide TCL_VER when USE_TK[_BUILD] is defined. Fixes cad/netgen
ports/Makefile
[15] Make csup default `make update' method on FreeBSD 6.2 and up
PR: ports/99742 [1], ports/93373 [2], ports/100915 [3],
ports/105161 [4], ports/106029 [5], ports/106252 [6],
ports/106235 [7], ports/100939 [9], ports/97507 [10],
ports/103931 [11], ports/106921 [12], ports/104136 [13],
ports/105215 [15]
Submitted by: sem [1] [2], Matthias Andree <matthias.andree@gmx.de> [3],
nork [4], pav [5] [7] [14], Nick Barkas <snb@threerings.net> [6],
flz [8], gabor [9], shaun [10], erwin [12], hq [13],
Gurkan Sengun <gurkan@linuks.mine.nu> [11]
2007-01-31 14:07:24 +00:00
. e n d i f
2014-03-29 15:14:16 +00:00
. e n d i f
bsd.port.mk
[1] Remove DEPENDS
[2] Add a new pkg-plist keyword @stopdaemon
[3] Provide rc.subr script suffix as RC_SUBR_SUFFIX
[4] Add USE_CDRTOOLS to abstract dependency on sysutils/cdrtool[-cjk]
[5] Add DOS2UNIX_REGEX, allowing to pass a filename regex to CRLF replacement
routine
[6] Support partially translated manpages in MAN* variables
[7] Fix USE_LDCONFIG on ports with @cwd in pkg-plist
[8] Remove support for XFree86 3.X
[9] Add user settable WITH_DEBUG flag that turns on -g in CFLAGS and resets
STRIP
[9] Fix `make install' to refuse overwriting of older version of the port
[10] New category ports-mgmt
[11] New category gnustep
[12] Removed category picobsd
bsd.java.mk
[13] Remove deprecated syntax
bsd.tcl.mk
[14] Provide TCL_VER when USE_TK[_BUILD] is defined. Fixes cad/netgen
ports/Makefile
[15] Make csup default `make update' method on FreeBSD 6.2 and up
PR: ports/99742 [1], ports/93373 [2], ports/100915 [3],
ports/105161 [4], ports/106029 [5], ports/106252 [6],
ports/106235 [7], ports/100939 [9], ports/97507 [10],
ports/103931 [11], ports/106921 [12], ports/104136 [13],
ports/105215 [15]
Submitted by: sem [1] [2], Matthias Andree <matthias.andree@gmx.de> [3],
nork [4], pav [5] [7] [14], Nick Barkas <snb@threerings.net> [6],
flz [8], gabor [9], shaun [10], erwin [12], hq [13],
Gurkan Sengun <gurkan@linuks.mine.nu> [11]
2007-01-31 14:07:24 +00:00
2013-09-22 00:26:05 +00:00
. i f d e f i n e d ( W I T H _ S S P ) | | d e f i n e d ( W I T H _ S S P _ P O R T S )
2013-09-20 12:54:54 +00:00
. i n c l u d e "${PORTSDIR}/Mk/bsd.ssp.mk"
. e n d i f
2001-01-16 09:25:16 +00:00
. i f d e f i n e d ( N O P O R T D O C S )
2007-03-24 14:02:06 +00:00
PLIST_SUB += PORTDOCS = "@comment "
2001-01-16 09:25:16 +00:00
. e l s e
2007-03-24 14:02:06 +00:00
PLIST_SUB += PORTDOCS = ""
2001-01-16 09:25:16 +00:00
. e n d i f
* Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]
* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]
* Update the description of fetch-list; add targets fetch-required-list,
fetch-url-list, and fetch-urlall-list. [4]
* Make 'make search' also search in ports/MOVED. [5]
* Move several Makevar definitions to the pre-makefile section:
DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]
* The target 'ignorelist-verbose' was added for portsmon. [7]
PR: 69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]
Submitted by: Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
jylefort [3], edwin [4], Lars Engels <lars dot engels
at 0x20 dot net> [5], Alexander Logvinov <ports at
logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +00:00
. i f d e f i n e d ( N O P O R T E X A M P L E S )
PLIST_SUB += PORTEXAMPLES = "@comment "
. e l s e
PLIST_SUB += PORTEXAMPLES = ""
. e n d i f
. i f d e f i n e d ( N O P O R T D A T A )
PLIST_SUB += PORTDATA = "@comment "
. e l s e
PLIST_SUB += PORTDATA = ""
. e n d i f
* 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 }
2007-02-04 20:23:37 +00:00
CONFIGURE_ENV += SHELL = ${ SH } CONFIG_SHELL = ${ SH }
2011-09-04 17:35:07 +00:00
MAKE_ENV += SHELL = ${ SH } NO_LINT = YES
1998-11-11 05:21:29 +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
. i f d e f i n e d ( M A N C O M P R E S S E D )
. i f ${MANCOMPRESSED} != yes && ${ MANCOMPRESSED } != no && \
${ MANCOMPRESSED } != maybe
2004-01-20 09:14:10 +00:00
check-makevars ::
2007-03-24 14:02:06 +00:00
@${ ECHO_MSG } " ${ PKGNAME } : Makefile error: value of MANCOMPRESSED (is \" ${ MANCOMPRESSED } \") can only be \"yes\", \"no\" or \"maybe\" " .
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
@${ FALSE }
. e n d i f
. e n d i f
MANCOMPRESSED ?= no
2001-11-17 21:23:09 +00:00
. i f d e f i n e d ( P A T C H F I L E S )
- 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 ${PATCHFILES : M *.zip }x != x
2010-01-07 15:55:10 +00:00
PATCH_DEPENDS += ${ LOCALBASE } /bin/unzip:${ PORTSDIR } /archivers/unzip
2001-11-17 21:23:09 +00:00
. e n d i f
. e n d i f
2007-07-27 21:40:11 +00:00
# Check the compatibility layer for amd64/ia64
. i f ${ARCH} = = "amd64" || ${ ARCH } = = "ia64"
. i f e x i s t s ( / u s r / l i b 3 2 )
2011-09-04 17:35:07 +00:00
HAVE_COMPAT_IA32_LIBS ?= YES
2007-07-27 21:40:11 +00:00
. e n d i f
. i f ! d e f i n e d ( H A V E _ C O M P A T _ I A 3 2 _ K E R N )
2013-06-25 12:05:14 +00:00
HAVE_COMPAT_IA32_KERN != if ${ SYSCTL } -n compat.ia32.maxvmem >/dev/null 2>& 1; then echo YES; fi ; echo
. i f e m p t y ( H A V E _ C O M P A T _ I A 3 2 _ K E R N )
. u n d e f H A V E _ C O M P A T _ I A 3 2 _ K E R N
. e n d i f
2007-07-27 21:40:11 +00:00
. e n d i f
. e n d i f
. i f d e f i n e d ( I A 3 2 _ B I N A R Y _ P O R T ) & & ${ARCH} != "i386"
. i f ${ARCH} = = "amd64" || ${ ARCH } = = "ia64"
. i f ! d e f i n e d ( H A V E _ C O M P A T _ I A 3 2 _ K E R N )
IGNORE = requires a kernel with compiled-in IA32 compatibility
. e l i f ! d e f i n e d ( H A V E _ C O M P A T _ I A 3 2 _ L I B S )
IGNORE = requires 32-bit libraries installed under /usr/lib32
. e n d i f
_LDCONFIG_FLAGS = -32
LIB32DIR = lib32
. e l s e
IGNORE = requires i386 ( or compatible) platform to run
. e n d i f
. e l s e
LIB32DIR = lib
. e n d i f
PLIST_SUB += LIB32DIR = ${ LIB32DIR }
The pkg developement team is proud to announce the new 1.1.0 beta1 release of
pkg.
Here is the list of new features that happened in pkg 1.1:
- new simpler and more reliable solver
- shared libraries are now always tracked
- ssh:// is supported as a protocol to distribute packages (needs pkg 1.1+ on
the server hosting the packages)
- multirepository is no longer considered experimental and works by default.
- incremental update of the catalog (only if the repository was created by pkg
1.1+)
- simplification of the public API
- stabilisation of the public API (we will now try to keep it stable and if
change are needed there will be deprecation time before removal of some old
functions)
- new experimental pkg convert (can convert from and to legacy pkg database)
pkg2ng now uses pkg convert (still recommanded to use pkg2ng)
- new pkg lock/unlock to prevent any manipulation of a given package (no
upgrade,delete,etc)
- improved UI (now you can see the progress of an upgrade what is left to be
done)
- new pkg annotation to allow one to add annotations (free form key/value) to a
package)
- pkg audit is now able to directly parse the vuxml native format and not only
the compact version
- pkg -vv now shows all available options and their current settings
- pkg -vvv now shows a description of all the available options
- pkg info now automatically considers the query as globbing if * is in the
requested pattern
- new hook plugin interface (allows users to create hooks that get called at
anytime during and upgrade/installation/deletion of a package)
- new cmd plugin interface (allows users to create new sub command available for
pkg)
- pkg register can now register a port installation in the legacy database
format
- repository can be defined in simple yaml files
Internal:
- massive usage of hash tables (uthash), which simplifies a lot of the code,
and improves performances
- lots of optimisation in plist and manifest parsing
- lots of optimisation in loading packages (mmap used when possible)
- lots of cleanup in memory usage
- regression test framework is now ready (using atf) regression test are slowly
being added and populated.
To use this new version:
Ports users (or in building factories: poudriere/tinderbox):
Add WITH_PKGNG=devel to your make.conf
pkg set -o ports-mgmt/pkg:ports-mgmt/pkg-devel
Binary package users, if the remote repository is providing pkg 1.1:
pkg set -o ports-mgmt/pkg:ports-mgmt/pkg-devel
pkg upgrade
Note that pkg 1.1 can use a repository created for pkg 1.0 and vis versa.
Huge thanks to all the people that have contributed to the pkg developement:
- may that be by code
- documentation
- bug report
- feedback
- ideas
List of people who contributed code:
Baptiste Daroussin, Matthew Seaman, Bryan Drewery, Vsevolod Stakhov,
Marin Atanasov Nikolov, Alexandre Perrin, Romain Tartière, Julien Laffaye,
Glen Barber, John Marino, Alex Kozlov, Roman Naumann, Sofian Brabez,
Alberto Villa, Will Andrews, Eitan Adler, Dan McGregor, namor, niamtokik,
Arthur Gautier, Garrett Cooper, Andrew Turner, Jeremy Chadwick,
Hajimu UMEMOTO, Mark Lokowich, Eygene Ryabinkin, Pietro Cerutti,
Rolf Grossmann, Ed Schouten, Dimitry Andric, David Forsythe, Stefan Grundmann,
Craig Rodrigues, Antoine Brodin, Andrey Zonov, Joel Dahl
Stats between 1.0 and 1.1:
287 files changed, 63418 insertions(+), 18763 deletions(-)
1198 commits
2013-05-30 15:17:29 +00:00
PKGNG_ORIGIN ?= ports-mgmt/pkg
2012-01-30 12:39:14 +00:00
. i f d e f i n e d ( W I T H _ P K G N G )
The pkg developement team is proud to announce the new 1.1.0 beta1 release of
pkg.
Here is the list of new features that happened in pkg 1.1:
- new simpler and more reliable solver
- shared libraries are now always tracked
- ssh:// is supported as a protocol to distribute packages (needs pkg 1.1+ on
the server hosting the packages)
- multirepository is no longer considered experimental and works by default.
- incremental update of the catalog (only if the repository was created by pkg
1.1+)
- simplification of the public API
- stabilisation of the public API (we will now try to keep it stable and if
change are needed there will be deprecation time before removal of some old
functions)
- new experimental pkg convert (can convert from and to legacy pkg database)
pkg2ng now uses pkg convert (still recommanded to use pkg2ng)
- new pkg lock/unlock to prevent any manipulation of a given package (no
upgrade,delete,etc)
- improved UI (now you can see the progress of an upgrade what is left to be
done)
- new pkg annotation to allow one to add annotations (free form key/value) to a
package)
- pkg audit is now able to directly parse the vuxml native format and not only
the compact version
- pkg -vv now shows all available options and their current settings
- pkg -vvv now shows a description of all the available options
- pkg info now automatically considers the query as globbing if * is in the
requested pattern
- new hook plugin interface (allows users to create hooks that get called at
anytime during and upgrade/installation/deletion of a package)
- new cmd plugin interface (allows users to create new sub command available for
pkg)
- pkg register can now register a port installation in the legacy database
format
- repository can be defined in simple yaml files
Internal:
- massive usage of hash tables (uthash), which simplifies a lot of the code,
and improves performances
- lots of optimisation in plist and manifest parsing
- lots of optimisation in loading packages (mmap used when possible)
- lots of cleanup in memory usage
- regression test framework is now ready (using atf) regression test are slowly
being added and populated.
To use this new version:
Ports users (or in building factories: poudriere/tinderbox):
Add WITH_PKGNG=devel to your make.conf
pkg set -o ports-mgmt/pkg:ports-mgmt/pkg-devel
Binary package users, if the remote repository is providing pkg 1.1:
pkg set -o ports-mgmt/pkg:ports-mgmt/pkg-devel
pkg upgrade
Note that pkg 1.1 can use a repository created for pkg 1.0 and vis versa.
Huge thanks to all the people that have contributed to the pkg developement:
- may that be by code
- documentation
- bug report
- feedback
- ideas
List of people who contributed code:
Baptiste Daroussin, Matthew Seaman, Bryan Drewery, Vsevolod Stakhov,
Marin Atanasov Nikolov, Alexandre Perrin, Romain Tartière, Julien Laffaye,
Glen Barber, John Marino, Alex Kozlov, Roman Naumann, Sofian Brabez,
Alberto Villa, Will Andrews, Eitan Adler, Dan McGregor, namor, niamtokik,
Arthur Gautier, Garrett Cooper, Andrew Turner, Jeremy Chadwick,
Hajimu UMEMOTO, Mark Lokowich, Eygene Ryabinkin, Pietro Cerutti,
Rolf Grossmann, Ed Schouten, Dimitry Andric, David Forsythe, Stefan Grundmann,
Craig Rodrigues, Antoine Brodin, Andrey Zonov, Joel Dahl
Stats between 1.0 and 1.1:
287 files changed, 63418 insertions(+), 18763 deletions(-)
1198 commits
2013-05-30 15:17:29 +00:00
. i f ${WITH_PKGNG} = = devel
PKGNG_ORIGIN = ports-mgmt/pkg-devel
. e n d i f
2012-01-30 12:39:14 +00:00
. i f ! d e f i n e d ( P K G _ D E P E N D S )
2012-08-30 15:31:25 +00:00
. i f ! d e f i n e d ( C L E A N _ F E T C H _ E N V )
The pkg developement team is proud to announce the new 1.1.0 beta1 release of
pkg.
Here is the list of new features that happened in pkg 1.1:
- new simpler and more reliable solver
- shared libraries are now always tracked
- ssh:// is supported as a protocol to distribute packages (needs pkg 1.1+ on
the server hosting the packages)
- multirepository is no longer considered experimental and works by default.
- incremental update of the catalog (only if the repository was created by pkg
1.1+)
- simplification of the public API
- stabilisation of the public API (we will now try to keep it stable and if
change are needed there will be deprecation time before removal of some old
functions)
- new experimental pkg convert (can convert from and to legacy pkg database)
pkg2ng now uses pkg convert (still recommanded to use pkg2ng)
- new pkg lock/unlock to prevent any manipulation of a given package (no
upgrade,delete,etc)
- improved UI (now you can see the progress of an upgrade what is left to be
done)
- new pkg annotation to allow one to add annotations (free form key/value) to a
package)
- pkg audit is now able to directly parse the vuxml native format and not only
the compact version
- pkg -vv now shows all available options and their current settings
- pkg -vvv now shows a description of all the available options
- pkg info now automatically considers the query as globbing if * is in the
requested pattern
- new hook plugin interface (allows users to create hooks that get called at
anytime during and upgrade/installation/deletion of a package)
- new cmd plugin interface (allows users to create new sub command available for
pkg)
- pkg register can now register a port installation in the legacy database
format
- repository can be defined in simple yaml files
Internal:
- massive usage of hash tables (uthash), which simplifies a lot of the code,
and improves performances
- lots of optimisation in plist and manifest parsing
- lots of optimisation in loading packages (mmap used when possible)
- lots of cleanup in memory usage
- regression test framework is now ready (using atf) regression test are slowly
being added and populated.
To use this new version:
Ports users (or in building factories: poudriere/tinderbox):
Add WITH_PKGNG=devel to your make.conf
pkg set -o ports-mgmt/pkg:ports-mgmt/pkg-devel
Binary package users, if the remote repository is providing pkg 1.1:
pkg set -o ports-mgmt/pkg:ports-mgmt/pkg-devel
pkg upgrade
Note that pkg 1.1 can use a repository created for pkg 1.0 and vis versa.
Huge thanks to all the people that have contributed to the pkg developement:
- may that be by code
- documentation
- bug report
- feedback
- ideas
List of people who contributed code:
Baptiste Daroussin, Matthew Seaman, Bryan Drewery, Vsevolod Stakhov,
Marin Atanasov Nikolov, Alexandre Perrin, Romain Tartière, Julien Laffaye,
Glen Barber, John Marino, Alex Kozlov, Roman Naumann, Sofian Brabez,
Alberto Villa, Will Andrews, Eitan Adler, Dan McGregor, namor, niamtokik,
Arthur Gautier, Garrett Cooper, Andrew Turner, Jeremy Chadwick,
Hajimu UMEMOTO, Mark Lokowich, Eygene Ryabinkin, Pietro Cerutti,
Rolf Grossmann, Ed Schouten, Dimitry Andric, David Forsythe, Stefan Grundmann,
Craig Rodrigues, Antoine Brodin, Andrey Zonov, Joel Dahl
Stats between 1.0 and 1.1:
287 files changed, 63418 insertions(+), 18763 deletions(-)
1198 commits
2013-05-30 15:17:29 +00:00
PKG_DEPENDS += ${ LOCALBASE } /sbin/pkg:${ PORTSDIR } /${ PKGNG_ORIGIN }
2012-01-30 12:39:14 +00:00
. e n d i f
. e n d i f
2012-08-30 15:31:25 +00:00
. e n d i f
2012-01-30 12:39:14 +00:00
2014-02-16 17:15:31 +00:00
. i f d e f i n e d ( U S E _ G C C )
* 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
. i n c l u d e "${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
. e n d i f
2003-11-07 08:51:46 +00:00
2010-09-15 10:54:46 +00:00
. i f d e f i n e d ( U S E _ B I N U T I L S ) & & ! d e f i n e d ( D I S A B L E _ B I N U T I L S )
BUILD_DEPENDS += ${ LOCALBASE } /bin/as:${ PORTSDIR } /devel/binutils
BINUTILS ?= ADDR2LINE AR AS CPPFILT GPROF LD NM OBJCOPY OBJDUMP RANLIB \
READELF SIZE STRINGS
BINUTILS_NO_MAKE_ENV ?=
. f o r b i n $ { B I N U T I L S }
2014-05-05 09:45:36 +00:00
${b} = ${ LOCALBASE } /bin/${ b : C /PP/++/ : tl }
2010-09-15 10:54:46 +00:00
. i f d e f i n e d ( G N U _ C O N F I G U R E ) | | d e f i n e d ( B I N U T I L S _ C O N F I G U R E )
CONFIGURE_ENV += ${ b } = " ${ ${ b } } "
. e n d i f
. if ${BINUTILS_NO_MAKE_ENV : M ${b }} == ""
MAKE_ENV += ${ b } = " ${ ${ b } } "
. e n d i f
. e n d f o r
. e n d i f
2008-07-21 22:29:22 +00:00
. i f d e f i n e d ( U S E _ O P E N L D A P ) | | d e f i n e d ( W A N T _ O P E N L D A P _ V E R )
. i n c l u d e "${PORTSDIR}/Mk/bsd.ldap.mk"
* r1.455 introduced a change that uses su(1) to install the port if
built by non-root. However, sometimes it is desirable to install the
port as a non-privileged user. Introduce the INSTALL_AS_USER variable
to specify this behaviour. [1]
* Change SU to SU_CMD to allow other su-like commands to be used to
perform the privilege escalation when installing as non-root
(e.g. sudo) [2]
* Add support for USE_GCC=3.3 and 3.4 [3]
* Add support for the dns [4] and polish [5] categories, and the xfce
virtual category [6]
* Use the pkg_install port on systems older than OSREVISION=460102, so
they have the benefits of the advanced install/deinstall logic. [7]
PR: ports/55091 [1], ports/55308 [3], ports/50444 [4],
ports/53797 [5]
Submitted by: dinoex [1], fjoe [2], Ulrich Spoerlein <q@uni.de> [3],
Kimura Fuyuki <fuyuki@hadaly.org> [4],
Aleksander Fafula <alex@fafula.com> [5], oliver [6],
marcus [7]
2003-08-15 22:57:58 +00:00
. e n d i f
1998-08-12 01:47:47 +00:00
2014-05-05 09:45:36 +00:00
.if defined(USE_RC_SUBR) && ${USE_RC_SUBR : tu } != "YES "
* 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 }
. e n d i f
2010-04-16 07:18:28 +00:00
* Add info files to TMPPLIST, only if INFO is specified. [1]
* Fix PATH problems during README.html generation if "make
-DPORTSTOP readmes" is defined. [2]
* Add support for early rcNG startup scripts. [3]
* Remove duplicate USE_XLIB handling. [4]
* Add check for USE_PYTHON_(BUILD|RUN), and include bsd.python.mk if
both are specified. [5]
* Use PRE-INSTALL target for SUB_FILES and SUB_LIST. [6]
* Introduce bsd.gstreamer.mk and utilize new macros:
USE_GSTREAMER/WANT_GSTREAMER. [7]
PR: ports/77634 [1], ports/77592 [2], ports/77385 [3],
ports/77557 [4], ports/77344 [5], ports/77211 [6],
ports/77838 [7]
Submitted by: krion [1] [2], Florent Thoumie <flz@xbsd.org> [3] [6],
pav [4], lofi [5], ahze [7]
2005-02-28 21:09:05 +00:00
. i f d e f i n e d ( U S E _ R C O R D E R )
SUB_FILES += ${ USE_RCORDER }
. e n d i f
2003-08-27 04:35:39 +00:00
2014-05-05 09:45:36 +00:00
.if defined(USE_LDCONFIG) && ${USE_LDCONFIG : tl } == "yes "
* Update default MySQL version from 4.1 to 5.0 [1]
* Update default PHP version from 4 to 5 [2]
* Update default LDAP version from 2.2 to 2.3 [3]
* Add support for LDAP version 2.4 [4]
* Update default linux_base from '8' (Redhat 8) to 'fc4' (Fedora Core 4) [5]
* Switch default Linux X implementation from XFree86 to xorg to track the
above [5]
* Deprecate INSTALLS_SHLIB and replace it by USE_LDCONFIG. If set to "yes",
the old behavior is preserved. Otherwise, it can be set to a list of
directories to be added to ${PREFIX}/libdata/ldconfig/${UNIQUENAME}.
Note that this directory is used by ldconfig startup script, it is meant
to replace ldconfig scripts installed by some ports as (sometimes
000.${UNQUENAME}.sh) [6]
* Adds USE_LDCONFIG32 which is like USE_LDCONFIG but the target file is
${PREFIX}/libdata/ldconfig32/${UNIQUENAME} instead. (Note: this should
only be used on 64-bit architectures) [6]
* Set the default LANG for tr to be C to avoid some build problems [7]
* Include bsd.java.mk in both pre and post sections [8]
* Get rid of remnants of FORCE_PKG_REGISTER [9]
* Always print options with make showconfig [10]
PR: 92805 [1], 92806 [2], 96793 [3], 97515 [4], 96849 [5],
91933 [6], 91381 [7], 97020 [8], 95841 [9], 97133 [10]
Submitted by: ale [1][2], delphij [3][4], netchild [5], flz [6],
Tsurutani Naoki <turutani at scphys dot kyoto-u dot ac dot jp>
[7], hq [8], sem [9], pav [10]
2006-06-16 04:53:43 +00:00
USE_LDCONFIG = ${ PREFIX } /lib
. e n d i f
2014-05-05 09:45:36 +00:00
.if defined(USE_LDCONFIG32) && ${USE_LDCONFIG32 : tl } == "yes "
* Refine some comments about Linux emulation [1]
* Fix 'make search' with non-default ${PORTSDIR} [2]
* Fix typo in USE_LDCONFIG32 message [3]
* Allow USE_PHP after inclusion of bsd.port.pre.mk [4]
* Document NO_LDCONFIG_MTREE [5]
* Update/enhance description of INSTALLS_SHLIB and USE_LDCONFIG [6]
* Remove obsolete code in bsd.port.mk dealing with 4.X and other,
even older, releases [7]
* Remove references to obsolete ports from bsd.java.mk [8]
PR: 105883 [1], 105917 [2], 106195 [3], 106557 [4], 108738 [5],
108739 [6], 108782 [7], 103357 [8]
Submitted by: bsam [1], shaun [2], edwin [3], ale [4], gerald [5] [6],
linimon [7], kris [7], gabor [4]
2007-03-06 06:21:46 +00:00
IGNORE = has USE_LDCONFIG32 set to yes, which is not correct
* Update default MySQL version from 4.1 to 5.0 [1]
* Update default PHP version from 4 to 5 [2]
* Update default LDAP version from 2.2 to 2.3 [3]
* Add support for LDAP version 2.4 [4]
* Update default linux_base from '8' (Redhat 8) to 'fc4' (Fedora Core 4) [5]
* Switch default Linux X implementation from XFree86 to xorg to track the
above [5]
* Deprecate INSTALLS_SHLIB and replace it by USE_LDCONFIG. If set to "yes",
the old behavior is preserved. Otherwise, it can be set to a list of
directories to be added to ${PREFIX}/libdata/ldconfig/${UNIQUENAME}.
Note that this directory is used by ldconfig startup script, it is meant
to replace ldconfig scripts installed by some ports as (sometimes
000.${UNQUENAME}.sh) [6]
* Adds USE_LDCONFIG32 which is like USE_LDCONFIG but the target file is
${PREFIX}/libdata/ldconfig32/${UNIQUENAME} instead. (Note: this should
only be used on 64-bit architectures) [6]
* Set the default LANG for tr to be C to avoid some build problems [7]
* Include bsd.java.mk in both pre and post sections [8]
* Get rid of remnants of FORCE_PKG_REGISTER [9]
* Always print options with make showconfig [10]
PR: 92805 [1], 92806 [2], 96793 [3], 97515 [4], 96849 [5],
91933 [6], 91381 [7], 97020 [8], 95841 [9], 97133 [10]
Submitted by: ale [1][2], delphij [3][4], netchild [5], flz [6],
Tsurutani Naoki <turutani at scphys dot kyoto-u dot ac dot jp>
[7], hq [8], sem [9], pav [10]
2006-06-16 04:53:43 +00:00
. e n d i f
2010-08-20 12:15:02 +00:00
. i f d e f i n e d ( U S E _ L I N U X _ P R E F I X ) & & d e f i n e d ( U S E _ L D C O N F I G )
- 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
. e n d i f
2004-02-04 04:27:04 +00:00
. i f d e f i n e d ( U S E _ L I N U X )
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
2009-03-19 17:28:51 +00:00
. i f ! d e f i n e d ( L I N U X _ O S R E L E A S E )
LINUX_OSRELEASE != ${ ECHO_CMD } ` ${ SYSCTL } -n compat.linux.osrelease 2>/dev/null`
. e n d i f
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 =
. i f e x i s t s ( $ { L I N U X B A S E } / u s r / b i n / s t r i p )
STRIP_CMD = ${ LINUXBASE } /usr/bin/strip
. e l s e
STRIP_CMD = ${ TRUE }
. e n d i f
# Allow the user to specify another linux_base version.
. i f d e f i n e d ( O V E R R I D E _ L I N U X _ B A S E _ P O R T )
2014-05-05 09:45:36 +00:00
. if ${USE_LINUX : tl } == yes
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
USE_LINUX = ${ OVERRIDE_LINUX_BASE_PORT }
. e n d i f
. e n d i f
* Change all bogus uses of BROKEN to IGNORE. Note: the BROKEN_WITH_*
forms are retained for compatibility but deprecated [1]
* Add sha256 to CHECKSUM_ALGORITHMS [2]
* Remove some whitespace [2]
* Add USE_SCONS and bsd.scons.mk for the Python-based SCons build system [3]
* Fix USE_LDCONFIG with non-default PREFIX [4]
* Add USE_WX and friends, and bsd.wx.mk, for common code for WxWidgets
support [5]
* Add 'make missing' to show missing dependencies [6]
* Fix DESKTOP_ENTRIES processing on 4.x [7]
PR: 92445 [1], 98206 [2], 98731 [3], 99370 [4], 89398 [5],
93601 [6], 98891 [7]
Submitted by: linimon [1], edwin [2], alex at foxybanana dot com [3],
gerald [4], flz [4], alepulver [5], alex at fafula dot com [6],
shaun [7]
2006-07-05 02:18:09 +00:00
# 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
. i f e x i s t s ( $ { P O R T S D I R } / e m u l a t o r s / l i n u x _ b a s e - $ { U S E _ L I N U X } )
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 = ${ LINUXBASE } /bin/sh:${ PORTSDIR } /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
. e l s e
2014-05-05 09:45:36 +00:00
. if ${USE_LINUX : tl } == "yes "
2009-06-26 17:03:48 +00:00
LINUX_BASE_PORT = ${ LINUXBASE } /etc/fedora-release:${ PORTSDIR } /emulators/linux_base-f10
2006-09-30 19:25:46 +00:00
. e l s e
2007-07-27 21:40:11 +00:00
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
. e n d i f
. e n d i f
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 }
* Add USE_SDL option, which adds a dependency on the sdl12 port and
sets up SDL_CONFIG in the build environment. [1]
* Add the -o option to unzip when extracting files with USE_ZIP, to
overwrite files when extracting, for consistency with other
extraction targets. [2]
* Fix port installation/deinstallation on FreeBSD 4.6.2 and older
(which does not have pkg_info -O), by falling back to the old
installation/deinstallation logic on these systems [3]
* Correctly handle pkg-plist files that contain @cwd directives with
the new install/deinstall code [4]
* Set up POSIX and en_US.US-ASCII locale symlinks after running mtree
on BSD.local.dist. [5]
Submitted by: David Yeske <dyeske@yahoo.com> [1],
Alexey Dokuchaev <danfe@regency.nsu.ru> [2],
Sergey Matveychuk <sem@ciam.ru> [3],
Chris BeHanna <behanna@zbzoom.net> [3], marcus [4],
ache [5]
PR: ports/52309 [1], ports/52856 [2], ports/53189 [5]
2003-07-27 02:06:26 +00:00
. e n d i f
2013-11-28 11:13:27 +00:00
. i f d e f i n e d ( U S E _ D I S P L A Y )
USES += display
2007-05-19 20:36:56 +00:00
. e n d i f
2004-07-23 19:10:32 +00:00
PKG_IGNORE_DEPENDS ?= 'this_port_does_not_exist'
2014-02-03 07:39:39 +00:00
_GL_glesv2_LIB_DEPENDS = libGLESv2.so:${ PORTSDIR } /graphics/libglesv2
2013-09-29 17:01:41 +00:00
_GL_egl_LIB_DEPENDS = libEGL.so:${ PORTSDIR } /graphics/libEGL
_GL_gl_LIB_DEPENDS = libGL.so:${ PORTSDIR } /graphics/libGL
The FreeBSD x11 team proudly presents
an zeising, kwm, miwi, bapt, eadler production:
Xorg 7.7
Starring:
xserver 1.12.4 (new xorg only)
Mesa 8.0.4, including libGL, libGLU and dri (new xorg only)
libX11 1.5.0
libxcb 1.9
libdrm 2.4.42 (new xorg only)
freeglut 2.8.1
Also starring:
Updates to drivers and other libraries and utilities
Additional notes:
Change pkgconf to be a build dependency.
Add a new USE_XORG, xcb, to depend on libxcb and update all ports to use
this.
Trim makefile headers.
Take maintanership of x11/xcb-proto, ok'd by ashish.
If you are running WITH_NEW_XORG=, you need to rebuild all installed
drivers, see UPDATING for more information.
Various fixes to make ports compile.
PR: ports/177942
Exp-run by: miwi
Approved by: portmgr (miwi)
Thanks to all who helped testing!
2013-05-25 14:37:02 +00:00
_GL_gl_USE_XORG = glproto dri2proto
2013-09-29 17:01:41 +00:00
_GL_glew_LIB_DEPENDS = libGLEW.so:${ PORTSDIR } /graphics/glew
_GL_glu_LIB_DEPENDS = libGLU.so:${ PORTSDIR } /graphics/libGLU
The FreeBSD x11 team proudly presents
an zeising, kwm, miwi, bapt, eadler production:
Xorg 7.7
Starring:
xserver 1.12.4 (new xorg only)
Mesa 8.0.4, including libGL, libGLU and dri (new xorg only)
libX11 1.5.0
libxcb 1.9
libdrm 2.4.42 (new xorg only)
freeglut 2.8.1
Also starring:
Updates to drivers and other libraries and utilities
Additional notes:
Change pkgconf to be a build dependency.
Add a new USE_XORG, xcb, to depend on libxcb and update all ports to use
this.
Trim makefile headers.
Take maintanership of x11/xcb-proto, ok'd by ashish.
If you are running WITH_NEW_XORG=, you need to rebuild all installed
drivers, see UPDATING for more information.
Various fixes to make ports compile.
PR: ports/177942
Exp-run by: miwi
Approved by: portmgr (miwi)
Thanks to all who helped testing!
2013-05-25 14:37:02 +00:00
_GL_glu_USE_XORG = glproto dri2proto
2013-09-29 17:01:41 +00:00
_GL_glw_LIB_DEPENDS = libGLw.so:${ PORTSDIR } /graphics/libGLw
_GL_glut_LIB_DEPENDS = libglut.so:${ PORTSDIR } /graphics/freeglut
2007-05-19 20:36:56 +00:00
. i f d e f i n e d ( U S E _ G L )
2014-05-05 09:45:36 +00:00
. if ${USE_GL : tl } == "yes "
2007-05-19 20:36:56 +00:00
USE_GL = glu
2008-03-07 21:47:50 +00:00
. e n d i f
. f o r _ c o m p o n e n t i n $ { U S E _ G L }
. i f ! d e f i n e d ( _ G L _ $ { _ c o m p o n e n t } _ L I B _ D E P E N D S ) & & \
2007-05-19 20:36:56 +00:00
!defined( _GL_${ _component } _RUN_DEPENDS)
2007-07-27 21:40:11 +00:00
IGNORE = uses unknown GL component
2008-03-07 21:47:50 +00:00
. e l s e
The FreeBSD x11 team proudly presents
an zeising, kwm, miwi, bapt, eadler production:
Xorg 7.7
Starring:
xserver 1.12.4 (new xorg only)
Mesa 8.0.4, including libGL, libGLU and dri (new xorg only)
libX11 1.5.0
libxcb 1.9
libdrm 2.4.42 (new xorg only)
freeglut 2.8.1
Also starring:
Updates to drivers and other libraries and utilities
Additional notes:
Change pkgconf to be a build dependency.
Add a new USE_XORG, xcb, to depend on libxcb and update all ports to use
this.
Trim makefile headers.
Take maintanership of x11/xcb-proto, ok'd by ashish.
If you are running WITH_NEW_XORG=, you need to rebuild all installed
drivers, see UPDATING for more information.
Various fixes to make ports compile.
PR: ports/177942
Exp-run by: miwi
Approved by: portmgr (miwi)
Thanks to all who helped testing!
2013-05-25 14:37:02 +00:00
USE_XORG += ${ _GL_ ${ _component } _USE_XORG }
BUILD_DEPENDS += ${ _GL_ ${ _component } _BUILD_DEPENDS }
2007-05-19 20:36:56 +00:00
LIB_DEPENDS += ${ _GL_ ${ _component } _LIB_DEPENDS }
RUN_DEPENDS += ${ _GL_ ${ _component } _RUN_DEPENDS }
2008-03-07 21:47:50 +00:00
. e n d i f
. e n d f o r
2007-05-19 20:36:56 +00:00
. e n d i f
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
. i f ! d e f i n e d ( N O _ S T A G E )
. i n c l u d e "${PORTSDIR}/Mk/bsd.stage.mk"
2014-01-20 07:42:00 +00:00
. e l s e
# Ignore STAGEDIR if set from make.conf
. u n d e f S T A G E D I R
# From command line it is impossible to undefined so we must raise an error
2014-01-20 09:09:04 +00:00
. i f d e f i n e d ( S T A G E D I R )
2014-01-20 07:42:00 +00:00
IGNORE = Do not define STAGEDIR in command line
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
. e n d i f
2014-01-20 09:09:04 +00:00
. e n d i f
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
2012-01-30 12:39:14 +00:00
. i f d e f i n e d ( W I T H _ P K G N G )
. i n c l u d e "${PORTSDIR}/Mk/bsd.pkgng.mk"
. e n d i f
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
. i f d e f i n e d ( U S E _ L O C A L _ M K )
. i n c l u d e "${PORTSDIR}/Mk/bsd.local.mk"
. e n d i f
2004-04-19 01:37:12 +00:00
2007-10-03 22:24:59 +00:00
. i f d e f i n e d ( U S E _ X O R G ) | | d e f i n e d ( X O R G _ C A T )
. i n c l u d e "${PORTSDIR}/Mk/bsd.xorg.mk"
. e n d i f
* 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
. i f d e f i n e d ( U S E _ M Y S Q L ) | | d e f i n e d ( W A N T _ M Y S Q L _ V E R ) | | \
defined( USE_PGSQL) || defined( WANT_PGSQL_VER) || \
2006-09-30 19:25:46 +00:00
defined( USE_BDB) || defined( USE_SQLITE) || defined( USE_FIREBIRD)
* 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
. i n c l u d e "${PORTSDIR}/Mk/bsd.database.mk"
. e n d i f
2012-12-10 12:46:43 +00:00
. i f d e f i n e d ( W A N T _ G S T R E A M E R ) | | d e f i n e d ( U S E _ G S T R E A M E R ) | | d e f i n e d ( U S E _ G S T R E A M E R 1 )
* Add info files to TMPPLIST, only if INFO is specified. [1]
* Fix PATH problems during README.html generation if "make
-DPORTSTOP readmes" is defined. [2]
* Add support for early rcNG startup scripts. [3]
* Remove duplicate USE_XLIB handling. [4]
* Add check for USE_PYTHON_(BUILD|RUN), and include bsd.python.mk if
both are specified. [5]
* Use PRE-INSTALL target for SUB_FILES and SUB_LIST. [6]
* Introduce bsd.gstreamer.mk and utilize new macros:
USE_GSTREAMER/WANT_GSTREAMER. [7]
PR: ports/77634 [1], ports/77592 [2], ports/77385 [3],
ports/77557 [4], ports/77344 [5], ports/77211 [6],
ports/77838 [7]
Submitted by: krion [1] [2], Florent Thoumie <flz@xbsd.org> [3] [6],
pav [4], lofi [5], ahze [7]
2005-02-28 21:09:05 +00:00
. i n c l u d e "${PORTSDIR}/Mk/bsd.gstreamer.mk"
. e n d i f
2007-03-24 14:02:06 +00:00
. i f d e f i n e d ( U S E _ E F L ) | | d e f i n e d ( W A N T _ E F L ) | | d e f i n e d ( U S E _ E F L _ E S M A R T )
. i n c l u d e "${PORTSDIR}/Mk/bsd.efl.mk"
. e n d i f
* Update default MySQL version from 4.1 to 5.0 [1]
* Update default PHP version from 4 to 5 [2]
* Update default LDAP version from 2.2 to 2.3 [3]
* Add support for LDAP version 2.4 [4]
* Update default linux_base from '8' (Redhat 8) to 'fc4' (Fedora Core 4) [5]
* Switch default Linux X implementation from XFree86 to xorg to track the
above [5]
* Deprecate INSTALLS_SHLIB and replace it by USE_LDCONFIG. If set to "yes",
the old behavior is preserved. Otherwise, it can be set to a list of
directories to be added to ${PREFIX}/libdata/ldconfig/${UNIQUENAME}.
Note that this directory is used by ldconfig startup script, it is meant
to replace ldconfig scripts installed by some ports as (sometimes
000.${UNQUENAME}.sh) [6]
* Adds USE_LDCONFIG32 which is like USE_LDCONFIG but the target file is
${PREFIX}/libdata/ldconfig32/${UNIQUENAME} instead. (Note: this should
only be used on 64-bit architectures) [6]
* Set the default LANG for tr to be C to avoid some build problems [7]
* Include bsd.java.mk in both pre and post sections [8]
* Get rid of remnants of FORCE_PKG_REGISTER [9]
* Always print options with make showconfig [10]
PR: 92805 [1], 92806 [2], 96793 [3], 97515 [4], 96849 [5],
91933 [6], 91381 [7], 97020 [8], 95841 [9], 97133 [10]
Submitted by: ale [1][2], delphij [3][4], netchild [5], flz [6],
Tsurutani Naoki <turutani at scphys dot kyoto-u dot ac dot jp>
[7], hq [8], sem [9], pav [10]
2006-06-16 04:53:43 +00:00
. i f d e f i n e d ( U S E _ J A V A )
. i n c l u d e "${PORTSDIR}/Mk/bsd.java.mk"
. e n d i f
2014-03-26 20:07:11 +00:00
. i f d e f i n e d ( U S E _ O C A M L )
. i n c l u d e "${PORTSDIR}/Mk/bsd.ocaml.mk"
. e n d i f
- 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
. i f d e f i n e d ( U S E _ L I N U X _ R P M )
. i n c l u d e "${PORTSDIR}/Mk/bsd.linux-rpm.mk"
. e n d i f
2009-03-19 17:28:51 +00:00
. i f d e f i n e d ( U S E _ L I N U X _ A P P S )
. i n c l u d e "${PORTSDIR}/Mk/bsd.linux-apps.mk"
. e n d i f
2014-03-03 16:50:32 +00:00
. i f d e f i n e d ( U S E _ Q T 4 ) | | d e f i n e d ( U S E _ Q T 5 )
2007-07-16 10:12:15 +00:00
. i n c l u d e "${PORTSDIR}/Mk/bsd.qt.mk"
. e n d i f
* Change all bogus uses of BROKEN to IGNORE. Note: the BROKEN_WITH_*
forms are retained for compatibility but deprecated [1]
* Add sha256 to CHECKSUM_ALGORITHMS [2]
* Remove some whitespace [2]
* Add USE_SCONS and bsd.scons.mk for the Python-based SCons build system [3]
* Fix USE_LDCONFIG with non-default PREFIX [4]
* Add USE_WX and friends, and bsd.wx.mk, for common code for WxWidgets
support [5]
* Add 'make missing' to show missing dependencies [6]
* Fix DESKTOP_ENTRIES processing on 4.x [7]
PR: 92445 [1], 98206 [2], 98731 [3], 99370 [4], 89398 [5],
93601 [6], 98891 [7]
Submitted by: linimon [1], edwin [2], alex at foxybanana dot com [3],
gerald [4], flz [4], alepulver [5], alex at fafula dot com [6],
shaun [7]
2006-07-05 02:18:09 +00:00
. i f d e f i n e d ( U S E _ S C O N S )
. i n c l u d e "${PORTSDIR}/Mk/bsd.scons.mk"
. e n d i f
2004-02-04 04:27:04 +00:00
. i f d e f i n e d ( U S E _ S D L ) | | d e f i n e d ( W A N T _ S D L )
. i n c l u d e "${PORTSDIR}/Mk/bsd.sdl.mk"
. e n d i f
2000-10-05 01:32:21 +00:00
* Refine some comments about Linux emulation [1]
* Fix 'make search' with non-default ${PORTSDIR} [2]
* Fix typo in USE_LDCONFIG32 message [3]
* Allow USE_PHP after inclusion of bsd.port.pre.mk [4]
* Document NO_LDCONFIG_MTREE [5]
* Update/enhance description of INSTALLS_SHLIB and USE_LDCONFIG [6]
* Remove obsolete code in bsd.port.mk dealing with 4.X and other,
even older, releases [7]
* Remove references to obsolete ports from bsd.java.mk [8]
PR: 105883 [1], 105917 [2], 106195 [3], 106557 [4], 108738 [5],
108739 [6], 108782 [7], 103357 [8]
Submitted by: bsam [1], shaun [2], edwin [3], ale [4], gerald [5] [6],
linimon [7], kris [7], gabor [4]
2007-03-06 06:21:46 +00:00
. i f d e f i n e d ( U S E _ P H P )
. i n c l u d e "${PORTSDIR}/Mk/bsd.php.mk"
. e n d i f
- 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
. i f d e f i n e d ( U S E _ P Y T H O N )
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
. i n c l u d e "${PORTSDIR}/Mk/bsd.python.mk"
. e n d i f
2006-09-15 06:57:07 +00:00
. i f d e f i n e d ( U S E _ L U A ) | | d e f i n e d ( U S E _ L U A _ N O T )
. i n c l u d e "${PORTSDIR}/Mk/bsd.lua.mk"
. e n d i f
* Change all bogus uses of BROKEN to IGNORE. Note: the BROKEN_WITH_*
forms are retained for compatibility but deprecated [1]
* Add sha256 to CHECKSUM_ALGORITHMS [2]
* Remove some whitespace [2]
* Add USE_SCONS and bsd.scons.mk for the Python-based SCons build system [3]
* Fix USE_LDCONFIG with non-default PREFIX [4]
* Add USE_WX and friends, and bsd.wx.mk, for common code for WxWidgets
support [5]
* Add 'make missing' to show missing dependencies [6]
* Fix DESKTOP_ENTRIES processing on 4.x [7]
PR: 92445 [1], 98206 [2], 98731 [3], 99370 [4], 89398 [5],
93601 [6], 98891 [7]
Submitted by: linimon [1], edwin [2], alex at foxybanana dot com [3],
gerald [4], flz [4], alepulver [5], alex at fafula dot com [6],
shaun [7]
2006-07-05 02:18:09 +00:00
. i f d e f i n e d ( U S E _ W X ) | | d e f i n e d ( U S E _ W X _ N O T )
. i n c l u d e "${PORTSDIR}/Mk/bsd.wx.mk"
. e n d i f
2011-04-24 15:37:53 +00:00
. i f d e f i n e d ( U S E _ A P A C H E ) | | d e f i n e d ( U S E _ A P A C H E _ B U I L D ) | | d e f i n e d ( U S E _ A P A C H E _ R U N )
* 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
. i n c l u d e "${PORTSDIR}/Mk/bsd.apache.mk"
. e n d i f
2006-02-23 10:43:00 +00:00
. i f d e f i n e d ( U S E _ A U T O T O O L S )
- 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
. i n c l u d e "${PORTSDIR}/Mk/bsd.autotools.mk"
2009-05-22 21:57:33 +00:00
. e n d i f
. i f d e f i n e d ( U S E _ F P C ) | | d e f i n e d ( W A N T _ F P C _ B A S E ) | | d e f i n e d ( W A N T _ F P C _ A L L )
. i n c l u d e "${PORTSDIR}/Mk/bsd.fpc.mk"
2006-02-23 10:43:00 +00:00
. e n d i f
- 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
2014-05-11 23:10:16 +00:00
. i f d e f i n e d ( U S E _ G E C K O )
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
. i n c l u d e "${PORTSDIR}/Mk/bsd.gecko.mk"
. e n d i f
2008-07-21 22:29:22 +00:00
. i f d e f i n e d ( W A N T _ G N O M E ) | | d e f i n e d ( U S E _ G N O M E )
- 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
. i n c l u d e "${PORTSDIR}/Mk/bsd.gnome.mk"
. e n d i f
2013-11-23 11:39:07 +00:00
. i f d e f i n e d ( U S E _ M A T E )
. i n c l u d e "${PORTSDIR}/Mk/bsd.mate.mk"
. e n d i f
2007-03-14 04:06:55 +00:00
. i f d e f i n e d ( U S E _ X F C E )
. i n c l u d e "${PORTSDIR}/Mk/bsd.xfce.mk"
. e n d i f
* Change all bogus uses of BROKEN to IGNORE. Note: the BROKEN_WITH_*
forms are retained for compatibility but deprecated [1]
* Add sha256 to CHECKSUM_ALGORITHMS [2]
* Remove some whitespace [2]
* Add USE_SCONS and bsd.scons.mk for the Python-based SCons build system [3]
* Fix USE_LDCONFIG with non-default PREFIX [4]
* Add USE_WX and friends, and bsd.wx.mk, for common code for WxWidgets
support [5]
* Add 'make missing' to show missing dependencies [6]
* Fix DESKTOP_ENTRIES processing on 4.x [7]
PR: 92445 [1], 98206 [2], 98731 [3], 99370 [4], 89398 [5],
93601 [6], 98891 [7]
Submitted by: linimon [1], edwin [2], alex at foxybanana dot com [3],
gerald [4], flz [4], alepulver [5], alex at fafula dot com [6],
shaun [7]
2006-07-05 02:18:09 +00:00
2008-08-09 16:52:28 +00:00
. i f d e f i n e d ( U S E _ K D E 4 )
. i n c l u d e "${PORTSDIR}/Mk/bsd.kde4.mk"
. e n d i f
2012-09-06 20:59:27 +00:00
. i f e x i s t s ( $ { P O R T S D I R } / M a k e f i l e . i n c )
. i n c l u d e "${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
1994-09-11 12:01:05 +00:00
. e n d i f
2013-07-08 13:34:24 +00:00
# Loading features
. f o r f i n $ { _ U S E S _ P O S T }
_f = ${ f : C / \: .*//g }
. i f ${_f} != ${ f }
${_f}_ARGS := ${ f : C /^[^ \: ]* \: //g }
. e n d i f
. i n c l u d e "${USESDIR}/${_f}.mk"
. e n d f o r
2012-09-06 20:59:27 +00:00
. i f d e f i n e d ( U S E _ X O R G )
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# Add explicit X options to avoid problems with false positives in configure
. i f d e f i n e d ( G N U _ C O N F I G U R E )
2012-01-13 02:17:01 +00:00
CONFIGURE_ARGS += --x-libraries= ${ LOCALBASE } /lib --x-includes= ${ LOCALBASE } /include
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
. e n d i f
. e n d i f
2004-01-20 09:14:10 +00:00
# Set the default for the installation of Postscript(TM)-
# compatible functionality.
2008-09-05 19:41:48 +00:00
. i f ! d e f i n e d ( U S E _ G H O S T S C R I P T )
. i f d e f i n e d ( U S E _ G H O S T S C R I P T _ B U I L D )
_USE_GHOSTSCRIPT = ${ USE_GHOSTSCRIPT_BUILD }
. e l i f d e f i n e d ( U S E _ G H O S T S C R I P T _ R U N )
_USE_GHOSTSCRIPT = ${ USE_GHOSTSCRIPT_RUN }
. e n d i f
2004-01-20 09:14:10 +00:00
. e l s e
2008-09-05 19:41:48 +00:00
_USE_GHOSTSCRIPT = ${ USE_GHOSTSCRIPT }
2004-01-20 09:14:10 +00:00
. e n d i f
2008-09-05 19:41:48 +00:00
2013-05-03 23:37:06 +00:00
.if defined(WITH_GHOSTSCRIPT_VER) && !empty(WITH_GHOSTSCRIPT_VER : M [789])
2008-09-05 19:41:48 +00:00
_USE_GHOSTSCRIPT_DEFAULT_VER = ${ WITH_GHOSTSCRIPT_VER }
2004-01-20 09:14:10 +00:00
. e l s e
2011-06-07 14:22:23 +00:00
_USE_GHOSTSCRIPT_DEFAULT_VER = 9
2008-09-05 19:41:48 +00:00
. e n d i f
. i f d e f i n e d ( _ U S E _ G H O S T S C R I P T )
. i f ! d e f i n e d ( W I T H O U T _ X 1 1 )
_USE_GHOSTSCRIPT_PKGNAME_SUFFIX =
. e l s e
_USE_GHOSTSCRIPT_PKGNAME_SUFFIX = -nox11
. e n d i f
2013-05-03 23:37:06 +00:00
. if !empty(_USE_GHOSTSCRIPT : M [789])
_USE_GHOSTSCRIPT_VER = ${ _USE_GHOSTSCRIPT : M [789] }
2008-09-05 19:41:48 +00:00
. e l s e
_USE_GHOSTSCRIPT_VER = ${ _USE_GHOSTSCRIPT_DEFAULT_VER }
. e n d i f
2004-01-20 09:14:10 +00:00
. e l s e
2008-09-05 19:41:48 +00:00
_USE_GHOSTSCRIPT_VER = ${ _USE_GHOSTSCRIPT_DEFAULT_VER }
2004-01-20 09:14:10 +00:00
. e n d i f
2008-09-05 19:41:48 +00:00
# Sanity check
. i f d e f i n e d ( _ U S E _ G H O S T S C R I P T ) & & d e f i n e d ( W I T H _ G H O S T S C R I P T _ V E R )
2013-05-03 23:37:06 +00:00
. if empty(WITH_GHOSTSCRIPT_VER : M [789])
2008-09-05 19:41:48 +00:00
. e r r o r Y o u s e t a n i n v a l i d v a l u e "${WITH_GHOSTSCRIPT_VER}" i n W I T H _ G H O S T S C R I P T _ V E R . A b o r t .
. e l i f ${_USE_GHOSTSCRIPT_VER} != ${ WITH_GHOSTSCRIPT_VER }
. e r r o r Y o u s e t W I T H _ G H O S T S C R I P T _ V E R a s $ { W I T H _ G H O S T S C R I P T _ V E R } b u t $ { P K G N A M E } r e q u i r e s p r i n t / g h o s t s c r i p t $ { _ U S E _ G H O S T S C R I P T _ V E R } . A b o r t .
. e n d i f
2004-01-20 09:14:10 +00:00
. e n d i f
2008-09-05 19:41:48 +00:00
GHOSTSCRIPT_PORT ?= print/ghostscript${ _USE_GHOSTSCRIPT_VER } ${ _USE_GHOSTSCRIPT_PKGNAME_SUFFIX }
2004-01-20 09:14:10 +00:00
# Set up the ghostscript dependencies.
. i f d e f i n e d ( U S E _ G H O S T S C R I P T ) | | d e f i n e d ( U S E _ G H O S T S C R I P T _ B U I L D )
BUILD_DEPENDS += gs:${ PORTSDIR } /${ GHOSTSCRIPT_PORT }
. e n d i f
. i f d e f i n e d ( U S E _ G H O S T S C R I P T ) | | d e f i n e d ( U S E _ G H O S T S C R I P T _ R U N )
RUN_DEPENDS += gs:${ PORTSDIR } /${ GHOSTSCRIPT_PORT }
. e n d i f
- 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
2003-09-03 19:50:24 +00:00
REINPLACE_ARGS ?= -i.bak
REINPLACE_CMD ?= ${ SED } ${ REINPLACE_ARGS }
2002-07-09 13:37:26 +00:00
2002-03-25 08:48:47 +00:00
# Names of cookies used to skip already completed stages
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
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 }
1994-08-22 11:20:07 +00:00
1994-08-28 14:41:34 +00:00
# How to do nothing. Override if you, for some strange reason, would rather
# do something.
Add a bunch of generally used command macros:
BZCAT, BZIP2_CMD, CHGRP, CUT, DC, ECHO_CMD, EGREP, FILE, FIND,
HEAD, ID, IDENT, STRIP_CMD, SU, TAIL, TEST, XARGS
And use shell (ash or ksh) builtins where available for efficiency:
ECHO_CMD, FALSE, TEST, TRUE
Grepping the ports tree, a few dozen ports already have FIND,
STRIP_CMD and XARGS variables on their own and numerous ports use
these commands without using macros. Some ports use FILE as a .for
loop variable, but it doesn't matter anyway.
Obtained from: NetBSD
Remove the definition of ECHO because it is already defined in
/usr/share/mk/sys.mk and leaving the useless definition may mislead
developers. Add the following comment that would help:
# ECHO is defined in /usr/share/mk/sys.mk and its value can either be
# "echo", or "true" if the make flag -s is given. Use ECHO_CMD where
# you mean the echo command.
No response yet from: portmgr
Clued by: Cyrille Lefevre <clefevre@citeweb.net> (on ${ECHO})
2001-11-17 21:05:50 +00:00
DO_NADA ?= ${ TRUE }
1994-08-28 14:41:34 +00:00
2000-06-14 02:14:49 +00:00
# Use this as the first operand to always build dependency.
NONEXISTENT ?= /nonexistent
2010-10-28 21:00:21 +00:00
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
2010-10-28 21:00:21 +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
1994-09-11 12:55:54 +00:00
MAKE_FLAGS ?= -f
MAKEFILE ?= Makefile
2013-07-30 06:32:01 +00:00
MAKE_CMD ?= /usr/bin/make
2007-08-04 11:37:24 +00:00
MAKE_ENV += PREFIX = ${ PREFIX } \
2012-01-13 02:17:01 +00:00
LOCALBASE = ${ LOCALBASE } \
2013-07-10 07:41:13 +00:00
LIBDIR = " ${ LIBDIR } " \
2011-03-07 07:32:05 +00:00
CC = " ${ CC } " CFLAGS = " ${ CFLAGS } " \
CPP = " ${ CPP } " CPPFLAGS = " ${ CPPFLAGS } " \
2011-09-23 22:26:39 +00:00
LDFLAGS = " ${ LDFLAGS } " \
2011-03-07 07:32:05 +00:00
CXX = " ${ CXX } " CXXFLAGS = " ${ CXXFLAGS } " \
2008-07-24 22:29:33 +00:00
MANPREFIX = " ${ MANPREFIX } "
1994-09-09 06:21:43 +00:00
2008-03-11 23:45:04 +00:00
# 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.
. i f ! d e f i n e d ( W I T H O U T _ N O _ S T R I C T _ A L I A S I N G )
. i f ${CC} != "icc"
.if !empty(CFLAGS : M -O [23s ]) && empty (CFLAGS :M -fno -strict -aliasing )
CFLAGS += -fno-strict-aliasing
. e n d i f
. e n d i f
. e n d i f
2009-06-03 21:50:50 +00:00
. i f d e f i n e d ( U S E _ C S T D )
CFLAGS := ${ CFLAGS : N -std=* } -std= ${ USE_CSTD }
. e n d i f
2013-12-27 10:46:54 +00:00
. i f d e f i n e d ( C F L A G S _ $ { A R C H } )
CFLAGS += ${ CFLAGS_ ${ ARCH } }
. e n d i f
2013-09-09 10:37:03 +00:00
. i f d e f i n e d ( U S E _ C X X S T D )
CXXFLAGS := ${ CXXFLAGS : N -std=* } -std= ${ USE_CXXSTD }
. e n d i f
2013-12-27 10:46:54 +00:00
. i f d e f i n e d ( C X X F L A G S _ $ { A R C H } )
CXXFLAGS += ${ CXXFLAGS_ ${ ARCH } }
. e n d i f
2009-03-22 10:28:53 +00:00
# Multiple make jobs support
. i f d e f i n e d ( D I S A B L E _ M A K E _ J O B S ) | | d e f i n e d ( M A K E _ J O B S _ U N S A F E )
_MAKE_JOBS = #
2013-07-16 12:04:09 +00:00
MAKE_JOBS_NUMBER = 1
2009-03-22 10:28:53 +00:00
. e l s e
2013-07-16 12:04:09 +00:00
. i f d e f i n e d ( M A K E _ J O B S _ N U M B E R )
2013-07-16 14:35:57 +00:00
_MAKE_JOBS_NUMBER := ${ MAKE_JOBS_NUMBER }
2013-07-16 12:04:09 +00:00
. e l s e
_MAKE_JOBS_NUMBER != ${ SYSCTL } -n kern.smp.cpus
2009-03-22 10:28:53 +00:00
. e n d i f
2013-07-16 12:04:09 +00:00
. i f d e f i n e d ( M A K E _ J O B S _ N U M B E R _ L I M I T ) & & ( $ { M A K E _ J O B S _ N U M B E R _ L I M I T } < $ { _ M A K E _ J O B S _ N U M B E R } )
MAKE_JOBS_NUMBER = ${ MAKE_JOBS_NUMBER_LIMIT }
. e l s e
MAKE_JOBS_NUMBER = ${ _MAKE_JOBS_NUMBER }
2009-03-22 10:28:53 +00:00
. e n d i f
2013-07-16 12:04:09 +00:00
_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.
2013-05-08 00:12:08 +00:00
. e n d i f
2012-08-30 15:31:25 +00:00
# ccache support
2014-05-03 15:11:01 +00:00
# Try to set a default CCACHE_DIR to workaround HOME=/dev/null and
# HOME=${WRKDIR}/* staging fixes
. i f d e f i n e d ( W I T H _ C C A C H E _ B U I L D ) & & ! d e f i n e d ( C C A C H E _ D I R ) & & \
( !defined( HOME) || ${ HOME } = = /dev/null || ${ HOME : S /^ ${ WRKDIR } // } != ${ HOME } )
. i f d e f i n e d ( U S E R ) & & ${USER} = = root
CCACHE_DIR = /root/.ccache
. e l s e
NO_CCACHE = yes
WARNING += WITH_CCACHE_BUILD support disabled, please set CCACHE_DIR.
. e n d i f
. e n d i f
2012-08-30 15:31:25 +00:00
# Support NO_CCACHE for common setups, require WITH_CCACHE_BUILD, and
# don't use if ccache already set in CC
2013-09-27 13:17:14 +00:00
.if !defined(NO_CCACHE) && defined(WITH_CCACHE_BUILD) && !${CC : M *ccache *} && \
2013-10-11 02:22:24 +00:00
!defined( NO_BUILD) && !defined( NOCCACHE)
2012-08-30 15:31:25 +00:00
# Avoid depends loops between pkg and ccache
. if !${.CURDIR : M */devel /ccache } && !${.CURDIR :M */ports -mgmt /pkg }
BUILD_DEPENDS += ${ LOCALBASE } /bin/ccache:${ PORTSDIR } /devel/ccache
. e n d i f
2013-05-30 01:14:42 +00:00
_CCACHE_PATH = ${ LOCALBASE } /libexec/ccache
2012-08-30 15:31:25 +00:00
# Prepend the ccache dir into the PATH and setup ccache env
2013-05-30 01:14:42 +00:00
PATH := ${ _CCACHE_PATH } :${ PATH }
2014-05-03 15:11:01 +00:00
#.MAKEFLAGS: PATH=${PATH}
2013-08-30 11:41:31 +00:00
.if !${MAKE_ENV : MPATH =*} && !${CONFIGURE_ENV :MPATH =*}
2013-05-30 01:14:42 +00:00
MAKE_ENV += PATH = ${ PATH }
CONFIGURE_ENV += PATH = ${ PATH }
. e n d i f
2014-05-03 15:11:01 +00:00
# Ensure this is always in subchild environments
2013-04-23 00:26:55 +00:00
. i f d e f i n e d ( C C A C H E _ D I R )
2014-05-03 15:11:01 +00:00
#.MAKEFLAGS: CCACHE_DIR=${CCACHE_DIR}
2013-04-23 00:26:55 +00:00
MAKE_ENV += CCACHE_DIR = " ${ CCACHE_DIR } "
CONFIGURE_ENV += CCACHE_DIR = " ${ CCACHE_DIR } "
. e n d i f
2012-08-30 15:31:25 +00:00
. e n d i f
2004-02-04 04:27:04 +00:00
PTHREAD_CFLAGS ?=
2004-10-07 17:59:18 +00:00
PTHREAD_LIBS ?= -pthread
2001-03-24 21:35:22 +00:00
2013-07-31 13:30:18 +00:00
FETCH_ENV ?= SSL_NO_VERIFY_PEER = 1 SSL_NO_VERIFY_HOSTNAME = 1
2007-03-14 04:06:55 +00:00
FETCH_BINARY ?= /usr/bin/fetch
2014-01-03 00:02:08 +00:00
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
* Refine some comments about Linux emulation [1]
* Fix 'make search' with non-default ${PORTSDIR} [2]
* Fix typo in USE_LDCONFIG32 message [3]
* Allow USE_PHP after inclusion of bsd.port.pre.mk [4]
* Document NO_LDCONFIG_MTREE [5]
* Update/enhance description of INSTALLS_SHLIB and USE_LDCONFIG [6]
* Remove obsolete code in bsd.port.mk dealing with 4.X and other,
even older, releases [7]
* Remove references to obsolete ports from bsd.java.mk [8]
PR: 105883 [1], 105917 [2], 106195 [3], 106557 [4], 108738 [5],
108739 [6], 108782 [7], 103357 [8]
Submitted by: bsam [1], shaun [2], edwin [3], ale [4], gerald [5] [6],
linimon [7], kris [7], gabor [4]
2007-03-06 06:21:46 +00:00
. i f ! d e f i n e d ( D I S A B L E _ S I Z E )
2004-01-20 09:14:10 +00:00
FETCH_BEFORE_ARGS += $$ { CKSIZE:+-S $$ CKSIZE}
2004-02-04 04:27:04 +00:00
. e n d i f
2007-03-14 04:06:55 +00:00
FETCH_CMD ?= ${ FETCH_BINARY } ${ FETCH_ARGS }
1994-09-09 06:21:43 +00:00
2003-11-07 08:51:46 +00:00
. i f d e f i n e d ( R A N D O M I Z E _ M A S T E R _ S I T E S )
. i f e x i s t s ( / u s r / g a m e s / r a n d o m )
RANDOM_CMD ?= /usr/games/random
RANDOM_ARGS ?= "-w -f -"
_RANDOMIZE_SITES = " | ${ RANDOM_CMD } ${ RANDOM_ARGS } "
. e n d i f
. e n d i f
1995-06-26 07:01:20 +00:00
TOUCH ?= /usr/bin/touch
1994-11-01 18:09:22 +00:00
TOUCH_FLAGS ?= -f
2003-05-06 05:15:18 +00:00
DISTORIG ?= .bak.orig
1995-06-26 07:01:20 +00:00
PATCH ?= /usr/bin/patch
1994-09-28 14:19:30 +00:00
PATCH_STRIP ?= -p0
Add support for "distributed" patches and a little extra cleanup.
New variables:
PATCH_SITES: patch equivalent of MASTER_SITES, overridable with
. MASTER_SITE_OVERRIDE.
PATCHFILES: Additional files to fetch and give to patch before
. applying the ones in patches/patch-*. If name ends
. with ".gz" or ".Z", it will be piped through zcat first.
Plus PATCH_DIST_STRIP and PATCH_DIST_ARGS that serve the same functions
as PATCH_STRIP and PATCH_ARGS for patches in patches/patch-*.
In the documentation and echo messages, I used the term "distributed
patches" and "FreeBSD patches" to refer to ${PATCHFILES} and patches/patch-*.
If you can come up with better names, by all means go ahead and fix them.
"grep PATCH /usr/ports/*/*/Makefile" reveals seven ports (mule, jless,
jtcl, jtk, dgd, less, color_xterm, gee I wonder why I'm the one who
implemented this) that can benefit from this. I'm now diving headlong
into /usr/ports to fix their Makefiles.
1995-03-28 01:14:29 +00:00
PATCH_DIST_STRIP ?= -p0
1994-12-10 18:07:38 +00:00
. i f d e f i n e d ( P A T C H _ D E B U G )
1996-08-17 10:16:02 +00:00
PATCH_DEBUG_TMP = yes
2000-10-17 10:11:16 +00:00
PATCH_ARGS ?= -d ${ PATCH_WRKSRC } -E ${ PATCH_STRIP }
* Fix INDEX build if MAINTAINER is not defined. [1]
* Remove USE_QT2 since it's obsolete now. [2]
* Clarify comments about ARCH. [3]
* Speedup 'make readmes'. Add a perl script "Tools/make_readmes"
and modify bsd.port.subdir.mk to avoid recursing into individual
port directories to create README.html. [4]
* Fix 'make search' to allow case insensitive search on 5-x/6-x. [5]
* Add the possibility to search the ports by category. [6]
* Remove tk42 and tcl76 from virtual categories since they're
obsolete. [7]
* Introduce new variable - DISTVERSION, vendor version of the
distribution, that can be set instead of PORTVERSION and is
automatically converted in a conforming PORTVERSION. [8]
* Use --suffix instead of -b option for patch(1) to make it
compatible with BSD patch(1) [9]
* Fix {WANT,WITH}_MYSQL_VER behavior, to deal with conflicting
versions. [10]
PR: ports/68895 [1], ports/69486 [2], ports/68539 [3],
ports/70018 [4], ports/68896 [5], ports/73299 [6],
ports/73570 [7], ports/67171 [8], ports/72182 [9]
Submitted by: linimon [1][3], arved [2][7], cperciva [4],
Matthew Seaman <m.seaman@infracaninophile.co.uk> [5],
Radek Kozlowski <radek@raadradd.com> [6],
eik [8], Andreas Hauser <andy-freebsd@splashground.de> [9],
clement [10]
2004-11-19 13:45:07 +00:00
PATCH_DIST_ARGS ?= --suffix ${ DISTORIG } -d ${ PATCH_WRKSRC } -E ${ PATCH_DIST_STRIP }
1994-12-10 18:07:38 +00:00
. e l s e
1996-08-17 10:16:02 +00:00
PATCH_DEBUG_TMP = no
2000-10-17 10:11:16 +00:00
PATCH_ARGS ?= -d ${ PATCH_WRKSRC } --forward --quiet -E ${ PATCH_STRIP }
* Fix INDEX build if MAINTAINER is not defined. [1]
* Remove USE_QT2 since it's obsolete now. [2]
* Clarify comments about ARCH. [3]
* Speedup 'make readmes'. Add a perl script "Tools/make_readmes"
and modify bsd.port.subdir.mk to avoid recursing into individual
port directories to create README.html. [4]
* Fix 'make search' to allow case insensitive search on 5-x/6-x. [5]
* Add the possibility to search the ports by category. [6]
* Remove tk42 and tcl76 from virtual categories since they're
obsolete. [7]
* Introduce new variable - DISTVERSION, vendor version of the
distribution, that can be set instead of PORTVERSION and is
automatically converted in a conforming PORTVERSION. [8]
* Use --suffix instead of -b option for patch(1) to make it
compatible with BSD patch(1) [9]
* Fix {WANT,WITH}_MYSQL_VER behavior, to deal with conflicting
versions. [10]
PR: ports/68895 [1], ports/69486 [2], ports/68539 [3],
ports/70018 [4], ports/68896 [5], ports/73299 [6],
ports/73570 [7], ports/67171 [8], ports/72182 [9]
Submitted by: linimon [1][3], arved [2][7], cperciva [4],
Matthew Seaman <m.seaman@infracaninophile.co.uk> [5],
Radek Kozlowski <radek@raadradd.com> [6],
eik [8], Andreas Hauser <andy-freebsd@splashground.de> [9],
clement [10]
2004-11-19 13:45:07 +00:00
PATCH_DIST_ARGS ?= --suffix ${ DISTORIG } -d ${ PATCH_WRKSRC } --forward --quiet -E ${ PATCH_DIST_STRIP }
1994-12-10 18:07:38 +00:00
. e n d i f
2014-02-24 17:36:15 +00:00
. i f ! d e f i n e d ( Q U I E T )
PATCH_SILENT = PATCH_SILENT = yes
. e n d i f
1995-10-11 09:25:58 +00:00
. i f d e f i n e d ( B A T C H )
PATCH_ARGS += --batch
PATCH_DIST_ARGS += --batch
. e n d i f
1994-09-28 14:19:30 +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
# Prevent breakage with VERSION_CONTROL=numbered
PATCH_ARGS += -V simple
1995-06-24 10:27:23 +00:00
. i f d e f i n e d ( P A T C H _ C H E C K _ O N L Y )
PATCH_ARGS += -C
PATCH_DIST_ARGS += -C
. e n d i f
* 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
. i f ${PATCH} = = "/usr/bin/patch"
* Fix INDEX build if MAINTAINER is not defined. [1]
* Remove USE_QT2 since it's obsolete now. [2]
* Clarify comments about ARCH. [3]
* Speedup 'make readmes'. Add a perl script "Tools/make_readmes"
and modify bsd.port.subdir.mk to avoid recursing into individual
port directories to create README.html. [4]
* Fix 'make search' to allow case insensitive search on 5-x/6-x. [5]
* Add the possibility to search the ports by category. [6]
* Remove tk42 and tcl76 from virtual categories since they're
obsolete. [7]
* Introduce new variable - DISTVERSION, vendor version of the
distribution, that can be set instead of PORTVERSION and is
automatically converted in a conforming PORTVERSION. [8]
* Use --suffix instead of -b option for patch(1) to make it
compatible with BSD patch(1) [9]
* Fix {WANT,WITH}_MYSQL_VER behavior, to deal with conflicting
versions. [10]
PR: ports/68895 [1], ports/69486 [2], ports/68539 [3],
ports/70018 [4], ports/68896 [5], ports/73299 [6],
ports/73570 [7], ports/67171 [8], ports/72182 [9]
Submitted by: linimon [1][3], arved [2][7], cperciva [4],
Matthew Seaman <m.seaman@infracaninophile.co.uk> [5],
Radek Kozlowski <radek@raadradd.com> [6],
eik [8], Andreas Hauser <andy-freebsd@splashground.de> [9],
clement [10]
2004-11-19 13:45:07 +00:00
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
. e n d i f
(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
2013-04-29 08:57:12 +00:00
EXTRACT_CMD ?= ${ TAR }
EXTRACT_BEFORE_ARGS ?= -xf
- 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
. i f d e f i n e d ( E X T R A C T _ P R E S E R V E _ O W N E R S H I P )
2013-04-29 08:57:12 +00:00
EXTRACT_AFTER_ARGS ?=
1995-03-22 21:28:31 +00:00
. e l s e
2013-04-29 08:57:12 +00:00
EXTRACT_AFTER_ARGS ?= --no-same-owner --no-same-permissions
1995-03-22 21:28:31 +00:00
. e n d i f
1994-08-21 13:12:57 +00:00
1995-04-19 15:02:26 +00:00
# Figure out where the local mtree file is
2000-06-14 02:14:49 +00:00
. i f ! d e f i n e d ( M T R E E _ F I L E ) & & ! d e f i n e d ( N O _ M T R E E )
2007-05-19 20:36:56 +00:00
. i f ${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
. e l s e
2007-05-19 20:36:56 +00:00
MTREE_FILE = ${ PORTSDIR } /Templates/BSD.local.dist
1995-06-25 06:30:51 +00:00
. e n d i f
2008-04-14 16:46:41 +00:00
MTREE_FILE_DEFAULT = yes
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
. e n d i f
1997-06-04 00:12:19 +00:00
MTREE_CMD ?= /usr/sbin/mtree
2000-09-22 01:17:17 +00:00
MTREE_ARGS ?= -U ${ MTREE_FOLLOWS_SYMLINKS } -f ${ MTREE_FILE } -d -e -p
1995-04-19 15:02:26 +00:00
2008-04-14 16:46:41 +00:00
READLINK_CMD ?= /usr/bin/readlink
2002-01-23 03:48:44 +00:00
# Determine whether or not we can use rootly owner/group functions.
. i f ${UID} = = 0
_BINOWNGRP = -o ${ BINOWN } -g ${ BINGRP }
_SHROWNGRP = -o ${ SHAREOWN } -g ${ SHAREGRP }
_MANOWNGRP = -o ${ MANOWN } -g ${ MANGRP }
. e l s e
_BINOWNGRP =
_SHROWNGRP =
_MANOWNGRP =
. e n d i f
1996-08-15 05:55:33 +00:00
# A few aliases for *-install targets
INSTALL_PROGRAM = \
2014-04-03 23:01:16 +00:00
${ INSTALL } ${ COPY } ${ STRIP } ${ _BINOWNGRP } -m ${ BINMODE }
2007-10-03 22:24:59 +00:00
INSTALL_KLD = \
${ INSTALL } ${ COPY } ${ _BINOWNGRP } -m ${ BINMODE }
2010-10-13 09:04:30 +00:00
INSTALL_LIB = \
2014-04-03 23:01:16 +00:00
${ INSTALL } ${ COPY } ${ STRIP } ${ _SHROWNGRP } -m ${ SHAREMODE }
1996-08-15 05:55:33 +00:00
INSTALL_SCRIPT = \
2002-01-23 03:48:44 +00:00
${ INSTALL } ${ COPY } ${ _BINOWNGRP } -m ${ BINMODE }
1996-08-15 05:55:33 +00:00
INSTALL_DATA = \
2002-01-23 03:48:44 +00:00
${ INSTALL } ${ COPY } ${ _SHROWNGRP } -m ${ SHAREMODE }
1996-08-15 05:55:33 +00:00
INSTALL_MAN = \
2002-01-23 03:48:44 +00:00
${ INSTALL } ${ COPY } ${ _MANOWNGRP } -m ${ MANMODE }
1996-08-15 05:55:33 +00:00
1997-01-12 11:48:26 +00:00
INSTALL_MACROS = BSD_INSTALL_PROGRAM = " ${ INSTALL_PROGRAM } " \
2010-10-13 09:04:30 +00:00
BSD_INSTALL_LIB = " ${ INSTALL_LIB } " \
1997-01-12 11:48:26 +00:00
BSD_INSTALL_SCRIPT = " ${ INSTALL_SCRIPT } " \
BSD_INSTALL_DATA = " ${ INSTALL_DATA } " \
BSD_INSTALL_MAN = " ${ INSTALL_MAN } "
MAKE_ENV += ${ INSTALL_MACROS }
SCRIPTS_ENV += ${ INSTALL_MACROS }
2008-07-21 22:29:22 +00:00
# Macro for copying entire directory tree with correct permissions
2007-07-27 21:40:11 +00:00
. i f ${UID} = = 0
COPYTREE_BIN = ${ SH } -c ' ( ${ FIND } -d $$ 0 $$ 2 | ${ CPIO } -dumpl $$ 1 >/dev/null \
2>& 1) && \
2013-10-28 13:08:14 +00:00
${ CHOWN } -Rh ${ BINOWN } :${ BINGRP } $$ 1 && \
2009-01-11 11:04:05 +00:00
${ FIND } -d $$ 0 $$ 2 -type d -exec chmod 755 $$ 1/{ } \; && \
${ FIND } -d $$ 0 $$ 2 -type f -exec chmod ${ BINMODE } $$ 1/{ } \; ' --
2007-07-27 21:40:11 +00:00
COPYTREE_SHARE = ${ SH } -c ' ( ${ FIND } -d $$ 0 $$ 2 | ${ CPIO } -dumpl $$ 1 >/dev/null \
2>& 1) && \
2013-10-28 13:08:14 +00:00
${ CHOWN } -Rh ${ SHAREOWN } :${ SHAREGRP } $$ 1 && \
2009-01-11 11:04:05 +00:00
${ FIND } -d $$ 0 $$ 2 -type d -exec chmod 755 $$ 1/{ } \; && \
${ FIND } -d $$ 0 $$ 2 -type f -exec chmod ${ SHAREMODE } $$ 1/{ } \; ' --
2007-07-27 21:40:11 +00:00
. e l s e
COPYTREE_BIN = ${ SH } -c ' ( ${ FIND } -d $$ 0 $$ 2 | ${ CPIO } -dumpl $$ 1 >/dev/null \
2>& 1) && \
2009-01-11 11:04:05 +00:00
${ FIND } -d $$ 0 $$ 2 -type d -exec chmod 755 $$ 1/{ } \; && \
${ FIND } -d $$ 0 $$ 2 -type f -exec chmod ${ BINMODE } $$ 1/{ } \; ' --
2007-07-27 21:40:11 +00:00
COPYTREE_SHARE = ${ SH } -c ' ( ${ FIND } -d $$ 0 $$ 2 | ${ CPIO } -dumpl $$ 1 >/dev/null \
2>& 1) && \
2009-01-11 11:04:05 +00:00
${ FIND } -d $$ 0 $$ 2 -type d -exec chmod 755 $$ 1/{ } \; && \
${ FIND } -d $$ 0 $$ 2 -type f -exec chmod ${ SHAREMODE } $$ 1/{ } \; ' --
2007-07-27 21:40:11 +00:00
. e n d i f
1995-05-13 05:37:45 +00:00
# The user can override the NO_PACKAGE by specifying this from
# the make command line
. i f d e f i n e d ( F O R C E _ P A C K A G E )
. u n d e f N O _ P A C K A G E
. e n d i f
2000-10-01 17:27:40 +00:00
DESCR ?= ${ PKGDIR } /pkg-descr
PLIST ?= ${ PKGDIR } /pkg-plist
2013-03-19 09:27:52 +00:00
PKGHELP ?= ${ PKGDIR } /pkg-help
2000-10-01 17:27:40 +00:00
PKGINSTALL ?= ${ PKGDIR } /pkg-install
PKGDEINSTALL ?= ${ PKGDIR } /pkg-deinstall
PKGREQ ?= ${ PKGDIR } /pkg-req
PKGMESSAGE ?= ${ PKGDIR } /pkg-message
TMPPLIST ?= ${ WRKDIR } /.PLIST.mktmp
2012-01-15 22:13:42 +00:00
TMPPLIST_SORT ?= ${ WRKDIR } /.PLIST.mktmp.sorted
Latest round of infrastructure changes.
- bsd.port.mk: add INDEX_PORTS, to support INDEX creation for a subset of the ports tree [1]
- bsd.port.mk: call target "install-rc-script" before "post-install" [2]
- [patch] ports/Mk bsd.port.mk order if groups/users are created by package [3]
- [bsd.port.mk] [patch] reaper of the dead: md5 has been in /sbin for a while [4]
- [bsd.port.mk] [patch] remove support for pre 7.x systems (b.*.m) [5]
- [patch] [bsd.port.mk] reaper of the dead: are three variable defintions needed [6]
PR: ports/156575 [1],
ports/139116 [2],
ports/152498 [3],
ports/155983 [4],
ports/155510 [5],
ports/156340 [6]
Submitted by: Florent Thoumie <flz@xbsd.org> [1],
Sergey Skvortsov <skv@freebsd.org> [2],
Olli Hauer <ohauer@FreeBSD.org> [3],
Eitan Adler <lists@eitanadler.com> [4],
Eitan Adler <lists@eitanadler.com> [5],
Eitan Adler <lists@eitanadler.com> [6]
2011-05-04 22:33:13 +00:00
TMPGUCMD ?= ${ WRKDIR } /.PLIST.gucmd
1997-02-23 13:24:45 +00:00
1995-03-27 13:11:18 +00:00
. i f ! d e f i n e d ( P K G _ A R G S )
2007-10-03 22:24:59 +00:00
PKG_ARGS = -v -c -${ COMMENT : Q } -d ${ DESCR } -f ${ TMPPLIST } -p ${ PREFIX } -P " `cd ${ .CURDIR } && ${ MAKE } actual-package-depends | ${ GREP } -v -E ${ PKG_IGNORE_DEPENDS } | ${ SORT } -u -t : -k 2` " ${ EXTRA_PKG_ARGS } $$ { _LATE_PKG_ARGS}
1997-06-04 00:12:19 +00:00
. i f ! d e f i n e d ( N O _ M T R E E )
PKG_ARGS += -m ${ MTREE_FILE }
1995-04-19 15:02:26 +00:00
. e n d i f
2001-01-16 09:25:16 +00:00
. i f d e f i n e d ( P K G O R I G I N )
PKG_ARGS += -o ${ PKGORIGIN }
. e n d i f
2003-05-06 05:15:18 +00:00
. i f d e f i n e d ( C O N F L I C T S ) & & ! d e f i n e d ( D I S A B L E _ C O N F L I C T S )
2004-01-20 09:14:10 +00:00
PKG_ARGS += -C " ${ CONFLICTS } "
2003-05-06 05:15:18 +00:00
. e n d i f
2010-12-01 08:32:50 +00:00
. i f d e f i n e d ( C O N F L I C T S _ I N S T A L L ) & & ! d e f i n e d ( D I S A B L E _ C O N F L I C T S )
PKG_ARGS += -C " ${ CONFLICTS_INSTALL } "
. e n d i f
1995-03-27 13:11:18 +00:00
. e n d i f
1998-12-12 07:39:30 +00:00
. i f d e f i n e d ( P K G _ N O C O M P R E S S )
PKG_SUFX ?= .tar
. e l s e
2012-02-22 17:34:47 +00:00
. i f d e f i n e d ( W I T H _ P K G N G )
PKG_SUFX ?= .txz
. e l s e
2002-08-04 06:01:48 +00:00
PKG_SUFX ?= .tbz
1998-12-12 07:39:30 +00:00
. e n d i f
2012-02-22 17:34:47 +00:00
. e n d i f
1995-04-19 15:02:26 +00:00
# where pkg_add records its dirty deeds.
2007-08-04 11:37:24 +00:00
PKG_DBDIR ?= /var/db/pkg
1994-08-22 13:11:32 +00:00
1994-11-03 19:53:46 +00:00
ALL_TARGET ?= all
INSTALL_TARGET ?= install
2013-06-28 11:51:05 +00:00
INSTALL_TARGET += ${ LATE_INSTALL_ARGS }
1994-11-03 19:53:46 +00:00
2010-05-25 00:25:02 +00:00
# Integrate with the license auditing framework
2011-03-31 03:37:14 +00:00
. i f ! d e f i n e d ( D I S A B L E _ L I C E N S E S )
2010-05-25 00:25:02 +00:00
. i n c l u d e "${PORTSDIR}/Mk/bsd.licenses.mk"
2011-03-31 03:37:14 +00:00
. e n d i f
2010-05-25 00:25:02 +00:00
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
# Popular master sites
2008-07-21 22:29:22 +00:00
. i n c l u d e "${PORTSDIR}/Mk/bsd.sites.mk"
1999-03-29 07:07:59 +00:00
1997-04-30 03:12:05 +00:00
# Empty declaration to avoid "variable MASTER_SITES recursive" error
MASTER_SITES ?=
PATCH_SITES ?=
2002-01-23 03:48:44 +00:00
_MASTER_SITES_DEFAULT ?=
2002-01-24 01:15:03 +00:00
_PATCH_SITES_DEFAULT ?=
2002-01-23 03:48:44 +00:00
# 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)
. f o r _ S i n $ { M A S T E R _ S I T E S }
2009-08-22 19:32:48 +00:00
_S_TEMP = ${ _S : S /^ ${ _S : C @/? : [^/ : ]+ $@ /@ } // : S /^ : // }
2002-01-23 03:48:44 +00:00
. i f ! e m p t y ( _ S _ T E M P )
. for _group in ${_S_TEMP : S /, / /g }
2002-11-03 05:43:49 +00:00
_G_TEMP = ${ _group }
. i f ${_G_TEMP} = = all || ${ _G_TEMP } = = ALL || ${ _G_TEMP } = = default
2004-01-20 09:14:10 +00:00
check-makevars ::
2007-03-24 14:02:06 +00:00
@${ 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"
2002-01-23 03:48:44 +00:00
@${ FALSE }
. e n d i f
_MASTER_SITES_${_group} += ${ _S : C @^(.*/) : [^/ : ]+ $@ \1 @ }
. e n d f o r
. e l s e
_MASTER_SITES_DEFAULT += ${ _S : C @^(.*/) : [^/ : ]+ $@ \1 @ }
. e n d i f
. e n d f o r
. f o r _ S i n $ { P A T C H _ S I T E S }
_S_TEMP = ${ _S : S /^ ${ _S : C @/ : [^/ : ]+ $@ /@ } // : S /^ : // }
. i f ! e m p t y ( _ S _ T E M P )
. for _group in ${_S_TEMP : S /, / /g }
2002-11-03 05:43:49 +00:00
_G_TEMP = ${ _group }
. i f ${_G_TEMP} = = all || ${ _G_TEMP } = = ALL || ${ _G_TEMP } = = default
2004-01-20 09:14:10 +00:00
check-makevars ::
2007-03-24 14:02:06 +00:00
@${ ECHO_MSG } "The words all, ALL and default are reserved and cannot be"
@${ ECHO_MSG } "used in group definitions. Please fix your PATCH_SITES"
2002-01-23 03:48:44 +00:00
@${ FALSE }
. e n d i f
_PATCH_SITES_${_group} += ${ _S : C @^(.*/) : [^/ : ]+ $@ \1 @ }
. e n d f o r
. e l s e
_PATCH_SITES_DEFAULT += ${ _S : C @^(.*/) : [^/ : ]+ $@ \1 @ }
. e n d i f
. e n d f o r
# 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)
. f o r _ S i n $ { M A S T E R _ S I T E _ S U B D I R }
_S_TEMP = ${ _S : S /^ ${ _S : C @/ : [^/ : ]+ $@ /@ } // : S /^ : // }
. i f ! e m p t y ( _ S _ T E M P )
. for _group in ${_S_TEMP : S /, / /g }
2002-11-03 05:43:49 +00:00
_G_TEMP = ${ _group }
. i f ${_G_TEMP} = = all || ${ _G_TEMP } = = ALL || ${ _G_TEMP } = = default
2004-01-20 09:14:10 +00:00
check-makevars ::
2007-03-24 14:02:06 +00:00
@${ 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"
2002-01-23 03:48:44 +00:00
@${ FALSE }
. e n d i f
. i f d e f i n e d ( _ M A S T E R _ S I T E S _ $ { _ g r o u p } )
_MASTER_SITE_SUBDIR_${_group} += ${ _S : C @^(.*)/ : [^/ : ]+ $@ \1 @ }
. e n d i f
. e n d f o r
. e l s e
. i f d e f i n e d ( _ M A S T E R _ S I T E S _ D E F A U L T )
_MASTER_SITE_SUBDIR_DEFAULT += ${ _S : C @^(.*)/ : [^/ : ]+ $@ \1 @ }
. e n d i f
. e n d i f
. e n d f o r
. f o r _ S i n $ { P A T C H _ S I T E _ S U B D I R }
_S_TEMP = ${ _S : S /^ ${ _S : C @/ : [^/ : ]+ $@ /@ } // : S /^ : // }
. i f ! e m p t y ( _ S _ T E M P )
. for _group in ${_S_TEMP : S /, / /g }
2002-11-03 05:43:49 +00:00
_G_TEMP = ${ _group }
. i f ${_G_TEMP} = = all || ${ _G_TEMP } = = ALL || ${ _G_TEMP } = = default
2004-01-20 09:14:10 +00:00
check-makevars ::
2007-03-24 14:02:06 +00:00
@${ 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"
2002-01-23 03:48:44 +00:00
@${ FALSE }
. e n d i f
. i f d e f i n e d ( _ P A T C H _ S I T E S _ $ { _ g r o u p } )
_PATCH_SITE_SUBDIR_${_group} += ${ _S : C @^(.*)/ : [^/ : ]+ $@ \1 @ }
. e n d i f
. e n d f o r
. e l s e
. i f d e f i n e d ( _ P A T C H _ S I T E S _ D E F A U L T )
_PATCH_SITE_SUBDIR_DEFAULT += ${ _S : C @^(.*)/ : [^/ : ]+ $@ \1 @ }
. e n d i f
. e n d i f
. e n d f o r
1997-04-30 03:12:05 +00:00
# Substitute subdirectory names
2002-01-23 03:48:44 +00:00
# XXX simpler/faster solution but not the best space wise, suggestions please
. f o r _ S i n $ { M A S T E R _ S I T E S }
_S_TEMP = ${ _S : S /^ ${ _S : C @/ : [^/ : ]+ $@ /@ } // : S /^ : // }
. i f ! e m p t y ( _ S _ T E M P )
. for _group in ${_S_TEMP : S /, / /g }
2002-11-03 05:43:49 +00:00
. i f ! d e f i n e d ( _ M A S T E R _ S I T E _ S U B D I R _ $ { _ g r o u p } )
2002-04-02 05:24:33 +00:00
MASTER_SITES_TMP = ${ _MASTER_SITES_ ${ _group } : S ^%SUBDIR%/^^ }
2002-11-03 05:43:49 +00:00
. e l s e
_S_TEMP_TEMP = ${ _MASTER_SITES_ ${ _group } : M *%SUBDIR%/* }
. i f e m p t y ( _ S _ T E M P _ T E M P )
MASTER_SITES_TMP = ${ _MASTER_SITES_ ${ _group } }
. e l s e
MASTER_SITES_TMP =
. f o r s i t e i n $ { _ M A S T E R _ S I T E S _ $ { _ g r o u p } }
_S_TEMP_TEMP = ${ site : M *%SUBDIR%/* }
. i f e m p t y ( _ S _ T E M P _ T E M P )
MASTER_SITES_TMP += ${ site }
. e l s e
. f o r d i r i n $ { _ M A S T E R _ S I T E _ S U B D I R _ $ { _ g r o u p } }
MASTER_SITES_TMP += ${ site : S ^%SUBDIR%^ \$ {dir } ^}
. e n d f o r
. e n d i f
. e n d f o r
. e n d i f
2002-01-23 03:48:44 +00:00
. e n d i f
_MASTER_SITES_${_group} := ${ MASTER_SITES_TMP }
. e n d f o r
. e n d i f
(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
. e n d f o r
2002-01-23 03:48:44 +00:00
. i f d e f i n e d ( _ M A S T E R _ S I T E _ S U B D I R _ D E F A U L T )
2002-11-03 05:43:49 +00:00
_S_TEMP = ${ _MASTER_SITES_DEFAULT : M *%SUBDIR%/* }
. i f e m p t y ( _ S _ T E M P )
MASTER_SITES_TMP = ${ _MASTER_SITES_DEFAULT }
. e l s e
2002-04-02 05:24:33 +00:00
MASTER_SITES_TMP =
2002-11-03 05:43:49 +00:00
. f o r s i t e i n $ { _ M A S T E R _ S I T E S _ D E F A U L T }
_S_TEMP_TEMP = ${ site : M *%SUBDIR%/* }
. i f e m p t y ( _ S _ T E M P _ T E M P )
MASTER_SITES_TMP += ${ site }
. e l s e
. f o r d i r i n $ { _ M A S T E R _ S I T E _ S U B D I R _ D E F A U L T }
MASTER_SITES_TMP += ${ site : S ^%SUBDIR%^ \$ {dir } ^}
. e n d f o r
. e n d i f
. e n d f o r
. e n d i f
1999-03-08 07:23:10 +00:00
. e l s e
2002-01-23 03:48:44 +00:00
MASTER_SITES_TMP = ${ _MASTER_SITES_DEFAULT : S ^%SUBDIR%/^^ }
. e n d i f
_MASTER_SITES_DEFAULT := ${ MASTER_SITES_TMP }
MASTER_SITES_TMP =
. f o r _ S i n $ { P A T C H _ S I T E S }
_S_TEMP = ${ _S : S /^ ${ _S : C @/ : [^/ : ]+ $@ /@ } // : S /^ : // }
. i f ! e m p t y ( _ S _ T E M P )
. for _group in ${_S_TEMP : S /, / /g }
2002-11-03 05:43:49 +00:00
. i f ! d e f i n e d ( _ P A T C H _ S I T E _ S U B D I R _ $ { _ g r o u p } )
2002-04-02 05:24:33 +00:00
PATCH_SITES_TMP = ${ _PATCH_SITES_ ${ _group } : S ^%SUBDIR%/^^ }
2002-11-03 05:43:49 +00:00
. e l s e
_S_TEMP_TEMP = ${ _PATCH_SITES_ ${ _group } : M *%SUBDIR%/* }
. i f e m p t y ( _ S _ T E M P _ T E M P )
PATCH_SITES_TMP = ${ _PATCH_SITES_ ${ _group } }
. e l s e
PATCH_SITES_TMP =
. f o r s i t e i n $ { _ P A T C H _ S I T E S _ $ { _ g r o u p } }
_S_TEMP_TEMP = ${ site : M *%SUBDIR%/* }
. i f e m p t y ( _ S _ T E M P _ T E M P )
PATCH_SITES_TMP += ${ site }
. e l s e
. f o r d i r i n $ { _ P A T C H _ S I T E _ S U B D I R _ $ { _ g r o u p } }
PATCH_SITES_TMP += ${ site : S ^%SUBDIR%^ \$ {dir } ^}
. e n d f o r
. e n d i f
. e n d f o r
. e n d i f
2002-01-23 03:48:44 +00:00
. e n d i f
_PATCH_SITES_${_group} := ${ PATCH_SITES_TMP }
. e n d f o r
. e n d i f
(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
. e n d f o r
2002-01-23 03:48:44 +00:00
. i f d e f i n e d ( _ P A T C H _ S I T E _ S U B D I R _ D E F A U L T )
2002-11-03 05:43:49 +00:00
_S_TEMP = ${ _PATCH_SITES_DEFAULT : M *%SUBDIR%/* }
. i f e m p t y ( _ S _ T E M P )
PATCH_SITES_TMP = ${ _PATCH_SITES_DEFAULT }
. e l s e
2002-04-02 05:24:33 +00:00
PATCH_SITES_TMP =
2002-11-03 05:43:49 +00:00
. f o r s i t e i n $ { _ P A T C H _ S I T E S _ D E F A U L T }
_S_TEMP_TEMP = ${ site : M *%SUBDIR%/* }
. i f e m p t y ( _ S _ T E M P _ T E M P )
PATCH_SITES_TMP += ${ site }
. e l s e
. f o r d i r i n $ { _ P A T C H _ S I T E _ S U B D I R _ D E F A U L T }
PATCH_SITES_TMP += ${ site : S ^%SUBDIR%^ \$ {dir } ^}
. e n d f o r
. e n d i f
. e n d f o r
. e n d i f
1999-03-08 07:23:10 +00:00
. e l s e
2002-01-23 03:48:44 +00:00
PATCH_SITES_TMP = ${ _PATCH_SITES_DEFAULT : S ^%SUBDIR%/^^ }
1999-03-08 07:23:10 +00:00
. e n d i f
2002-01-23 03:48:44 +00:00
_PATCH_SITES_DEFAULT := ${ PATCH_SITES_TMP }
PATCH_SITES_TMP =
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
1996-11-30 10:31:50 +00:00
# The primary backup site.
MASTER_SITE_BACKUP ?= \
2014-05-15 17:39:03 +00:00
http://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/${ DIST_SUBDIR } /
1999-03-08 07:23:10 +00:00
MASTER_SITE_BACKUP := ${ MASTER_SITE_BACKUP : S ^ \$ {DIST_SUBDIR } /^^}
1996-11-30 10:31:50 +00:00
1999-01-26 03:58:58 +00:00
# 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.
2000-08-25 10:17:39 +00:00
. i f d e f i n e d ( M A S T E R _ S I T E _ F R E E B S D )
_MASTER_SITE_OVERRIDE := ${ MASTER_SITE_BACKUP }
_MASTER_SITE_BACKUP := # empty
1999-01-26 03:58:58 +00:00
. e l s e
2000-08-25 10:17:39 +00:00
_MASTER_SITE_OVERRIDE = ${ MASTER_SITE_OVERRIDE }
_MASTER_SITE_BACKUP = ${ MASTER_SITE_BACKUP }
1999-01-26 03:58:58 +00:00
. e n d i f
1994-09-01 16:01:34 +00:00
1996-08-24 09:28:48 +00:00
# Search CDROM first if mounted, symlink instead of copy if
# FETCH_SYMLINK_DISTFILES is set
2002-02-22 18:53:28 +00:00
. f o r M O U N T P T i n $ { C D _ M O U N T P T S }
2002-01-23 03:48:44 +00:00
. i f e x i s t s ( $ { M O U N T P T } / p o r t s / d i s t f i l e s )
_MASTER_SITE_OVERRIDE := file:${ MOUNTPT } /ports/distfiles/${ DIST_SUBDIR } / ${ _MASTER_SITE_OVERRIDE }
1996-08-24 09:28:48 +00:00
. i f d e f i n e d ( F E T C H _ S Y M L I N K _ D I S T F I L E S )
FETCH_BEFORE_ARGS += -l
. e n d i f
. e n d i f
2002-01-23 03:48:44 +00:00
. e n d f o r
- 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 ?=
2002-01-23 03:48:44 +00:00
# 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 }
2002-11-03 05:43:49 +00:00
_G_TEMP = DEFAULT
2002-01-23 03:48:44 +00:00
. f o r _ D i n $ { D I S T F I L E S }
_D_TEMP = ${ _D : S /^ ${ _D : C / : [^ : ]+ $// } // }
2002-11-03 05:43:49 +00:00
. i f ! e m p t y ( _ D _ T E M P )
. for _group in ${_D_TEMP : S /^://:S /, / /g }
. i f ! d e f i n e d ( _ M A S T E R _ S I T E S _ $ { _ g r o u p } )
_G_TEMP_TEMP = ${ _G_TEMP : M / ${ _group } / }
. i f e m p t y ( _ G _ T E M P _ T E M P )
_G_TEMP += ${ _group }
_MASTER_SITES_ALL += ${ _MASTER_SITES_ ${ _group } }
. e n d i f
. e n d i f
. e n d f o r
2002-01-23 03:48:44 +00:00
_DISTFILES += ${ _D : C / : [^ : ]+ $// }
. e l s e
_DISTFILES += ${ _D }
. e n d i f
. e n d f o r
2002-11-03 05:43:49 +00:00
_G_TEMP = DEFAULT
2002-01-23 03:48:44 +00:00
. f o r _ P i n $ { P A T C H F I L E S }
2013-10-05 10:20:15 +00:00
_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 /^ : // }
. i f ! e m p t y ( _ P _ g r o u p s )
. for _group in ${_P_groups : S /, / /g }
2002-11-03 05:43:49 +00:00
. i f ! d e f i n e d ( _ P A T C H _ S I T E S _ $ { _ g r o u p } )
_G_TEMP_TEMP = ${ _G_TEMP : M / ${ _group } / }
. i f e m p t y ( _ G _ T E M P _ T E M P )
_G_TEMP += ${ _group }
_PATCH_SITES_ALL += ${ _PATCH_SITES_ ${ _group } }
. e n d i f
. e n d i f
. e n d f o r
2013-10-05 10:20:15 +00:00
. e n d i f
_PATCHFILES := ${ _PATCHFILES } ${ _P_file }
. i f ! e m p t y ( _ P _ s t r i p )
_PATCH_DIST_STRIP_CASES := ${ _PATCH_DIST_STRIP_CASES } ( " ${ _P_file } " ) printf %s " ${ _P_strip } " ; ;
2002-01-23 03:48:44 +00:00
. e n d i f
. e n d f o r
2013-10-05 10:20:15 +00:00
_P_groups =
_P_file =
_P_strip =
2002-11-03 05:43:49 +00:00
_G_TEMP =
_G_TEMP_TEMP =
2002-01-23 03:48:44 +00:00
ALLFILES ?= ${ _DISTFILES } ${ _PATCHFILES }
1996-08-24 09:28:48 +00:00
2000-07-19 16:41:22 +00:00
#
# 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 | $|/| }
2000-07-19 16:41:22 +00:00
* 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 } " ; }
2000-07-19 16:41:22 +00:00
. f o r s r t i n $ { M A S T E R _ S O R T _ R E G E X }
* 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; }
2000-07-19 16:41:22 +00:00
. e n d f o r
* 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; }
2011-07-21 15:10:46 +00:00
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
2000-08-25 10:17:39 +00:00
2013-10-07 10:37:08 +00:00
# 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 }
2002-01-23 03:48:44 +00:00
#
# Sort the master site list according to the patterns in MASTER_SORT
# according to grouping rules (:something)
#
# for use in the fetch targets
. f o r _ S i n $ { M A S T E R _ S I T E S }
_S_TEMP = ${ _S : S /^ ${ _S : C @/ : [^/ : ]+ $@ /@ } // }
. i f ! e m p t y ( _ S _ T E M P )
. for _group in ${_S_TEMP : S /^://:S /, / /g }
. i f ! t a r g e t ( m a s t e r - s i t e s - $ { _ g r o u p } )
2011-07-21 15:10:46 +00:00
SORTED_MASTER_SITES_${_group}_CMD = cd ${ .CURDIR } && ${ MAKE } master-sites-${ _group }
2002-01-23 03:48:44 +00:00
master-sites-${_group} :
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 }
2002-01-23 03:48:44 +00:00
. e n d i f
. e n d f o r
. e n d i f
. e n d f o r
. f o r _ S i n $ { P A T C H _ S I T E S }
_S_TEMP = ${ _S : S /^ ${ _S : C @/ : [^/ : ]+ $@ /@ } // }
. i f ! e m p t y ( _ S _ T E M P )
. for _group in ${_S_TEMP : S /^://:S /, / /g }
. i f ! t a r g e t ( p a t c h - s i t e s - $ { _ g r o u p } )
2011-07-21 15:10:46 +00:00
SORTED_PATCH_SITES_${_group}_CMD = cd ${ .CURDIR } && ${ MAKE } patch-sites-${ _group }
2002-01-23 03:48:44 +00:00
patch-sites-${_group} :
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 }
2002-01-23 03:48:44 +00:00
. e n d i f
. e n d f o r
. e n d i f
. e n d f o r
2000-07-19 16:41:22 +00:00
2002-01-23 03:48:44 +00:00
#
# Hackery to enable simple fetch targets with several dynamic MASTER_SITES
#
_MASTER_SITES_ENV = _MASTER_SITES_DEFAULT = " ${ _MASTER_SITES_DEFAULT } "
. f o r _ F i n $ { D I S T F I L E S }
_F_TEMP = ${ _F : S /^ ${ _F : C / : [^ : ]+ $// } // : S /^ : // }
. i f ! e m p t y ( _ F _ T E M P )
. for _group in ${_F_TEMP : S /, / /g }
. i f d e f i n e d ( _ M A S T E R _ S I T E S _ $ { _ g r o u p } )
_MASTER_SITES_ENV += _MASTER_SITES_${ _group } = " ${ _MASTER_SITES_ ${ _group } } "
. e n d i f
. e n d f o r
. e n d i f
. e n d f o r
_PATCH_SITES_ENV = _PATCH_SITES_DEFAULT = " ${ _PATCH_SITES_DEFAULT } "
. f o r _ F i n $ { P A T C H F I L E S }
2013-10-05 10:20:15 +00:00
_F_TEMP = ${ _F : S /^ ${ _F : C / : [^- : ][^ : ]* $// } // : S /^ : // }
2002-01-23 03:48:44 +00:00
. i f ! e m p t y ( _ F _ T E M P )
. for _group in ${_F_TEMP : S /, / /g }
. i f d e f i n e d ( _ P A T C H _ S I T E S _ $ { _ g r o u p } )
_PATCH_SITES_ENV += _PATCH_SITES_${ _group } = " ${ _PATCH_SITES_ ${ _group } } "
. e n d i f
. e n d f o r
. e n d i f
. e n d f o r
master-sites-ALL :
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 }
2002-01-23 03:48:44 +00:00
patch-sites-ALL :
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 }
2002-01-23 03:48:44 +00:00
# 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
1996-12-17 12:20:53 +00:00
. i f d e f i n e d ( I G N O R E F I L E S )
1999-07-23 09:36:55 +00:00
. i f ! d e f i n e d ( C K S U M F I L E S )
2013-05-02 14:07:31 +00:00
. f o r _ f i n $ { A L L F I L E S }
. if ! ${IGNOREFILES : M ${_f }}
CKSUMFILES += ${ _f }
. e n d i f
. e n d f o r
. u n d e f _ f
1999-07-23 09:36:55 +00:00
. e n d i f
1996-12-17 12:20:53 +00:00
. e l s e
CKSUMFILES = ${ ALLFILES }
. e n d i f
1996-11-30 10:31:50 +00:00
# List of all files, with ${DIST_SUBDIR} in front. Used for checksum.
. i f d e f i n e d ( D I S T _ S U B D I R )
- 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
. i f d e f i n e d ( C K S U M F I L E S ) & & ${CKSUMFILES} != ""
1996-12-17 12:20:53 +00:00
_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
. e n d i f
. i f d e f i n e d ( I G N O R E F I L E S ) & & ${IGNOREFILES} != ""
1996-12-17 12:20:53 +00:00
_IGNOREFILES ?= ${ IGNOREFILES : 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
. e n d i f
1996-11-30 10:31:50 +00:00
. e l s e
1996-12-17 12:20:53 +00:00
_CKSUMFILES ?= ${ CKSUMFILES }
_IGNOREFILES ?= ${ IGNOREFILES }
1996-11-30 10:31:50 +00:00
. e n d i f
1995-08-29 11:24:50 +00:00
# This is what is actually going to be extracted, and is overridable
# by user.
2002-01-23 03:48:44 +00:00
EXTRACT_ONLY ?= ${ _DISTFILES }
1995-08-29 11:24:50 +00:00
1999-01-11 13:04:18 +00:00
. i f ! t a r g e t ( m a i n t a i n e r )
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 } "
1999-01-11 13:04:18 +00:00
. e n d i f
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
. i f ! d e f i n e d ( C A T E G O R I E S )
2004-01-20 09:14:10 +00:00
check-categories :
2007-03-24 14:02:06 +00:00
@${ ECHO_MSG } " ${ PKGNAME } : Makefile error: CATEGORIES is mandatory. "
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
@${ FALSE }
1999-08-22 11:20:25 +00:00
. e l s e
2002-11-18 09:30:52 +00:00
2003-11-07 08:51:46 +00:00
VALID_CATEGORIES += accessibility afterstep arabic archivers astro audio \
2002-11-18 09:30:52 +00:00
benchmarks biology cad chinese comms converters databases \
2010-09-29 20:51:55 +00:00
deskutils devel docs dns editors elisp emulators enlightenment finance french ftp \
bsd.port.mk
[1] Remove DEPENDS
[2] Add a new pkg-plist keyword @stopdaemon
[3] Provide rc.subr script suffix as RC_SUBR_SUFFIX
[4] Add USE_CDRTOOLS to abstract dependency on sysutils/cdrtool[-cjk]
[5] Add DOS2UNIX_REGEX, allowing to pass a filename regex to CRLF replacement
routine
[6] Support partially translated manpages in MAN* variables
[7] Fix USE_LDCONFIG on ports with @cwd in pkg-plist
[8] Remove support for XFree86 3.X
[9] Add user settable WITH_DEBUG flag that turns on -g in CFLAGS and resets
STRIP
[9] Fix `make install' to refuse overwriting of older version of the port
[10] New category ports-mgmt
[11] New category gnustep
[12] Removed category picobsd
bsd.java.mk
[13] Remove deprecated syntax
bsd.tcl.mk
[14] Provide TCL_VER when USE_TK[_BUILD] is defined. Fixes cad/netgen
ports/Makefile
[15] Make csup default `make update' method on FreeBSD 6.2 and up
PR: ports/99742 [1], ports/93373 [2], ports/100915 [3],
ports/105161 [4], ports/106029 [5], ports/106252 [6],
ports/106235 [7], ports/100939 [9], ports/97507 [10],
ports/103931 [11], ports/106921 [12], ports/104136 [13],
ports/105215 [15]
Submitted by: sem [1] [2], Matthias Andree <matthias.andree@gmx.de> [3],
nork [4], pav [5] [7] [14], Nick Barkas <snb@threerings.net> [6],
flz [8], gabor [9], shaun [10], erwin [12], hq [13],
Gurkan Sengun <gurkan@linuks.mine.nu> [11]
2007-01-31 14:07:24 +00:00
games geography german gnome gnustep graphics hamradio haskell hebrew hungarian \
2007-06-28 16:06:02 +00:00
ipv6 irc japanese java kde kld korean lang linux lisp \
2013-11-23 11:39:07 +00:00
mail mate math mbone misc multimedia net net-im net-mgmt net-p2p news \
bsd.port.mk
[1] Remove DEPENDS
[2] Add a new pkg-plist keyword @stopdaemon
[3] Provide rc.subr script suffix as RC_SUBR_SUFFIX
[4] Add USE_CDRTOOLS to abstract dependency on sysutils/cdrtool[-cjk]
[5] Add DOS2UNIX_REGEX, allowing to pass a filename regex to CRLF replacement
routine
[6] Support partially translated manpages in MAN* variables
[7] Fix USE_LDCONFIG on ports with @cwd in pkg-plist
[8] Remove support for XFree86 3.X
[9] Add user settable WITH_DEBUG flag that turns on -g in CFLAGS and resets
STRIP
[9] Fix `make install' to refuse overwriting of older version of the port
[10] New category ports-mgmt
[11] New category gnustep
[12] Removed category picobsd
bsd.java.mk
[13] Remove deprecated syntax
bsd.tcl.mk
[14] Provide TCL_VER when USE_TK[_BUILD] is defined. Fixes cad/netgen
ports/Makefile
[15] Make csup default `make update' method on FreeBSD 6.2 and up
PR: ports/99742 [1], ports/93373 [2], ports/100915 [3],
ports/105161 [4], ports/106029 [5], ports/106252 [6],
ports/106235 [7], ports/100939 [9], ports/97507 [10],
ports/103931 [11], ports/106921 [12], ports/104136 [13],
ports/105215 [15]
Submitted by: sem [1] [2], Matthias Andree <matthias.andree@gmx.de> [3],
nork [4], pav [5] [7] [14], Nick Barkas <snb@threerings.net> [6],
flz [8], gabor [9], shaun [10], erwin [12], hq [13],
Gurkan Sengun <gurkan@linuks.mine.nu> [11]
2007-01-31 14:07:24 +00:00
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 \
2008-04-14 16:46:41 +00:00
tcl textproc tk \
2001-03-24 21:35:22 +00:00
ukrainian vietnamese windowmaker www \
2007-05-19 20:36:56 +00:00
x11 x11-clocks x11-drivers x11-fm x11-fonts x11-servers x11-themes \
x11-toolkits x11-wm xfce zope
2002-11-18 09:30:52 +00:00
1999-08-22 11:20:25 +00:00
check-categories :
. f o r c a t i n $ { C A T E G O R I E S }
2011-06-06 05:53:51 +00:00
. if empty(VALID_CATEGORIES : M ${cat })
@${ ECHO_MSG } " ${ PKGNAME } : Makefile error: category ${ cat } not in list of valid categories. " ; \
${ FALSE } ;
. e n d i f
1999-08-22 11:20:25 +00:00
. e n d f o r
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
. e n d i f
1994-09-10 22:26:47 +00:00
1995-06-06 10:56:34 +00:00
PKGREPOSITORYSUBDIR ?= All
1995-04-09 09:59:42 +00:00
PKGREPOSITORY ?= ${ PACKAGES } /${ PKGREPOSITORYSUBDIR }
1998-01-31 20:59:30 +00:00
. i f e x i s t s ( $ { P A C K A G E S } )
1995-04-09 09:59:42 +00:00
PKGFILE ?= ${ PKGREPOSITORY } /${ PKGNAME } ${ PKG_SUFX }
1998-01-31 20:59:30 +00:00
. e l s e
PKGFILE ?= ${ .CURDIR } /${ PKGNAME } ${ PKG_SUFX }
. e n d i f
1998-01-02 10:37:14 +00:00
# The "latest version" link -- ${PKGNAME} minus everthing after the last '-'
PKGLATESTREPOSITORY ?= ${ PACKAGES } /Latest
2000-06-14 02:14:49 +00:00
PKGBASE ?= ${ PKGNAMEPREFIX } ${ PORTNAME } ${ PKGNAMESUFFIX }
2001-09-28 16:45:15 +00:00
LATEST_LINK ?= ${ PKGBASE }
PKGLATESTFILE = ${ PKGLATESTREPOSITORY } /${ LATEST_LINK } ${ PKG_SUFX }
1994-08-21 13:12:57 +00:00
1995-02-06 08:52:19 +00:00
CONFIGURE_SCRIPT ?= configure
* 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
CONFIGURE_TARGET ?= ${ ARCH } -portbld-freebsd${ OSREL }
2008-08-21 06:18:49 +00:00
CONFIGURE_TARGET := ${ CONFIGURE_TARGET : S /--build=// }
1999-06-11 11:59:10 +00:00
CONFIGURE_LOG ?= config.log
1995-02-06 08:52:19 +00:00
2004-01-20 09:14:10 +00:00
# A default message to print if do-configure fails.
2012-08-30 15:31:25 +00:00
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). "
2004-01-20 09:14:10 +00:00
2004-01-20 22:26:36 +00:00
. i f d e f i n e d ( G N U _ C O N F I G U R E )
2004-01-20 09:14:10 +00:00
# Maximum command line length
2004-01-20 19:35:27 +00:00
. i f ! d e f i n e d ( C O N F I G U R E _ M A X _ C M D _ L E N )
2006-07-18 04:12:51 +00:00
CONFIGURE_MAX_CMD_LEN != ${ SYSCTL } -n kern.argmax
2004-01-20 19:35:27 +00:00
. e n d i f
2009-09-17 12:24:09 +00:00
GNU_CONFIGURE_PREFIX ?= ${ PREFIX }
2014-01-27 07:29:32 +00:00
GNU_CONFIGURE_MANPREFIX ?= ${ MANPREFIX }
2013-08-29 16:46:54 +00:00
CONFIG_SITE ?= ${ PORTSDIR } /Templates/config.site
2009-09-17 12:24:09 +00:00
CONFIGURE_ARGS += --prefix= ${ GNU_CONFIGURE_PREFIX } $$ { _LATE_CONFIGURE_ARGS}
2014-04-02 16:13:44 +00:00
. i f d e f i n e d ( X _ B U I L D _ F O R )
CONFIGURE_ARGS += --host= ${ X_BUILD_FOR }
. e n d i f
2013-08-29 16:46:54 +00:00
CONFIGURE_ENV += CONFIG_SITE = ${ CONFIG_SITE } lt_cv_sys_max_cmd_len = ${ CONFIGURE_MAX_CMD_LEN }
1994-10-04 15:48:21 +00:00
HAS_CONFIGURE = yes
2007-07-23 09:36:51 +00:00
SET_LATE_CONFIGURE_ARGS = \
_LATE_CONFIGURE_ARGS = "" ; \
if [ ! -z " `./ ${ CONFIGURE_SCRIPT } --help 2>&1 | ${ GREP } -- '--mandir'` " ] ; then \
2014-01-27 07:29:32 +00:00
_LATE_CONFIGURE_ARGS = " $$ {_LATE_CONFIGURE_ARGS} --mandir= ${ GNU_CONFIGURE_MANPREFIX } /man " ; \
2007-07-23 09:36:51 +00:00
fi ; \
if [ ! -z " `./ ${ CONFIGURE_SCRIPT } --help 2>&1 | ${ GREP } -- '--infodir'` " ] ; then \
2014-01-27 07:29:32 +00:00
_LATE_CONFIGURE_ARGS = " $$ {_LATE_CONFIGURE_ARGS} --infodir= ${ GNU_CONFIGURE_PREFIX } / ${ INFO_PATH } / ${ INFO_SUBDIR } " ; \
2008-08-21 06:18:49 +00:00
fi ; \
2008-08-25 01:29:01 +00:00
if [ -z " `./ ${ CONFIGURE_SCRIPT } --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 } " ; \
2007-07-23 09:36:51 +00:00
fi ;
1994-10-04 15:44:03 +00:00
. e n d i f
1997-01-12 11:48:26 +00:00
# Passed to most of script invocations
1998-11-20 04:00:38 +00:00
SCRIPTS_ENV += CURDIR = ${ MASTERDIR } DISTDIR = ${ DISTDIR } \
1997-01-12 11:48:26 +00:00
WRKDIR = ${ WRKDIR } WRKSRC = ${ WRKSRC } PATCHDIR = ${ PATCHDIR } \
SCRIPTDIR = ${ SCRIPTDIR } FILESDIR = ${ FILESDIR } \
2013-09-23 20:07:18 +00:00
PORTSDIR = ${ PORTSDIR } PREFIX = ${ PREFIX } LOCALBASE = ${ LOCALBASE }
1997-01-12 11:48:26 +00:00
. i f d e f i n e d ( B A T C H )
SCRIPTS_ENV += BATCH = yes
. e n d i f
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
. i f ${PREFIX} = = /usr
2007-08-04 11:37:24 +00:00
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
. e l s e
2007-08-04 11:37:24 +00:00
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
. e n d i f
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
2013-09-23 20:07:18 +00:00
MANDIRS += ${ MANPREFIX } /man
1996-12-11 10:17:44 +00:00
. f o r s e c t i n 1 2 3 4 5 6 7 8 9
MAN${sect}PREFIX ?= ${ MANPREFIX }
. e n d f o r
MANLPREFIX ?= ${ MANPREFIX }
MANNPREFIX ?= ${ MANPREFIX }
MANLANG ?= "" # english only by default
2009-12-29 10:25:55 +00:00
. i f ! d e f i n e d ( N O _ M A N C O M P R E S S )
2003-09-03 19:50:24 +00:00
MANEXT = .gz
1998-09-10 06:38:02 +00:00
. e n d i f
1999-07-23 09:36:55 +00:00
. i f ( d e f i n e d ( M L I N K S ) | | d e f i n e d ( _ M L I N K S _ P R E P E N D ) ) & & ! d e f i n e d ( _ M L I N K S )
2013-05-02 14:07:31 +00:00
. i f d e f i n e d ( . P A R S E D I R )
_MLINKS = ${ _MLINKS_PREPEND } \
2013-05-24 10:36:04 +00:00
${ MANLANG : S ,^,man/, : S ,/ "" ,, : @m@ ${ MLINKS : @p@ ${ MAN ${ p : E : C /(.).*/ \1 /g } PREFIX } / $m /man ${ p : E : C /(.).*/ \1 /g } / $p ${ MANEXT } @ } @ }
2013-05-02 14:07:31 +00:00
. e l s e
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
__pmlinks != ${ ECHO_CMD } '${MLINKS:S/ / /}' | ${ AWK } \
1998-09-10 06:38:02 +00:00
' { if ( NF % 2 != 0) { print "broken" ; exit; } \
for ( i = 1; i<= NF; i++) { \
if ( $$ i ~ /^-$$ / && i != 1 && i % 2 != 0) \
{ $$ i = $$ ( i-2) ; printf " " $$ i " " ; } \
else if ( $$ i ~ /^[ ^ ] +\. [ 1-9ln] [ ^. ] *$$ / || $$ i ~ /^\/ /) \
printf " " $$ i " " ; \
else \
{ print "broken" ; exit; } \
} \
2004-01-20 09:14:10 +00:00
} ' | ${SED} -e ' s \( [ ^/ ] [ ^ ] *\. \( .\) [ ^. ] *\) $$ { MAN\2 PREFIX} /$$ $$ $$ $$ { __lang} /man\2 /\1 ${ MANEXT } g' -e ' s/ / /g' -e ' s/MANlPREFIX/MANLPREFIX/g' -e ' s/MANnPREFIX/MANNPREFIX/g'
1998-09-10 06:38:02 +00:00
.if ${__pmlinks : Mbroken } == "broken "
2004-01-20 09:14:10 +00:00
check-makevars ::
2007-03-24 14:02:06 +00:00
@${ ECHO_MSG } " ${ PKGNAME } : Makefile error: unable to parse MLINKS. "
1998-09-10 06:38:02 +00:00
@${ FALSE }
. e n d i f
1999-07-23 09:36:55 +00:00
_MLINKS = ${ _MLINKS_PREPEND }
2010-12-01 08:32:50 +00:00
.for lang in ${MANLANG : S %^%man /%:S %^man /""$%man %}
1999-07-23 09:36:55 +00:00
. f o r _ _ _ p m l i n k s i n $ { _ _ p m l i n k s }
. f o r _ _ l a n g i n $ { l a n g }
_MLINKS += ${ ___pmlinks : S / / /g }
. e n d f o r
. e n d f o r
. e n d f o r
1998-09-10 06:38:02 +00:00
. e n d i f
2013-05-02 14:07:31 +00:00
. e n d i f
* pkg-comment removal, take 2: introduce the COMMENTFILE variable
with the same semantics as the current COMMENT variable (location
of the pkg-comment file), and reclaim COMMENT for the comment string
itself. To work around the problems with metacharacters in comment
strings, comments are written to a temporary comment file as needed. [1]
* Support regexps in LIB_DEPENDS [2]
* Move the CD_MOUNTPTS variable to <bsd.port.pre.mk> [3]
* Improve 'make readmes' target [4]:
- ^A and ^B have been replaced by | to avoid printing problems in
'make readme'.
- Add %%EMAIL%%, %%MAINTAINER%% (not used yet) and %%WEBSITE%%
substitutions
- Add pretty-print-www-site target.
* Add support for USE_GCC=3.2 [5]
* Use 'uname -p' instead of 'uname -m' to set the ARCH variable. [6]
* Add a ${YACC} variable [7]
* Path MANPREFIX in MAKE_ENV [8]
* Use the full patch to mkhtmlindex in MKHTMLINDEX [9]
* Avoid overflowing the commandline when constructing the _TMLINKS
variable (fixes 'make index'). [10]
Submitted by: lioux [1], mi [2], mbr [3][5],
Cyrille Lefevre <clefevre@citeweb.net> [4],
nyan [6], cy [7], dougb [8], anholt [9],
fenner [10] (based on)
PR: ports/34126 [2], ports/30983 [3] (based on),
ports/31389 [4], ports/47306 [5] (based on),
ports/35514 [6], ports/44496 [7],
ports/44895 [8], ports/45549 [9]
2003-02-10 07:59:22 +00:00
_COUNT = 0
. f o r _ _ _ t p m l i n k s i n $ { _ M L I N K S }
. i f ${_COUNT} = = "1"
_TMLINKS += ${ ___tpmlinks }
_COUNT = 0
. e l s e
_COUNT = 1
. e n d i f
. e n d f o r
1998-09-10 06:38:02 +00:00
2010-12-01 08:32:50 +00:00
.for manlang in ${MANLANG : S %^%man /%:S %^man /""$%man %}
1996-12-11 10:17:44 +00:00
2004-01-20 09:14:10 +00:00
. f o r s e c t i n 1 2 3 4 5 6 7 8 9 L N
bsd.port.mk
[1] Remove DEPENDS
[2] Add a new pkg-plist keyword @stopdaemon
[3] Provide rc.subr script suffix as RC_SUBR_SUFFIX
[4] Add USE_CDRTOOLS to abstract dependency on sysutils/cdrtool[-cjk]
[5] Add DOS2UNIX_REGEX, allowing to pass a filename regex to CRLF replacement
routine
[6] Support partially translated manpages in MAN* variables
[7] Fix USE_LDCONFIG on ports with @cwd in pkg-plist
[8] Remove support for XFree86 3.X
[9] Add user settable WITH_DEBUG flag that turns on -g in CFLAGS and resets
STRIP
[9] Fix `make install' to refuse overwriting of older version of the port
[10] New category ports-mgmt
[11] New category gnustep
[12] Removed category picobsd
bsd.java.mk
[13] Remove deprecated syntax
bsd.tcl.mk
[14] Provide TCL_VER when USE_TK[_BUILD] is defined. Fixes cad/netgen
ports/Makefile
[15] Make csup default `make update' method on FreeBSD 6.2 and up
PR: ports/99742 [1], ports/93373 [2], ports/100915 [3],
ports/105161 [4], ports/106029 [5], ports/106252 [6],
ports/106235 [7], ports/100939 [9], ports/97507 [10],
ports/103931 [11], ports/106921 [12], ports/104136 [13],
ports/105215 [15]
Submitted by: sem [1] [2], Matthias Andree <matthias.andree@gmx.de> [3],
nork [4], pav [5] [7] [14], Nick Barkas <snb@threerings.net> [6],
flz [8], gabor [9], shaun [10], erwin [12], hq [13],
Gurkan Sengun <gurkan@linuks.mine.nu> [11]
2007-01-31 14:07:24 +00:00
# MAN${sect} is for man pages installed for all languages in MANLANG for a given
# section.
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
. i f d e f i n e d ( M A N $ { s e c t } )
2014-05-05 09:45:36 +00:00
_MANPAGES += ${ MAN ${ sect } : S %^% ${ MAN ${ sect } PREFIX } / ${ manlang } /man ${ sect : tl } /% }
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
. e n d i f
bsd.port.mk
[1] Remove DEPENDS
[2] Add a new pkg-plist keyword @stopdaemon
[3] Provide rc.subr script suffix as RC_SUBR_SUFFIX
[4] Add USE_CDRTOOLS to abstract dependency on sysutils/cdrtool[-cjk]
[5] Add DOS2UNIX_REGEX, allowing to pass a filename regex to CRLF replacement
routine
[6] Support partially translated manpages in MAN* variables
[7] Fix USE_LDCONFIG on ports with @cwd in pkg-plist
[8] Remove support for XFree86 3.X
[9] Add user settable WITH_DEBUG flag that turns on -g in CFLAGS and resets
STRIP
[9] Fix `make install' to refuse overwriting of older version of the port
[10] New category ports-mgmt
[11] New category gnustep
[12] Removed category picobsd
bsd.java.mk
[13] Remove deprecated syntax
bsd.tcl.mk
[14] Provide TCL_VER when USE_TK[_BUILD] is defined. Fixes cad/netgen
ports/Makefile
[15] Make csup default `make update' method on FreeBSD 6.2 and up
PR: ports/99742 [1], ports/93373 [2], ports/100915 [3],
ports/105161 [4], ports/106029 [5], ports/106252 [6],
ports/106235 [7], ports/100939 [9], ports/97507 [10],
ports/103931 [11], ports/106921 [12], ports/104136 [13],
ports/105215 [15]
Submitted by: sem [1] [2], Matthias Andree <matthias.andree@gmx.de> [3],
nork [4], pav [5] [7] [14], Nick Barkas <snb@threerings.net> [6],
flz [8], gabor [9], shaun [10], erwin [12], hq [13],
Gurkan Sengun <gurkan@linuks.mine.nu> [11]
2007-01-31 14:07:24 +00:00
# Language specific MAN${sect} variables are for man pages installed in that
# language, but not necessarily all languages in MANLANG.
2014-05-05 09:45:36 +00:00
.if defined(MAN${sect}_${manlang : S %^man /%%:tu })
_MANPAGES += ${ MAN ${ sect } _ ${ manlang : S %^man/%% : tu } : S %^% ${ MAN ${ sect } PREFIX } / ${ manlang } /man ${ sect : tl } /% }
bsd.port.mk
[1] Remove DEPENDS
[2] Add a new pkg-plist keyword @stopdaemon
[3] Provide rc.subr script suffix as RC_SUBR_SUFFIX
[4] Add USE_CDRTOOLS to abstract dependency on sysutils/cdrtool[-cjk]
[5] Add DOS2UNIX_REGEX, allowing to pass a filename regex to CRLF replacement
routine
[6] Support partially translated manpages in MAN* variables
[7] Fix USE_LDCONFIG on ports with @cwd in pkg-plist
[8] Remove support for XFree86 3.X
[9] Add user settable WITH_DEBUG flag that turns on -g in CFLAGS and resets
STRIP
[9] Fix `make install' to refuse overwriting of older version of the port
[10] New category ports-mgmt
[11] New category gnustep
[12] Removed category picobsd
bsd.java.mk
[13] Remove deprecated syntax
bsd.tcl.mk
[14] Provide TCL_VER when USE_TK[_BUILD] is defined. Fixes cad/netgen
ports/Makefile
[15] Make csup default `make update' method on FreeBSD 6.2 and up
PR: ports/99742 [1], ports/93373 [2], ports/100915 [3],
ports/105161 [4], ports/106029 [5], ports/106252 [6],
ports/106235 [7], ports/100939 [9], ports/97507 [10],
ports/103931 [11], ports/106921 [12], ports/104136 [13],
ports/105215 [15]
Submitted by: sem [1] [2], Matthias Andree <matthias.andree@gmx.de> [3],
nork [4], pav [5] [7] [14], Nick Barkas <snb@threerings.net> [6],
flz [8], gabor [9], shaun [10], erwin [12], hq [13],
Gurkan Sengun <gurkan@linuks.mine.nu> [11]
2007-01-31 14:07:24 +00:00
. e n d i f
. e n d f o r
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
. e n d f o r
bsd.port.mk
[1] Remove DEPENDS
[2] Add a new pkg-plist keyword @stopdaemon
[3] Provide rc.subr script suffix as RC_SUBR_SUFFIX
[4] Add USE_CDRTOOLS to abstract dependency on sysutils/cdrtool[-cjk]
[5] Add DOS2UNIX_REGEX, allowing to pass a filename regex to CRLF replacement
routine
[6] Support partially translated manpages in MAN* variables
[7] Fix USE_LDCONFIG on ports with @cwd in pkg-plist
[8] Remove support for XFree86 3.X
[9] Add user settable WITH_DEBUG flag that turns on -g in CFLAGS and resets
STRIP
[9] Fix `make install' to refuse overwriting of older version of the port
[10] New category ports-mgmt
[11] New category gnustep
[12] Removed category picobsd
bsd.java.mk
[13] Remove deprecated syntax
bsd.tcl.mk
[14] Provide TCL_VER when USE_TK[_BUILD] is defined. Fixes cad/netgen
ports/Makefile
[15] Make csup default `make update' method on FreeBSD 6.2 and up
PR: ports/99742 [1], ports/93373 [2], ports/100915 [3],
ports/105161 [4], ports/106029 [5], ports/106252 [6],
ports/106235 [7], ports/100939 [9], ports/97507 [10],
ports/103931 [11], ports/106921 [12], ports/104136 [13],
ports/105215 [15]
Submitted by: sem [1] [2], Matthias Andree <matthias.andree@gmx.de> [3],
nork [4], pav [5] [7] [14], Nick Barkas <snb@threerings.net> [6],
flz [8], gabor [9], shaun [10], erwin [12], hq [13],
Gurkan Sengun <gurkan@linuks.mine.nu> [11]
2007-01-31 14:07:24 +00:00
# Special case for English, since it is defined with "" in MANLANG rather than
2013-12-06 08:20:16 +00:00
# a language name and does not have man pages installed in a lang subdirectory
bsd.port.mk
[1] Remove DEPENDS
[2] Add a new pkg-plist keyword @stopdaemon
[3] Provide rc.subr script suffix as RC_SUBR_SUFFIX
[4] Add USE_CDRTOOLS to abstract dependency on sysutils/cdrtool[-cjk]
[5] Add DOS2UNIX_REGEX, allowing to pass a filename regex to CRLF replacement
routine
[6] Support partially translated manpages in MAN* variables
[7] Fix USE_LDCONFIG on ports with @cwd in pkg-plist
[8] Remove support for XFree86 3.X
[9] Add user settable WITH_DEBUG flag that turns on -g in CFLAGS and resets
STRIP
[9] Fix `make install' to refuse overwriting of older version of the port
[10] New category ports-mgmt
[11] New category gnustep
[12] Removed category picobsd
bsd.java.mk
[13] Remove deprecated syntax
bsd.tcl.mk
[14] Provide TCL_VER when USE_TK[_BUILD] is defined. Fixes cad/netgen
ports/Makefile
[15] Make csup default `make update' method on FreeBSD 6.2 and up
PR: ports/99742 [1], ports/93373 [2], ports/100915 [3],
ports/105161 [4], ports/106029 [5], ports/106252 [6],
ports/106235 [7], ports/100939 [9], ports/97507 [10],
ports/103931 [11], ports/106921 [12], ports/104136 [13],
ports/105215 [15]
Submitted by: sem [1] [2], Matthias Andree <matthias.andree@gmx.de> [3],
nork [4], pav [5] [7] [14], Nick Barkas <snb@threerings.net> [6],
flz [8], gabor [9], shaun [10], erwin [12], hq [13],
Gurkan Sengun <gurkan@linuks.mine.nu> [11]
2007-01-31 14:07:24 +00:00
# of MAN${sect}PREFIX.
. f o r s e c t i n 1 2 3 4 5 6 7 8 9 L N
. i f d e f i n e d ( M A N $ { s e c t } _ E N )
2014-05-05 09:45:36 +00:00
_MANPAGES += ${ MAN ${ sect } _EN : S %^% ${ MAN ${ sect } PREFIX } /man/man ${ sect : tl } /% }
bsd.port.mk
[1] Remove DEPENDS
[2] Add a new pkg-plist keyword @stopdaemon
[3] Provide rc.subr script suffix as RC_SUBR_SUFFIX
[4] Add USE_CDRTOOLS to abstract dependency on sysutils/cdrtool[-cjk]
[5] Add DOS2UNIX_REGEX, allowing to pass a filename regex to CRLF replacement
routine
[6] Support partially translated manpages in MAN* variables
[7] Fix USE_LDCONFIG on ports with @cwd in pkg-plist
[8] Remove support for XFree86 3.X
[9] Add user settable WITH_DEBUG flag that turns on -g in CFLAGS and resets
STRIP
[9] Fix `make install' to refuse overwriting of older version of the port
[10] New category ports-mgmt
[11] New category gnustep
[12] Removed category picobsd
bsd.java.mk
[13] Remove deprecated syntax
bsd.tcl.mk
[14] Provide TCL_VER when USE_TK[_BUILD] is defined. Fixes cad/netgen
ports/Makefile
[15] Make csup default `make update' method on FreeBSD 6.2 and up
PR: ports/99742 [1], ports/93373 [2], ports/100915 [3],
ports/105161 [4], ports/106029 [5], ports/106252 [6],
ports/106235 [7], ports/100939 [9], ports/97507 [10],
ports/103931 [11], ports/106921 [12], ports/104136 [13],
ports/105215 [15]
Submitted by: sem [1] [2], Matthias Andree <matthias.andree@gmx.de> [3],
nork [4], pav [5] [7] [14], Nick Barkas <snb@threerings.net> [6],
flz [8], gabor [9], shaun [10], erwin [12], hq [13],
Gurkan Sengun <gurkan@linuks.mine.nu> [11]
2007-01-31 14:07:24 +00:00
. e n d i f
1996-12-11 10:17:44 +00:00
. e n d f o r
1998-09-10 06:38:02 +00:00
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
. i f ! d e f i n e d ( _ T M L I N K S )
1999-07-23 09:36:55 +00:00
_TMLINKS =
. e n d i f
1996-12-11 10:17:44 +00:00
2004-01-20 09:14:10 +00:00
. i f d e f i n e d ( _ M A N P A G E S )
2009-12-29 10:25:55 +00:00
. i f d e f i n e d ( N O _ M A N C O M P R E S S )
2007-08-04 11:37:24 +00:00
__MANPAGES := ${ _MANPAGES : S %^ ${ PREFIX } /%% }
2004-01-20 09:14:10 +00:00
. e l s e
2007-08-04 11:37:24 +00:00
__MANPAGES := ${ _MANPAGES : S %^ ${ PREFIX } /%% : S % $%.gz% }
2004-01-20 09:14:10 +00:00
. e n d i f
. i f ${MANCOMPRESSED} = = "yes"
_MANPAGES := ${ _MANPAGES : S % $%.gz% }
1998-08-12 01:47:47 +00:00
. e n d i f
1996-12-11 04:51:31 +00:00
. e n d i f
- 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
. i f ${PREFIX} = = /usr
INFO_PATH ?= share/info
. e l s e
INFO_PATH ?= info
. e n d i f
2007-07-23 09:36:51 +00:00
. i f d e f i n e d ( I N F O )
. for D in ${INFO : H }
RD := ${ D }
. i f ${RD} != "."
. i f ! d e f i n e d ( I N F O _ S U B D I R )
INFO_SUBDIR := ${ RD }
. e l i f ${INFO_SUBDIR} != ${ RD }
BROKEN = only one subdirectory in INFO is allowed
. e n d i f
. e n d i f
. u n d e f R D
. e n d f o r
. e n d i f
2007-08-04 11:37:24 +00:00
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 } /,, }
2002-11-25 19:43:16 +00:00
2007-03-24 14:02:06 +00:00
PLIST_SUB += DOCSDIR = " ${ DOCSDIR_REL } " \
EXAMPLESDIR = " ${ EXAMPLESDIR_REL } " \
DATADIR = " ${ DATADIR_REL } " \
* Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]
* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]
* Update the description of fetch-list; add targets fetch-required-list,
fetch-url-list, and fetch-urlall-list. [4]
* Make 'make search' also search in ports/MOVED. [5]
* Move several Makevar definitions to the pre-makefile section:
DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]
* The target 'ignorelist-verbose' was added for portsmon. [7]
PR: 69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]
Submitted by: Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
jylefort [3], edwin [4], Lars Engels <lars dot engels
at 0x20 dot net> [5], Alexander Logvinov <ports at
logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +00:00
WWWDIR = " ${ WWWDIR_REL } " \
ETCDIR = " ${ ETCDIR_REL } "
2002-11-25 19:43:16 +00:00
2007-08-04 11:37:24 +00:00
DESKTOPDIR ?= ${ PREFIX } /share/applications
_DESKTOPDIR_REL = ${ DESKTOPDIR : S ,^ ${ 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
. i f ${_DESKTOPDIR_REL} = = ${ DESKTOPDIR } /
# DESKTOPDIR is not beneath PREFIX
_DESKTOPDIR_REL =
. e n d i f
1994-08-21 13:12:57 +00:00
.MAIN : all
1994-10-14 07:56:46 +00:00
1995-04-20 18:03:02 +00:00
################################################################
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.
#
1995-04-20 18:03:02 +00:00
# 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.
1994-10-14 07:56:46 +00:00
#
1996-04-27 18:36:02 +00:00
# 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.
#
1999-03-29 07:07:59 +00:00
# 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.
1995-04-20 18:03:02 +00:00
################################################################
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
# Check the machine architectures
1999-01-11 13:04:18 +00:00
. i f d e f i n e d ( O N L Y _ F O R _ A R C H S )
. f o r _ _ A R C H i n $ { O N L Y _ F O R _ A R C H S }
* 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 }} != ""
2007-03-24 14:02:06 +00:00
__ARCH_OK ?= 1
1999-01-11 13:04:18 +00:00
. e n d i f
. e n d f o r
. e l s e
2007-03-24 14:02:06 +00:00
__ARCH_OK ?= 1
1999-01-11 13:04:18 +00:00
. e n d i f
. i f d e f i n e d ( N O T _ F O R _ A R C H S )
. f o r _ _ N A R C H i n $ { N O T _ F O R _ A R C H S }
* 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 }} != ""
1999-01-11 13:04:18 +00:00
. u n d e f _ _ A R C H _ O K
. e n d i f
. e n d f o r
. e n d i f
. i f ! d e f i n e d ( _ _ A R C H _ O K )
. i f d e f i n e d ( O N L Y _ F O R _ A R C H S )
- 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 } ,
1999-01-11 13:04:18 +00:00
. e l s e # defined(NOT_FOR_ARCHS)
2007-07-27 21:40:11 +00:00
IGNORE = does not run on ${ NOT_FOR_ARCHS } ,
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
. e n d i f
2007-07-27 21:40:11 +00:00
IGNORE += while you are running ${ ARCH }
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
. i f d e f i n e d ( O N L Y _ F O R _ A R C H S _ R E A S O N _ $ { A R C H } )
2007-07-27 21:40:11 +00:00
IGNORE += ( reason: ${ ONLY_FOR_ARCHS_REASON_ ${ ARCH } } )
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
. e l i f d e f i n e d ( O N L Y _ F O R _ A R C H S _ R E A S O N )
2007-07-27 21:40:11 +00:00
IGNORE += ( reason: ${ ONLY_FOR_ARCHS_REASON } )
1999-01-11 13:04:18 +00:00
. e n d i f
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
. i f d e f i n e d ( N O T _ F O R _ A R C H S _ R E A S O N _ $ { A R C H } )
2007-07-27 21:40:11 +00:00
IGNORE += ( reason: ${ NOT_FOR_ARCHS_REASON_ ${ ARCH } } )
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
. e l i f d e f i n e d ( N O T _ F O R _ A R C H S _ R E A S O N )
2007-07-27 21:40:11 +00:00
IGNORE += ( reason: ${ NOT_FOR_ARCHS_REASON } )
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
. e n d i f
1999-01-11 13:04:18 +00:00
. e n d i f
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
# Check the user interaction and legal issues
1997-01-25 02:45:09 +00:00
. i f ! d e f i n e d ( N O _ I G N O R E )
1996-11-30 10:31:50 +00:00
. i f ( d e f i n e d ( I S _ I N T E R A C T I V E ) & & d e f i n e d ( B A T C H ) )
2007-07-27 21:40:11 +00:00
IGNORE = is an interactive port
1996-11-30 10:31:50 +00:00
. e l i f ( ! d e f i n e d ( I S _ I N T E R A C T I V E ) & & d e f i n e d ( I N T E R A C T I V E ) )
2007-07-27 21:40:11 +00:00
IGNORE = is not an interactive port
1996-11-30 10:31:50 +00:00
. e l i f ( d e f i n e d ( N O _ C D R O M ) & & d e f i n e d ( F O R _ C D R O M ) )
2007-07-27 21:40:11 +00:00
IGNORE = may not be placed on a CDROM: ${ NO_CDROM }
1996-11-30 10:31:50 +00:00
. e l i f ( d e f i n e d ( R E S T R I C T E D ) & & d e f i n e d ( N O _ R E S T R I C T E D ) )
2007-07-27 21:40:11 +00:00
IGNORE = is restricted: ${ RESTRICTED }
2000-09-13 07:16:49 +00:00
. e l i f d e f i n e d ( B R O K E N )
* 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
. i f ! d e f i n e d ( T R Y B R O K E N )
2007-07-27 21:40:11 +00:00
IGNORE = is marked as broken: ${ BROKEN }
2000-09-13 07:16:49 +00:00
. e n d i f
2013-10-03 17:21:20 +00:00
. e l i f d e f i n e d ( B R O K E N _ $ { A R C H } )
. i f ! d e f i n e d ( T R Y B R O K E N )
IGNORE = is marked as broken on ${ ARCH } : ${ BROKEN_ ${ ARCH } }
. e n d i f
2003-09-03 19:50:24 +00:00
. e l i f d e f i n e d ( F O R B I D D E N )
2007-07-27 21:40:11 +00:00
IGNORE = is forbidden: ${ FORBIDDEN }
1996-11-30 10:31:50 +00:00
. e n d i f
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
2013-12-11 00:23:15 +00:00
# Define the text to be output to LEGAL
. i f d e f i n e d ( L E G A L _ T E X T )
LEGAL = ${ LEGAL_TEXT }
. e l i f d e f i n e d ( R E S T R I C T E D )
LEGAL = ${ RESTRICTED }
. e l i f d e f i n e d ( N O _ C D R O M )
LEGAL = ${ NO_CDROM }
. e l i f d e f i n e d ( N O _ P A C K A G E ) & & ! d e f i n e d ( L E G A L _ P A C K A G E )
LEGAL = ${ NO_PACKAGE }
. e n d i f
2006-09-20 04:04:05 +00:00
. i f ( d e f i n e d ( M A N U A L _ P A C K A G E _ B U I L D ) & & d e f i n e d ( P A C K A G E _ B U I L D I N G ) )
2007-07-27 21:40:11 +00:00
IGNORE = has to be built manually: ${ MANUAL_PACKAGE_BUILD }
1997-11-20 05:33:56 +00:00
clean :
@${ IGNORECMD }
. e n d i f
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
. i f d e f i n e d ( I G N O R E )
1996-11-30 10:31:50 +00:00
. i f d e f i n e d ( I G N O R E _ S I L E N T )
IGNORECMD = ${ DO_NADA }
. e l s e
- 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
IGNORECMD = ${ ECHO_MSG } " ===> ${ PKGNAME } " ${ IGNORE : Q } .; exit 1
1996-11-30 10:31:50 +00:00
. e n d i f
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
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
_TARGETS = check-sanity fetch checksum extract patch configure all build install reinstall package
2014-04-01 14:17:08 +00:00
. i f ! d e f i n e d ( N O _ S T A G E )
_TARGETS += 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
. e n d i f
. f o r t a r g e t i n $ { _ T A R G E T S }
- 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
. i f ! t a r g e t ( $ { t a r g e t } )
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} :
1996-11-30 10:31:50 +00:00
@${ 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
. i f d e f i n e d ( I N S T A L L S _ D E P E N D S )
@${ FALSE }
. e n d i f
- 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
. e n d i f
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
. e n d f o r
1999-01-11 13:04:18 +00:00
. e n d i f
. e n d i f
. i f d e f i n e d ( I G N O R E ) | | d e f i n e d ( N O _ P A C K A G E )
1998-12-12 07:39:30 +00:00
ignorelist : package -name
. e l s e
ignorelist :
@${ DO_NADA }
1994-10-14 07:56:46 +00:00
. e n d i f
1998-12-12 07:39:30 +00:00
* Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]
* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]
* Update the description of fetch-list; add targets fetch-required-list,
fetch-url-list, and fetch-urlall-list. [4]
* Make 'make search' also search in ports/MOVED. [5]
* Move several Makevar definitions to the pre-makefile section:
DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]
* The target 'ignorelist-verbose' was added for portsmon. [7]
PR: 69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]
Submitted by: Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
jylefort [3], edwin [4], Lars Engels <lars dot engels
at 0x20 dot net> [5], Alexander Logvinov <ports at
logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +00:00
. i f d e f i n e d ( I G N O R E ) | | d e f i n e d ( N O _ P A C K A G E )
ignorelist-verbose :
. i f d e f i n e d ( I G N O R E )
2009-01-11 11:04:05 +00:00
@${ ECHO_CMD } " ${ PKGNAME } |IGNORE: " ${ IGNORE : Q }
* Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]
* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]
* Update the description of fetch-list; add targets fetch-required-list,
fetch-url-list, and fetch-urlall-list. [4]
* Make 'make search' also search in ports/MOVED. [5]
* Move several Makevar definitions to the pre-makefile section:
DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]
* The target 'ignorelist-verbose' was added for portsmon. [7]
PR: 69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]
Submitted by: Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
jylefort [3], edwin [4], Lars Engels <lars dot engels
at 0x20 dot net> [5], Alexander Logvinov <ports at
logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +00:00
. e l s e
2009-01-11 11:04:05 +00:00
@${ ECHO_CMD } " ${ PKGNAME } |NO_PACKAGE: " ${ NO_PACKAGE : Q }
* Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]
* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]
* Update the description of fetch-list; add targets fetch-required-list,
fetch-url-list, and fetch-urlall-list. [4]
* Make 'make search' also search in ports/MOVED. [5]
* Move several Makevar definitions to the pre-makefile section:
DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]
* The target 'ignorelist-verbose' was added for portsmon. [7]
PR: 69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]
Submitted by: Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
jylefort [3], edwin [4], Lars Engels <lars dot engels
at 0x20 dot net> [5], Alexander Logvinov <ports at
logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +00:00
. e n d i f
. e l s e
ignorelist-verbose :
@${ DO_NADA }
. e n d i f
1998-11-08 10:29:53 +00:00
################################################################
# Clean directories for ftp or CDROM.
################################################################
2010-05-25 00:25:02 +00:00
. i f ! d e f i n e d ( L I C E N S E )
1998-11-08 10:29:53 +00:00
. i f d e f i n e d ( R E S T R I C T E D )
clean-restricted : delete -distfiles delete -package
1999-04-28 06:20:23 +00:00
clean-restricted-list : delete -distfiles -list delete -package -list
2002-01-23 03:48:44 +00:00
RESTRICTED_FILES ?= ${ _DISTFILES } ${ _PATCHFILES }
1998-11-08 10:29:53 +00:00
. e l s e
clean-restricted :
1999-04-28 06:20:23 +00:00
clean-restricted-list :
1998-11-08 10:29:53 +00:00
. e n d i f
. i f d e f i n e d ( N O _ C D R O M )
clean-for-cdrom : delete -distfiles delete -package
1999-04-28 06:20:23 +00:00
clean-for-cdrom-list : delete -distfiles -list delete -package -list
2002-01-23 03:48:44 +00:00
RESTRICTED_FILES ?= ${ _DISTFILES } ${ _PATCHFILES }
1998-11-08 10:29:53 +00:00
. e l s e
clean-for-cdrom :
1999-04-28 06:20:23 +00:00
clean-for-cdrom-list :
1998-11-08 10:29:53 +00:00
. e n d i f
2010-05-25 00:25:02 +00:00
. e n d i f # !defined(LICENSE)
1995-12-07 14:11:29 +00:00
. i f d e f i n e d ( A L L _ H O O K )
all :
1996-06-19 01:04:23 +00:00
@cd ${ .CURDIR } && ${ SETENV } CURDIR = ${ .CURDIR } DISTNAME = ${ DISTNAME } \
1995-12-07 14:11:29 +00:00
DISTDIR = ${ DISTDIR } WRKDIR = ${ WRKDIR } WRKSRC = ${ WRKSRC } \
PATCHDIR = ${ PATCHDIR } SCRIPTDIR = ${ SCRIPTDIR } \
2007-08-04 11:37:24 +00:00
FILESDIR = ${ FILESDIR } PORTSDIR = ${ PORTSDIR } PREFIX = ${ PREFIX } \
2012-01-13 02:17:01 +00:00
BUILD_DEPENDS = " ${ BUILD_DEPENDS } " RUN_DEPENDS = " ${ RUN_DEPENDS } " \
2003-05-06 05:15:18 +00:00
CONFLICTS = " ${ CONFLICTS } " \
1995-12-07 14:11:29 +00:00
${ ALL_HOOK }
. e n d i f
1994-10-14 07:56:46 +00:00
. i f ! t a r g e t ( a l l )
2014-04-16 16:29:38 +00:00
. i f d e f i n e d ( N O _ S T A G E )
1995-04-17 06:28:15 +00:00
all : build
2014-04-16 16:29:38 +00:00
. e l s e
all : stage
. e n d i f
1994-10-14 07:56:46 +00:00
. e n d i f
1994-08-21 13:12:57 +00:00
1997-04-30 03:12:05 +00:00
. i f ! d e f i n e d ( D E P E N D S _ T A R G E T )
2007-06-28 16:05:08 +00:00
. i f d e f i n e d ( D E P E N D S _ P R E C L E A N )
DEPENDS_TARGET = clean
DEPENDS_ARGS = NOCLEANDEPENDS = yes
. e n d i f
1997-08-20 03:44:14 +00:00
. i f m a k e ( r e i n s t a l l )
2007-06-28 16:05:08 +00:00
DEPENDS_TARGET += reinstall
1997-08-20 03:44:14 +00:00
. e l s e
2007-06-28 16:05:08 +00:00
DEPENDS_TARGET += install
1994-10-03 14:38:27 +00:00
. e n d i f
1999-08-22 11:20:25 +00:00
. i f d e f i n e d ( D E P E N D S _ C L E A N )
DEPENDS_TARGET += clean
DEPENDS_ARGS += NOCLEANDEPENDS = yes
. e n d i f
1997-08-20 03:44:14 +00:00
. e n d i f
1994-10-03 14:38:27 +00:00
2004-01-20 09:14:10 +00:00
################################################################
#
# Do preliminary work to detect if we need to run the config
# target or not.
#
################################################################
2012-06-08 18:44:17 +00:00
. i f ( ( ! d e f i n e d ( O P T I O N S _ D E F I N E ) & & ! d e f i n e d ( O P T I O N S _ S I N G L E ) & & ! d e f i n e d ( O P T I O N S _ M U L T I ) ) \
2012-12-10 10:14:05 +00:00
&& !defined( OPTIONS_GROUP) && !defined( OPTIONS_RADIO) \
2014-05-05 09:45:36 +00:00
|| defined( CONFIG_DONE_${ UNIQUENAME : tu } ) || \
2007-04-02 22:42:38 +00:00
defined( PACKAGE_BUILDING) || defined( BATCH) )
2004-01-20 09:14:10 +00:00
_OPTIONS_OK = yes
. e n d i f
1995-04-20 18:03:02 +00:00
################################################################
# 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
1995-05-29 13:46:38 +00:00
# override from an individual Makefile.
1995-04-20 18:03:02 +00:00
################################################################
1996-11-01 07:22:37 +00:00
# Disable checksum
* Improve documentation of CONFLICTS. [1]
* Fix add-plist-docs target to work correctly with wildcards. [2]
* Fix USE_MYSQL and USE_PGSQL knobs to work in partitial ports tree. [2] [3]
* Introduce 2 new variables: USE_FAM and WANT_FAM_SYSTEM. [4]
* Suppress "Vulnerability check disabled" message if
DISABLE_VULNERABILITIES is defined. [5]
* Switch default MySQL version to 4.1 [6]
* Add support for OpenLDAP v.23. [7]
* Fix add-plist-info and add-plist-post targets to avoid warnings
from ports which redefine them. [8]
* Fix add-plist-docs target to handle NOPORTDOCS knob properly. [9]
* Use INSTALLDIRS="site" in configure for perl ports. [10]
* Fix NO_(CHECKSUM|BUILD|INSTALL|PACKAGE) knobs if OPTIONS are
defined. [11]
* Add an ability to depend on versioned installed package. [12]
Example:
BUILD_DEPENDS=p5-Tree-Simple>=1.12:${PORTSDIR}/devel/p5-Tree-Simple
Please note, it's experimental feature, work is currently in
progress.
PR: ports/81922 [1], ports/77820 [2], ports/80023 [2],
ports/78597 [2], ports/79011 [3], ports/79012 [3],
ports/81168 [4], ports/78607 [5], ports/79604 [6],
ports/80653 [7], ports/80880 [8], ports/81189 [9],
ports/78144 [10], ports/69512 [11], ports/79823 [12]
Submitted by: gerald [1], clement [2], lawrance [2], Jilles
Tjoelker <jilles at stack dot nl> [3], marcus [4],
adamw [5], ale [6], Vsevolod Stakhov <vsevolod at
highsecure.dot.ru> [7], Vasil Dimov <vd at datamax dot bg> [8],
sem [10], leeym [11], tobez [12]
2005-06-09 20:39:43 +00:00
. i f d e f i n e d ( N O _ C H E C K S U M ) & & ! t a r g e t ( c h e c k s u m )
1996-11-01 07:22:37 +00:00
checksum : fetch
@${ DO_NADA }
. e n d i f
1996-06-01 05:47:42 +00:00
# Disable build
* Improve documentation of CONFLICTS. [1]
* Fix add-plist-docs target to work correctly with wildcards. [2]
* Fix USE_MYSQL and USE_PGSQL knobs to work in partitial ports tree. [2] [3]
* Introduce 2 new variables: USE_FAM and WANT_FAM_SYSTEM. [4]
* Suppress "Vulnerability check disabled" message if
DISABLE_VULNERABILITIES is defined. [5]
* Switch default MySQL version to 4.1 [6]
* Add support for OpenLDAP v.23. [7]
* Fix add-plist-info and add-plist-post targets to avoid warnings
from ports which redefine them. [8]
* Fix add-plist-docs target to handle NOPORTDOCS knob properly. [9]
* Use INSTALLDIRS="site" in configure for perl ports. [10]
* Fix NO_(CHECKSUM|BUILD|INSTALL|PACKAGE) knobs if OPTIONS are
defined. [11]
* Add an ability to depend on versioned installed package. [12]
Example:
BUILD_DEPENDS=p5-Tree-Simple>=1.12:${PORTSDIR}/devel/p5-Tree-Simple
Please note, it's experimental feature, work is currently in
progress.
PR: ports/81922 [1], ports/77820 [2], ports/80023 [2],
ports/78597 [2], ports/79011 [3], ports/79012 [3],
ports/81168 [4], ports/78607 [5], ports/79604 [6],
ports/80653 [7], ports/80880 [8], ports/81189 [9],
ports/78144 [10], ports/69512 [11], ports/79823 [12]
Submitted by: gerald [1], clement [2], lawrance [2], Jilles
Tjoelker <jilles at stack dot nl> [3], marcus [4],
adamw [5], ale [6], Vsevolod Stakhov <vsevolod at
highsecure.dot.ru> [7], Vasil Dimov <vd at datamax dot bg> [8],
sem [10], leeym [11], tobez [12]
2005-06-09 20:39:43 +00:00
. i f d e f i n e d ( N O _ B U I L D ) & & ! t a r g e t ( b u i l d )
1995-04-24 10:41:51 +00:00
build : configure
1994-11-01 18:09:22 +00:00
@${ TOUCH } ${ TOUCH_FLAGS } ${ BUILD_COOKIE }
1994-08-28 14:41:34 +00:00
. e n d i f
1996-06-01 05:47:42 +00:00
2014-03-28 04:47:53 +00:00
# Disable staging. Be non-fatal here as some scripts may just call it as a
# matter of correctness in their ordering.
. i f d e f i n e d ( N O _ S T A G E ) & & ! t a r g e t ( s t a g e )
stage :
@${ ECHO_MSG } "===> This port does not yet support staging"
. e n d i f
1996-06-01 05:47:42 +00:00
# Disable install
2010-11-24 23:04:02 +00:00
. i f d e f i n e d ( N O _ I N S T A L L ) & & ! t a r g e t ( d o - i n s t a l l )
do-install :
@${ DO_NADA }
1994-08-28 14:41:34 +00:00
. e n d i f
1996-06-01 05:47:42 +00:00
1996-11-01 07:22:37 +00:00
# Disable package
* Improve documentation of CONFLICTS. [1]
* Fix add-plist-docs target to work correctly with wildcards. [2]
* Fix USE_MYSQL and USE_PGSQL knobs to work in partitial ports tree. [2] [3]
* Introduce 2 new variables: USE_FAM and WANT_FAM_SYSTEM. [4]
* Suppress "Vulnerability check disabled" message if
DISABLE_VULNERABILITIES is defined. [5]
* Switch default MySQL version to 4.1 [6]
* Add support for OpenLDAP v.23. [7]
* Fix add-plist-info and add-plist-post targets to avoid warnings
from ports which redefine them. [8]
* Fix add-plist-docs target to handle NOPORTDOCS knob properly. [9]
* Use INSTALLDIRS="site" in configure for perl ports. [10]
* Fix NO_(CHECKSUM|BUILD|INSTALL|PACKAGE) knobs if OPTIONS are
defined. [11]
* Add an ability to depend on versioned installed package. [12]
Example:
BUILD_DEPENDS=p5-Tree-Simple>=1.12:${PORTSDIR}/devel/p5-Tree-Simple
Please note, it's experimental feature, work is currently in
progress.
PR: ports/81922 [1], ports/77820 [2], ports/80023 [2],
ports/78597 [2], ports/79011 [3], ports/79012 [3],
ports/81168 [4], ports/78607 [5], ports/79604 [6],
ports/80653 [7], ports/80880 [8], ports/81189 [9],
ports/78144 [10], ports/69512 [11], ports/79823 [12]
Submitted by: gerald [1], clement [2], lawrance [2], Jilles
Tjoelker <jilles at stack dot nl> [3], marcus [4],
adamw [5], ale [6], Vsevolod Stakhov <vsevolod at
highsecure.dot.ru> [7], Vasil Dimov <vd at datamax dot bg> [8],
sem [10], leeym [11], tobez [12]
2005-06-09 20:39:43 +00:00
. i f d e f i n e d ( N O _ P A C K A G E ) & & ! t a r g e t ( p a c k a g e )
1996-11-01 07:22:37 +00:00
package :
1996-12-09 07:08:16 +00:00
. i f d e f i n e d ( I G N O R E _ S I L E N T )
1996-11-01 07:22:37 +00:00
@${ DO_NADA }
1996-12-09 07:08:16 +00:00
. e l s e
- 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 } .
1996-12-09 07:08:16 +00:00
. e n d i f
1996-11-01 07:22:37 +00:00
. e n d i f
# Disable describe
. i f d e f i n e d ( N O _ D E S C R I B E ) & & ! t a r g e t ( d e s c r i b e )
describe :
@${ DO_NADA }
1994-11-11 09:45:33 +00:00
. e n d i f
1994-08-28 14:41:34 +00:00
1995-04-20 18:03:02 +00:00
################################################################
1994-08-28 14:41:34 +00:00
# More standard targets start here.
1995-03-22 21:46:04 +00:00
#
1995-04-20 18:03:02 +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.
################################################################
2002-03-25 08:48:47 +00:00
# Pre-everything
2003-11-07 08:51:46 +00:00
pre-everything ::
2004-01-20 09:14:10 +00:00
@${ DO_NADA }
2004-09-30 05:21:01 +00:00
. i f d e f i n e d ( T R Y B R O K E N ) & & d e f i n e d ( B R O K E N )
2014-01-03 23:01:01 +00:00
buildanyway-message :
2002-03-25 08:48:47 +00:00
@${ ECHO_MSG } " Trying build of ${ PKGNAME } even though it is marked BROKEN. "
. e n d i f
2004-01-20 09:14:10 +00:00
options-message :
2002-03-25 08:48:47 +00:00
. i f d e f i n e d ( G N O M E _ O P T I O N _ M S G ) & & ( ! d e f i n e d ( P A C K A G E _ B U I L D I N G ) | | ! d e f i n e d ( B A T C H ) )
@for m in ${ GNOME_OPTION_MSG } ; do \
${ ECHO_MSG } $$ m; \
done
. e l s e
@${ DO_NADA }
. e n d i f
2004-02-04 04:27:04 +00:00
. i f d e f i n e d ( _ O P T I O N S _ R E A D )
@${ ECHO_MSG } " ===> Found saved configuration for ${ _OPTIONS_READ } "
. e n d i f
2002-03-25 08:48:47 +00:00
2004-01-20 09:14:10 +00:00
# Warn user about deprecated packages. Advisory only.
. i f ! t a r g e t ( c h e c k - d e p r e c a t e d )
check-deprecated :
. i f d e f i n e d ( D E P R E C A T E D )
@${ 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 } .
2004-01-20 09:14:10 +00:00
@${ ECHO_MSG }
. i f d e f i n e d ( E X P I R A T I O N _ D A T E )
* 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 } . "
2004-01-20 09:14:10 +00:00
@${ ECHO_MSG }
. e n d i f
. e n d i f
. e n d i f
2004-02-04 04:27:04 +00:00
# Check if the port is listed in the vulnerability database
2012-02-22 17:34:47 +00:00
. i f d e f i n e d ( W I T H _ P K G N G )
2013-11-27 13:57:06 +00:00
AUDITFILE ?= ${ PKG_DBDIR } /vuln.xml
2012-02-22 17:34:47 +00:00
_EXTRACT_AUDITFILE = ${ CAT } " ${ AUDITFILE } "
. e l s e
2004-02-04 04:27:04 +00:00
AUDITFILE ?= /var/db/portaudit/auditfile.tbz
_EXTRACT_AUDITFILE = ${ TAR } -jxOf " ${ AUDITFILE } " auditfile
2012-02-22 17:34:47 +00:00
. e n d i f
2004-02-04 04:27:04 +00:00
check-vulnerable :
. i f ! d e f i n e d ( D I S A B L E _ V U L N E R A B I L I T I E S ) & & ! d e f i n e d ( P A C K A G E _ B U I L D I N G )
@if [ -f " ${ AUDITFILE } " ] ; then \
2012-02-22 17:34:47 +00:00
if [ -n " ${ WITH_PKGNG } " ] ; then \
2013-03-30 05:31:29 +00:00
if [ -x " ${ PKG_BIN } " ] ; then \
vlist = ` ${ PKG_BIN } audit " ${ PKGNAME } " ` ; \
2014-05-12 15:46:34 +00:00
if [ " $$ {vlist} " = "0 problem(s) in the installed packages found." ] ; then \
vlist = "" ; \
fi ; \
2013-03-30 05:31:29 +00:00
elif [ " ${ PORTNAME } " = "pkg" ] ; then \
vlist = "" ; \
fi ; \
2012-03-11 21:30:49 +00:00
elif [ -x " ${ LOCALBASE } /sbin/portaudit " ] ; then \
vlist = ` ${ LOCALBASE } /sbin/portaudit -X 14 " ${ PKGNAME } " \
2>& 1 | grep -vE '^[0-9]+ problem\(s\) found.' \
|| true ` ; \
2014-01-05 01:16:34 +00:00
if [ -n " $$ vlist " ] ; then \
vlist = ` ${ LOCALBASE } /sbin/portaudit -X 14 " ${ PKGNAME } " \
2>& 1 | grep -vE '^[0-9]+ problem\(s\) found.' \
|| true ` ; \
fi ; \
2012-02-22 17:34:47 +00:00
else \
2012-03-13 08:14:45 +00:00
${ ECHO_MSG } "===> portaudit database exists, however, portaudit is not installed!" ; \
2012-02-22 17:34:47 +00:00
fi ; \
2004-02-04 04:27:04 +00:00
if [ -n " $$ vlist " ] ; then \
${ ECHO_MSG } " ===> ${ PKGNAME } has known vulnerabilities: " ; \
${ ECHO_MSG } " $$ vlist " ; \
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
${ ECHO_MSG } "=> Please update your ports tree and try again." ; \
2004-02-04 04:27:04 +00:00
exit 1; \
fi ; \
fi
. e n d i f
2010-10-28 21:00:21 +00:00
# set alg to any of SIZE, SHA256 (or any other checksum algorithm):
DISTINFO_DATA ?= if [ \( -n " ${ DISABLE_SIZE } " -a -n " ${ NO_CHECKSUM } " \) -o ! -f " ${ DISTINFO_FILE } " ] ; then exit; fi ; \
2007-04-07 12:51:47 +00:00
DIR = ${ DIST_SUBDIR } ; ${ AWK } -v alg = $$ alg -v file = $$ { DIR:+$$ DIR/} $$ { file} \
2010-10-28 21:00:21 +00:00
'$$1 == alg && $$2 == "(" file ")" {print $$4}' ${ DISTINFO_FILE }
2007-04-02 22:44:52 +00:00
1995-04-20 18:03:02 +00:00
# Fetch
. i f ! t a r g e t ( d o - f e t c h )
do-fetch :
1996-11-30 10:31:50 +00:00
@${ MKDIR } ${ _DISTDIR }
2007-04-02 22:44:52 +00:00
@cd ${ _DISTDIR } ; \
2007-08-04 11:37:24 +00:00
${ _MASTER_SITES_ENV } ; \
for _file in ${ DISTFILES } ; do \
2007-04-02 22:44:52 +00:00
file = $$ { _file%%:*} ; \
2007-10-03 22:24:59 +00:00
if [ $$ _file = $$ file ] ; then \
2007-04-02 22:44:52 +00:00
select = '' ; \
else \
select = ` ${ ECHO_CMD } $$ { _file##*:} | ${ SED } -e 's/,/ /g' ` ; \
fi ; \
- 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
force_fetch = false; \
2007-10-03 22:24:59 +00:00
filebasename = $$ { file##*/} ; \
- 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
for afile in ${ FORCE_FETCH } ; do \
2007-10-03 22:24:59 +00:00
afile = $$ { afile##*/} ; \
- 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 [ " x $$ afile " = " x $$ filebasename " ] ; then \
force_fetch = true; \
fi ; \
done ; \
if [ ! -f $$ file -a ! -f $$ filebasename -o " $$ force_fetch " = "true" ] ; then \
if [ -L $$ file -o -L $$ filebasename ] ; then \
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
${ ECHO_MSG } " => ${ _DISTDIR } / $$ file is a broken symlink. " ; \
${ ECHO_MSG } "=> Perhaps a filesystem (most likely a CD) isn't mounted?" ; \
${ ECHO_MSG } "=> Please correct this problem and try again." ; \
1996-02-16 11:19:00 +00:00
exit 1; \
2007-08-04 11:37:24 +00:00
fi ; \
2010-10-28 21:00:21 +00:00
if [ -f ${ DISTINFO_FILE } -a " x ${ NO_CHECKSUM } " = "x" ] ; then \
_sha256sum = ` alg = SHA256; ${ DISTINFO_DATA } ` ; \
if [ -z " $$ _sha256sum " ] ; then \
${ ECHO_MSG } " => $$ {DIR:+ $$ DIR/} $$ file is not in ${ DISTINFO_FILE } . " ; \
${ ECHO_MSG } " => Either ${ DISTINFO_FILE } is out of date, or " ; \
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
${ ECHO_MSG } " => $$ {DIR:+ $$ DIR/} $$ file is spelled incorrectly. " ; \
2000-04-16 11:35:52 +00:00
exit 1; \
fi ; \
fi ; \
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
${ ECHO_MSG } " => $$ file doesn't seem to exist in ${ _DISTDIR } . " ; \
2002-09-25 17:50:03 +00:00
if [ ! -w ${ DISTDIR } ] ; then \
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
${ ECHO_MSG } " => ${ DISTDIR } is not writable by you; cannot fetch. " ; \
2002-09-25 17:50:03 +00:00
exit 1; \
fi ; \
2002-01-23 03:48:44 +00:00
if [ ! -z " $$ select " ] ; then \
__MASTER_SITES_TMP = ; \
for group in $$ select ; do \
if [ ! -z \$ ${ _MASTER_SITES_ $$ {group } } ] ; then \
eval ___MASTER_SITES_TMP = " \$ ${ _MASTER_SITES_ $$ {group } } " ; \
__MASTER_SITES_TMP = " $$ {__MASTER_SITES_TMP} $$ {___MASTER_SITES_TMP} " ; \
2007-08-04 11:37:24 +00:00
fi ; \
2002-01-23 03:48:44 +00:00
done ; \
___MASTER_SITES_TMP = ; \
2004-01-20 09:14:10 +00:00
SORTED_MASTER_SITES_CMD_TMP = " ${ ECHO_CMD } ${ _MASTER_SITE_OVERRIDE } ` ${ ECHO_CMD } $$ {__MASTER_SITES_TMP} | ${ AWK } ' ${ MASTER_SORT_AWK : S | \\ | \\ \\ |g } '` ${ _MASTER_SITE_BACKUP } " ; \
2002-01-23 03:48:44 +00:00
else \
SORTED_MASTER_SITES_CMD_TMP = " ${ SORTED_MASTER_SITES_DEFAULT_CMD } " ; \
2007-08-04 11:37:24 +00:00
fi ; \
- make fetch/checksum: If a fetched file does not match the expected size,
delete it and try the next site, if there is one to try.
Normally fetch(1) will detect that the size is wrong, fail, and the 'fetch'
target will move on to the next site:
=> Attempting to fetch http://www.chiark.greenend.org.uk/~sgtatham/agedu/agedu-r9723.tar.gz
fetch: http://www.chiark.greenend.org.uk/~sgtatham/agedu/agedu-r9723.tar.gz: size mismatch: expected 155321, actual 163319
=> Attempting to fetch http://ftp.FreeBSD.org/pub/FreeBSD/ports/local-distfiles/sunpoet/agedu-r9723.tar.gz
agedu-r9723.tar.gz 100% of 151 kB 259 kBps
However, if the remote server does not properly advertise the size of the file,
fetch(1) will still download the file, and succeed. The 'fetch' target then
stops, assuming it has a proper file. This is returned to 'checksum', which fails,
and then tries a refetch, but on the same broken site. In this example, the size
is expected to be 214984, but a 4830 size is fetched and checksummed.
=> Attempting to fetch http://kornelix.squarespace.com/storage/downloads/picpuz-2.1.1.tar.gz
fetch: http://kornelix.squarespace.com/storage/downloads/picpuz-2.1.1.tar.gz: size unknown
fetch: http://kornelix.squarespace.com/storage/downloads/picpuz-2.1.1.tar.gz: size of remote file is not known
picpuz-2.1.1.tar.gz 4830 B 48 kBps
===> Fetching all distfiles required by picpuz-2.1.1_5 for building
=> SHA256 Checksum mismatch for picpuz-2.1.1.tar.gz.
Now the 'fetch' target will verify the size is proper before returning to
'checksum':
=> Attempting to fetch http://kornelix.squarespace.com/storage/downloads/picpuz-2.1.1.tar.gz
fetch: http://kornelix.squarespace.com/storage/downloads/picpuz-2.1.1.tar.gz: size unknown
fetch: http://kornelix.squarespace.com/storage/downloads/picpuz-2.1.1.tar.gz: size of remote file is not known
picpuz-2.1.1.tar.gz 4830 B 130 kBps
=> Fetched file size mismatch (expected 214984 actual 4830)
=> Trying next site
=> Attempting to fetch http://www.stasyan.com/devel/distfiles/picpuz-2.1.1.tar.gz
picpuz-2.1.1.tar.gz 100% of 209 kB 20 kBps 00m00s
===> Fetching all distfiles required by picpuz-2.1.1_5 for building
=> SHA256 Checksum OK for picpuz-2.1.1.tar.gz.
Reviewed by: bapt
With hat: portmgr
2013-08-31 13:22:01 +00:00
sites_remaining = 0; \
sites = " `eval $$ SORTED_MASTER_SITES_CMD_TMP ${ _RANDOMIZE_SITES } ` " ; \
for site in $$ { sites} ; do \
sites_remaining = $$ ( ( $$ { sites_remaining} + 1) ) ; \
done ; \
for site in $$ { sites} ; do \
sites_remaining = $$ ( ( $$ { sites_remaining} - 1) ) ; \
2011-02-25 00:56:51 +00:00
${ ECHO_MSG } " => Attempting to fetch $$ {site} $$ {file} " ; \
2007-04-02 22:44:52 +00:00
CKSIZE = ` alg = SIZE; ${ DISTINFO_DATA } ` ; \
1999-10-01 09:28:32 +00:00
case $$ { file} in \
*/*) ${ MKDIR } $$ { file%/*} ; \
args = " -o $$ {file} $$ {site} $$ {file} " ; ; \
*) args = $$ { site} $$ { file} ; ; \
esac ; \
if ${ SETENV } ${ FETCH_ENV } ${ FETCH_CMD } ${ FETCH_BEFORE_ARGS } $$ { args} ${ FETCH_AFTER_ARGS } ; then \
- make fetch/checksum: If a fetched file does not match the expected size,
delete it and try the next site, if there is one to try.
Normally fetch(1) will detect that the size is wrong, fail, and the 'fetch'
target will move on to the next site:
=> Attempting to fetch http://www.chiark.greenend.org.uk/~sgtatham/agedu/agedu-r9723.tar.gz
fetch: http://www.chiark.greenend.org.uk/~sgtatham/agedu/agedu-r9723.tar.gz: size mismatch: expected 155321, actual 163319
=> Attempting to fetch http://ftp.FreeBSD.org/pub/FreeBSD/ports/local-distfiles/sunpoet/agedu-r9723.tar.gz
agedu-r9723.tar.gz 100% of 151 kB 259 kBps
However, if the remote server does not properly advertise the size of the file,
fetch(1) will still download the file, and succeed. The 'fetch' target then
stops, assuming it has a proper file. This is returned to 'checksum', which fails,
and then tries a refetch, but on the same broken site. In this example, the size
is expected to be 214984, but a 4830 size is fetched and checksummed.
=> Attempting to fetch http://kornelix.squarespace.com/storage/downloads/picpuz-2.1.1.tar.gz
fetch: http://kornelix.squarespace.com/storage/downloads/picpuz-2.1.1.tar.gz: size unknown
fetch: http://kornelix.squarespace.com/storage/downloads/picpuz-2.1.1.tar.gz: size of remote file is not known
picpuz-2.1.1.tar.gz 4830 B 48 kBps
===> Fetching all distfiles required by picpuz-2.1.1_5 for building
=> SHA256 Checksum mismatch for picpuz-2.1.1.tar.gz.
Now the 'fetch' target will verify the size is proper before returning to
'checksum':
=> Attempting to fetch http://kornelix.squarespace.com/storage/downloads/picpuz-2.1.1.tar.gz
fetch: http://kornelix.squarespace.com/storage/downloads/picpuz-2.1.1.tar.gz: size unknown
fetch: http://kornelix.squarespace.com/storage/downloads/picpuz-2.1.1.tar.gz: size of remote file is not known
picpuz-2.1.1.tar.gz 4830 B 130 kBps
=> Fetched file size mismatch (expected 214984 actual 4830)
=> Trying next site
=> Attempting to fetch http://www.stasyan.com/devel/distfiles/picpuz-2.1.1.tar.gz
picpuz-2.1.1.tar.gz 100% of 209 kB 20 kBps 00m00s
===> Fetching all distfiles required by picpuz-2.1.1_5 for building
=> SHA256 Checksum OK for picpuz-2.1.1.tar.gz.
Reviewed by: bapt
With hat: portmgr
2013-08-31 13:22:01 +00:00
actual_size = ` stat -f %z " $$ {file} " ` ; \
2013-09-03 01:13:10 +00:00
if [ -n " ${ DISABLE_SIZE } " ] || [ -z " $$ {CKSIZE} " ] || [ $$ { actual_size} -eq $$ { CKSIZE} ] ; then \
- make fetch/checksum: If a fetched file does not match the expected size,
delete it and try the next site, if there is one to try.
Normally fetch(1) will detect that the size is wrong, fail, and the 'fetch'
target will move on to the next site:
=> Attempting to fetch http://www.chiark.greenend.org.uk/~sgtatham/agedu/agedu-r9723.tar.gz
fetch: http://www.chiark.greenend.org.uk/~sgtatham/agedu/agedu-r9723.tar.gz: size mismatch: expected 155321, actual 163319
=> Attempting to fetch http://ftp.FreeBSD.org/pub/FreeBSD/ports/local-distfiles/sunpoet/agedu-r9723.tar.gz
agedu-r9723.tar.gz 100% of 151 kB 259 kBps
However, if the remote server does not properly advertise the size of the file,
fetch(1) will still download the file, and succeed. The 'fetch' target then
stops, assuming it has a proper file. This is returned to 'checksum', which fails,
and then tries a refetch, but on the same broken site. In this example, the size
is expected to be 214984, but a 4830 size is fetched and checksummed.
=> Attempting to fetch http://kornelix.squarespace.com/storage/downloads/picpuz-2.1.1.tar.gz
fetch: http://kornelix.squarespace.com/storage/downloads/picpuz-2.1.1.tar.gz: size unknown
fetch: http://kornelix.squarespace.com/storage/downloads/picpuz-2.1.1.tar.gz: size of remote file is not known
picpuz-2.1.1.tar.gz 4830 B 48 kBps
===> Fetching all distfiles required by picpuz-2.1.1_5 for building
=> SHA256 Checksum mismatch for picpuz-2.1.1.tar.gz.
Now the 'fetch' target will verify the size is proper before returning to
'checksum':
=> Attempting to fetch http://kornelix.squarespace.com/storage/downloads/picpuz-2.1.1.tar.gz
fetch: http://kornelix.squarespace.com/storage/downloads/picpuz-2.1.1.tar.gz: size unknown
fetch: http://kornelix.squarespace.com/storage/downloads/picpuz-2.1.1.tar.gz: size of remote file is not known
picpuz-2.1.1.tar.gz 4830 B 130 kBps
=> Fetched file size mismatch (expected 214984 actual 4830)
=> Trying next site
=> Attempting to fetch http://www.stasyan.com/devel/distfiles/picpuz-2.1.1.tar.gz
picpuz-2.1.1.tar.gz 100% of 209 kB 20 kBps 00m00s
===> Fetching all distfiles required by picpuz-2.1.1_5 for building
=> SHA256 Checksum OK for picpuz-2.1.1.tar.gz.
Reviewed by: bapt
With hat: portmgr
2013-08-31 13:22:01 +00:00
continue 2; \
else \
${ ECHO_MSG } " => Fetched file size mismatch (expected $$ {CKSIZE}, actual $$ {actual_size}) " ; \
if [ $$ { sites_remaining} -gt 1 ] ; then \
${ ECHO_MSG } "=> Trying next site" ; \
${ RM } -f $$ { file} ; \
fi ; \
fi ; \
2007-08-04 11:37:24 +00:00
fi ; \
1995-04-20 18:03:02 +00:00
done ; \
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
${ ECHO_MSG } "=> Couldn't fetch it - please try to retrieve this" ; \
${ ECHO_MSG } " => port manually into ${ _DISTDIR } and try again. " ; \
1995-08-29 11:57:40 +00:00
exit 1; \
2007-08-04 11:37:24 +00:00
fi ; \
2007-04-02 22:44:52 +00:00
done
1995-04-20 18:03:02 +00:00
. i f d e f i n e d ( P A T C H F I L E S )
2007-04-02 22:44:52 +00:00
@cd ${ _DISTDIR } ; \
${ _PATCH_SITES_ENV } ; \
2007-08-04 11:37:24 +00:00
for _file in ${ PATCHFILES } ; do \
2013-10-05 10:20:15 +00:00
file = ` ${ ECHO_CMD } $$ _file | ${ SED } -E -e 's/:[^-:][^:]*$$//' ` ; \
2004-01-20 09:14:10 +00:00
select = ` ${ ECHO_CMD } $$ { _file#$$ { file} } | ${ SED } -e 's/^://' -e 's/,/ /g' ` ; \
2013-10-05 10:20:15 +00:00
file = ` ${ ECHO_CMD } $$ file | ${ SED } -E -e 's/:-[^:]+$$//' ` ; \
- 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
force_fetch = false; \
2007-10-03 22:24:59 +00:00
filebasename = $$ { file##*/} ; \
- 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
for afile in ${ FORCE_FETCH } ; do \
2007-10-03 22:24:59 +00:00
afile = $$ { afile##*/} ; \
- 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 [ " x $$ afile " = " x $$ filebasename " ] ; then \
force_fetch = true; \
fi ; \
done ; \
if [ ! -f $$ file -a ! -f $$ filebasename -o " $$ force_fetch " = "true" ] ; then \
2007-10-03 22:24:59 +00:00
if [ -L $$ file -o -L $$ { file##*/} ] ; then \
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
${ ECHO_MSG } " => ${ _DISTDIR } / $$ file is a broken symlink. " ; \
${ ECHO_MSG } "=> Perhaps a filesystem (most likely a CD) isn't mounted?" ; \
${ ECHO_MSG } "=> Please correct this problem and try again." ; \
1996-02-16 11:19:00 +00:00
exit 1; \
2007-08-04 11:37:24 +00:00
fi ; \
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
${ ECHO_MSG } " => $$ file doesn't seem to exist in ${ _DISTDIR } . " ; \
2002-04-03 01:17:57 +00:00
if [ ! -z " $$ select " ] ; then \
2002-01-23 03:48:44 +00:00
__PATCH_SITES_TMP = ; \
for group in $$ select ; do \
if [ ! -z \$ ${ _PATCH_SITES_ $$ {group } } ] ; then \
eval ___PATCH_SITES_TMP = " \$ ${ _PATCH_SITES_ $$ {group } } " ; \
__PATCH_SITES_TMP = " $$ {__PATCH_SITES_TMP} $$ {___PATCH_SITES_TMP} " ; \
2007-08-04 11:37:24 +00:00
fi ; \
2002-01-23 03:48:44 +00:00
done ; \
___PATCH_SITES_TMP = ; \
2004-01-20 09:14:10 +00:00
SORTED_PATCH_SITES_CMD_TMP = " ${ ECHO_CMD } ${ _MASTER_SITE_OVERRIDE } ` ${ ECHO_CMD } $$ {__PATCH_SITES_TMP} | ${ AWK } ' ${ MASTER_SORT_AWK : S | \\ | \\ \\ |g } '` ${ _MASTER_SITE_BACKUP } " ; \
2002-01-23 03:48:44 +00:00
else \
SORTED_PATCH_SITES_CMD_TMP = " ${ SORTED_PATCH_SITES_DEFAULT_CMD } " ; \
2007-08-04 11:37:24 +00:00
fi ; \
2013-10-20 02:06:40 +00:00
sites_remaining = 0; \
sites = " `eval $$ SORTED_PATCH_SITES_CMD_TMP` " ; \
for site in $$ { sites} ; do \
sites_remaining = $$ ( ( $$ { sites_remaining} + 1) ) ; \
done ; \
for site in $$ { sites} ; do \
sites_remaining = $$ ( ( $$ { sites_remaining} - 1) ) ; \
2011-02-25 00:56:51 +00:00
${ ECHO_MSG } " => Attempting to fetch $$ {site} $$ {file} " ; \
2007-04-02 22:44:52 +00:00
CKSIZE = ` alg = SIZE; ${ DISTINFO_DATA } ` ; \
1999-10-01 09:28:32 +00:00
case $$ { file} in \
*/*) ${ MKDIR } $$ { file%/*} ; \
args = " -o $$ {file} $$ {site} $$ {file} " ; ; \
*) args = $$ { site} $$ { file} ; ; \
esac ; \
if ${ SETENV } ${ FETCH_ENV } ${ FETCH_CMD } ${ FETCH_BEFORE_ARGS } $$ { args} ${ FETCH_AFTER_ARGS } ; then \
2013-10-20 02:06:40 +00:00
actual_size = ` stat -f %z " $$ {file} " ` ; \
if [ -n " ${ DISABLE_SIZE } " ] || [ -z " $$ {CKSIZE} " ] || [ $$ { actual_size} -eq $$ { CKSIZE} ] ; then \
continue 2; \
else \
${ ECHO_MSG } " => Fetched file size mismatch (expected $$ {CKSIZE}, actual $$ {actual_size}) " ; \
if [ $$ { sites_remaining} -gt 1 ] ; then \
${ ECHO_MSG } "=> Trying next site" ; \
${ RM } -f $$ { file} ; \
fi ; \
fi ; \
2007-08-04 11:37:24 +00:00
fi ; \
1995-04-20 18:03:02 +00:00
done ; \
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
${ ECHO_MSG } "=> Couldn't fetch it - please try to retrieve this" ; \
${ ECHO_MSG } " => port manually into ${ _DISTDIR } and try again. " ; \
1995-08-29 11:57:40 +00:00
exit 1; \
2007-08-04 11:37:24 +00:00
fi ; \
2007-04-02 22:44:52 +00:00
done
1995-04-20 18:03:02 +00:00
. e n d i f
. e n d i f
# Extract
. i f ! t a r g e t ( d o - e x t r a c t )
do-extract :
1996-03-06 08:08:16 +00:00
@${ RM } -rf ${ WRKDIR }
1996-11-01 07:22:37 +00:00
@${ MKDIR } ${ WRKDIR }
1995-04-20 18:03:02 +00:00
@for file in ${ EXTRACT_ONLY } ; do \
1997-01-10 21:02:27 +00:00
if ! ( cd ${ WRKDIR } && ${ EXTRACT_CMD } ${ EXTRACT_BEFORE_ARGS } ${ _DISTDIR } /$$ file ${ EXTRACT_AFTER_ARGS } ) ; \
1995-04-20 18:03:02 +00:00
then \
exit 1; \
2007-08-04 11:37:24 +00:00
fi ; \
1995-04-20 18:03:02 +00:00
done
1999-08-22 11:20:25 +00:00
. i f ! d e f i n e d ( E X T R A C T _ P R E S E R V E _ O W N E R S H I P )
2011-03-19 21:30:34 +00:00
@if [ ${ UID } = 0 ] ; then \
1999-08-22 11:20:25 +00:00
${ CHMOD } -R ug-s ${ WRKDIR } ; \
${ CHOWN } -R 0:0 ${ WRKDIR } ; \
fi
. e n d i f
1995-04-20 18:03:02 +00:00
. e n d i f
# Patch
. i f ! t a r g e t ( d o - p a t c h )
do-patch :
. i f d e f i n e d ( P A T C H F I L E S )
1996-02-08 00:44:33 +00:00
@${ ECHO_MSG } " ===> Applying distribution patches for ${ PKGNAME } "
2013-11-20 07:57:45 +00:00
@( set -e; \
2013-11-20 07:21:49 +00:00
cd ${ _DISTDIR } ; \
2013-10-05 10:20:15 +00:00
patch_dist_strip ( ) { \
case " $$ 1 " in \
${ _PATCH_DIST_STRIP_CASES } \
esac ; \
} ; \
for i in ${ _PATCHFILES } ; do \
2013-06-13 18:56:24 +00:00
if [ ${ PATCH_DEBUG_TMP } = yes ] ; then \
2013-06-16 12:23:45 +00:00
${ ECHO_MSG } " ===> Applying distribution patch $$ i " ; \
2013-06-13 18:56:24 +00:00
fi ; \
case $$ i in \
*.Z| *.gz) ${ GZCAT } $$ i ; ; \
*.bz2) ${ BZCAT } $$ i ; ; \
*.xz) ${ XZCAT } $$ i ; ; \
*) ${ CAT } $$ i ; ; \
2013-10-05 10:20:15 +00:00
esac | ${ PATCH } ${ PATCH_DIST_ARGS } ` patch_dist_strip $$ i` ; \
2013-06-13 18:56:24 +00:00
done )
1999-11-11 02:36:15 +00:00
. e n d i f
. i f d e f i n e d ( E X T R A _ P A T C H E S )
2013-06-13 18:56:24 +00:00
@set -e ; \
for i in ${ EXTRA_PATCHES } ; do \
case $$ i in \
2014-04-28 15:47:50 +00:00
*:-p[ 0-9] ) patch_file = $$ { i%:*} ; patch_strip = $$ { i##*:} ; ; \
*) patch_file = $$ i ; ; \
esac ; \
${ ECHO_MSG } " ===> Applying extra patch $$ patch_file " ; \
case $$ patfh_file in \
*.Z| *.gz) ${ GZCAT } $$ patch_file ; ; \
*.bz2) ${ BZCAT } $$ patch_file ; ; \
*.xz) ${ XZCAT } $$ patch_file ; ; \
*) ${ CAT } $$ patch_file ; ; \
esac | ${ PATCH } ${ PATCH_ARGS } $$ patch_strip ; \
2013-06-13 18:56:24 +00:00
done
1995-04-20 18:03:02 +00:00
. e n d i f
2013-06-13 06:43:08 +00:00
@set -e ; \
if [ -d ${ PATCHDIR } ] ; then \
2004-01-20 09:14:10 +00:00
if [ " ` ${ ECHO_CMD } ${ PATCHDIR } /patch-*` " != " ${ PATCHDIR } /patch-* " ] ; then \
1996-11-01 07:22:37 +00:00
${ ECHO_MSG } " ===> Applying ${ OPSYS } patches for ${ PKGNAME } " ; \
2000-09-13 07:16:49 +00:00
PATCHES_APPLIED = "" ; \
1996-08-17 10:16:02 +00:00
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) \
1996-08-17 10:16:02 +00:00
${ ECHO_MSG } " ===> Ignoring patchfile $$ i " ; \
; ; \
*) \
if [ ${ PATCH_DEBUG_TMP } = yes ] ; then \
1996-11-01 07:22:37 +00:00
${ ECHO_MSG } " ===> Applying ${ OPSYS } patch $$ i " ; \
1996-08-17 10:16:02 +00:00
fi ; \
2000-09-13 07:16:49 +00:00
if ${ PATCH } ${ PATCH_ARGS } < $$ i ; then \
PATCHES_APPLIED = " $$ PATCHES_APPLIED $$ i " ; \
else \
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
${ ECHO_MSG } ` ${ ECHO_CMD } " => Patch $$ i failed to apply cleanly. " | ${ SED } " s| ${ PATCHDIR } /|| " ` ; \
2014-02-24 17:36:15 +00:00
if [ x" $$ PATCHES_APPLIED " != x"" -a ${ PATCH_SILENT } != "yes" ] ; then \
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
${ ECHO_MSG } ` ${ ECHO_CMD } " => Patch(es) $$ PATCHES_APPLIED applied cleanly. " | ${ SED } " s| ${ PATCHDIR } /||g " ` ; \
2000-09-13 07:16:49 +00:00
fi ; \
${ FALSE } ; \
fi ; \
1996-08-17 10:16:02 +00:00
; ; \
esac ; \
done ; \
fi ; \
1995-03-21 01:51:12 +00:00
fi
1995-04-20 18:03:02 +00:00
. e n d i f
1995-01-03 11:52:01 +00:00
2011-10-27 09:46:25 +00:00
. i f ! t a r g e t ( r u n - a u t o t o o l s - f i x u p )
run-autotools-fixup :
2011-11-09 08:53:12 +00:00
# Work around an issue where FreeBSD 10.0 is detected as FreeBSD 1.x.
. i f $ { O S V E R S I O N } > = 1 0 0 0 0 0 0 & & ! d e f i n e d ( W I T H O U T _ F B S D 1 0 _ F I X )
2012-01-22 15:41:33 +00:00
-@for f in ` ${ FIND } ${ WRKDIR } -type f \( -name config.libpath -o \
2011-11-09 08:53:12 +00:00
-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} ; \
${ TOUCH } ${ TOUCH_FLAGS } -mr $$ { f} .fbsd10bak $$ { f} ; \
2012-01-22 15:41:33 +00:00
${ RM } -f $$ { f} .fbsd10bak ; \
${ ECHO_MSG } " ===> FreeBSD 10 autotools fix applied to $$ {f} " ; \
2011-11-09 08:53:12 +00:00
done
2011-10-27 09:46:25 +00:00
. e n d i f
. e n d i f
1995-04-20 18:03:02 +00:00
# Configure
1994-11-03 19:14:08 +00:00
2004-01-20 09:14:10 +00:00
. i f ! t a r g e t ( d o - c o n f i g u r e )
do-configure :
1996-09-24 06:48:22 +00:00
@if [ -f ${ SCRIPTDIR } /configure ] ; then \
1997-07-10 02:29:51 +00:00
cd ${ .CURDIR } && ${ SETENV } ${ SCRIPTS_ENV } ${ SH } \
1997-01-12 11:48:26 +00:00
${ SCRIPTDIR } /configure; \
1995-04-20 18:03:02 +00:00
fi
2003-07-11 06:30:43 +00:00
. i f d e f i n e d ( G N U _ C O N F I G U R E )
@CONFIG_GUESS_DIRS= $$ ( ${ FIND } ${ WRKDIR } -name config.guess -o -name config.sub \
2004-02-04 04:27:04 +00:00
| ${ XARGS } -n 1 ${ DIRNAME } ) ; \
2003-07-11 06:30:43 +00:00
for _D in $$ { CONFIG_GUESS_DIRS} ; do \
${ CP } -f ${ TEMPLATES } /config.guess $$ { _D} /config.guess; \
${ CHMOD } a+rx $$ { _D} /config.guess; \
${ CP } -f ${ TEMPLATES } /config.sub $$ { _D} /config.sub; \
${ CHMOD } a+rx $$ { _D} /config.sub; \
done
. e n d i f
1995-04-20 18:03:02 +00:00
. i f d e f i n e d ( H A S _ C O N F I G U R E )
2000-05-06 10:45:35 +00:00
@( cd ${ CONFIGURE_WRKSRC } && \
2007-07-23 09:36:51 +00:00
${ SET_LATE_CONFIGURE_ARGS } \
2010-10-29 12:41:29 +00:00
if ! ${ SETENV } CC = " ${ CC } " CPP = " ${ CPP } " CXX = " ${ CXX } " \
2011-03-07 07:32:05 +00:00
CFLAGS = " ${ CFLAGS } " CPPFLAGS = " ${ CPPFLAGS } " CXXFLAGS = " ${ CXXFLAGS } " \
2011-09-23 22:26:39 +00:00
LDFLAGS = " ${ LDFLAGS } " \
- 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
INSTALL = " /usr/bin/install -c ${ _BINOWNGRP } " \
1998-01-02 10:37:14 +00:00
INSTALL_DATA = " ${ INSTALL_DATA } " \
2010-10-13 09:04:30 +00:00
INSTALL_LIB = " ${ INSTALL_LIB } " \
1996-08-18 10:53:16 +00:00
INSTALL_PROGRAM = " ${ INSTALL_PROGRAM } " \
1998-01-02 10:37:14 +00:00
INSTALL_SCRIPT = " ${ INSTALL_SCRIPT } " \
1999-06-11 11:59:10 +00:00
${ CONFIGURE_ENV } ./${ CONFIGURE_SCRIPT } ${ CONFIGURE_ARGS } ; then \
2007-03-24 14:02:06 +00:00
${ ECHO_MSG } " ===> Script \" ${ CONFIGURE_SCRIPT } \" failed unexpectedly. " ; \
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
( ${ 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 } ; \
1999-06-11 11:59:10 +00:00
fi )
1995-04-20 18:03:02 +00:00
. e n d i f
1995-07-15 14:07:02 +00:00
. e n d i f
1994-11-03 19:14:08 +00:00
1995-04-20 18:03:02 +00:00
# Build
2014-01-27 08:14:30 +00:00
# XXX: ${MAKE_ARGS:N${DESTDIRNAME}=*} would be easier but it is not valid with the old fmake
2014-04-17 04:02:59 +00:00
DO_MAKE_BUILD ?= ${ SETENV } ${ MAKE_ENV } ${ MAKE_CMD } ${ MAKE_FLAGS } ${ MAKEFILE } ${ _MAKE_JOBS } ${ MAKE_ARGS : C ,^ ${ DESTDIRNAME } =.*,,g }
1995-04-20 18:03:02 +00:00
. i f ! t a r g e t ( d o - b u i l d )
do-build :
2014-04-17 04:02:59 +00:00
@( cd ${ BUILD_WRKSRC } ; if ! ${ DO_MAKE_BUILD } ${ ALL_TARGET } ; then \
2013-07-05 13:32:31 +00:00
if [ -n " ${ BUILD_FAIL_MESSAGE } " ] ; then \
2009-03-22 10:28:53 +00:00
${ ECHO_MSG } "===> Compilation failed unexpectedly." ; \
2013-07-06 12:53:57 +00:00
( ${ ECHO_CMD } " ${ BUILD_FAIL_MESSAGE } " ) | ${ FMT } 75 79 ; \
2009-03-22 10:28:53 +00:00
fi ; \
2009-03-27 07:47:17 +00:00
${ FALSE } ; \
2009-03-22 10:28:53 +00:00
fi )
1995-04-20 18:03:02 +00:00
. e n d i f
1994-08-24 14:49:33 +00:00
2003-05-06 05:15:18 +00:00
# Check conflicts
. i f ! t a r g e t ( c h e c k - c o n f l i c t s )
2010-12-01 08:32:50 +00:00
check-conflicts : check -build -conflicts check -install -conflicts
. e n d i f
. i f ! t a r g e t ( c h e c k - b u i l d - c o n f l i c t s )
check-build-conflicts :
. i f ( d e f i n e d ( C O N F L I C T S ) | | d e f i n e d ( C O N F L I C T S _ B U I L D ) ) & & ! d e f i n e d ( D I S A B L E _ C O N F L I C T S ) & & ! d e f i n e d ( D E F E R _ C O N F L I C T S _ C H E C K )
@found= ` ${ PKG_INFO } -I ${ CONFLICTS : C /.+/ '&' / } ${ CONFLICTS_BUILD : C /.+/ '&' / } 2>/dev/null | ${ AWK } '{print $$1}' ` ; \
conflicts_with = ; \
for entry in $$ { found} ; do \
if ${ PKG_INFO } -e $$ { entry} ; then \
prfx = ` ${ PKG_INFO } -q -p " $$ {entry} " 2> /dev/null | ${ SED } -ne '1s/^@cwd //p' ` ; \
orgn = ` ${ PKG_INFO } -q -o " $$ {entry} " 2> /dev/null` ; \
if [ " / ${ PREFIX } " = " / $$ {prfx} " -a " / ${ PKGORIGIN } " != " / $$ {orgn} " ] ; then \
conflicts_with = " $$ {conflicts_with} $$ {entry} " ; \
fi ; \
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(1)." ; \
exit 1; \
fi
. e n d i f
. e n d i f
. i f ! t a r g e t ( i d e n t i f y - i n s t a l l - c o n f l i c t s )
identify-install-conflicts :
. i f ( d e f i n e d ( C O N F L I C T S ) | | d e f i n e d ( C O N F L I C T S _ I N S T A L L ) ) & & ! d e f i n e d ( D I S A B L E _ C O N F L I C T S )
@found= ` ${ PKG_INFO } -I ${ CONFLICTS : C /.+/ '&' / } ${ CONFLICTS_INSTALL : C /.+/ '&' / } 2>/dev/null | ${ AWK } '{print $$1}' ` ; \
conflicts_with = ; \
for entry in $$ { found} ; do \
if ${ PKG_INFO } -e $$ { entry} ; then \
prfx = ` ${ PKG_INFO } -q -p " $$ {entry} " 2> /dev/null | ${ SED } -ne '1s/^@cwd //p' ` ; \
orgn = ` ${ PKG_INFO } -q -o " $$ {entry} " 2> /dev/null` ; \
if [ " / ${ PREFIX } " = " / $$ {prfx} " -a " / ${ PKGORIGIN } " != " / $$ {orgn} " ] ; then \
conflicts_with = " $$ {conflicts_with} $$ {entry} " ; \
fi ; \
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
. e n d i f
. e n d i f
. i f ! t a r g e t ( c h e c k - i n s t a l l - c o n f l i c t s )
check-install-conflicts :
. i f ( d e f i n e d ( C O N F L I C T S ) | | d e f i n e d ( C O N F L I C T S _ I N S T A L L ) | | ( d e f i n e d ( C O N F L I C T S _ B U I L D ) & & d e f i n e d ( D E F E R _ C O N F L I C T S _ C H E C K ) ) ) & & ! d e f i n e d ( D I S A B L E _ C O N F L I C T S )
. i f d e f i n e d ( D E F E R _ C O N F L I C T S _ C H E C K )
@found= ` ${ PKG_INFO } -I ${ CONFLICTS : C /.+/ '&' / } ${ CONFLICTS_BUILD : C /.+/ '&' / } ${ CONFLICTS_INSTALL : C /.+/ '&' / } 2>/dev/null | ${ AWK } '{print $$1}' ` ; \
conflicts_with = ; \
for entry in $$ { found} ; do \
if ${ PKG_INFO } -e $$ { entry} ; then \
prfx = ` ${ PKG_INFO } -q -p " $$ {entry} " 2> /dev/null | ${ SED } -ne '1s/^@cwd //p' ` ; \
orgn = ` ${ PKG_INFO } -q -o " $$ {entry} " 2> /dev/null` ; \
if [ " / ${ PREFIX } " = " / $$ {prfx} " -a " / ${ PKGORIGIN } " != " / $$ {orgn} " ] ; then \
conflicts_with = " $$ {conflicts_with} $$ {entry} " ; \
fi ; \
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(1)." ; \
exit 1; \
fi
. e l s e
@found= ` ${ PKG_INFO } -I ${ CONFLICTS : C /.+/ '&' / } ${ CONFLICTS_INSTALL : C /.+/ '&' / } 2>/dev/null | ${ AWK } '{print $$1}' ` ; \
* Be even more explicit about partial ports trees being unsupported
for INDEX builds [1]
* Remove the parallel target from Makefile; this is heavily tied to
the package build cluster and can be better done in the makeparallel
script (commit to follow) [2]
* Extend the format of INDEX to separately list the
EXTRACT/PATCH/FETCH_DEPENDS instead of lumping them all in together
with BUILD_DEPENDS. The three new fields are appended to the end of
the record in that order. [2]
* Change BROKEN to IGNORE in BROKEN_WITH_MYSQL failure code [3]
* Support non-default PREFIX for perl 5.00503 [5]
* Use pkg_info -I instead of ls when searching for conflicts [6]
* Allow local customization of the port subdirectories by including
${.CURDIR}/Makefile.local in bsd.subdir.mk if it exists [7]
* Fix 'make search' when ${PORTSDIR} is a symlink to a directory name
containing extended regexp metacharacters [8]
Submitted by: linimon [1] [3], kris [2], lth [4], sem [5], eik [5] [6],
Roman Neuhauser <neuhauser@chello.cz> [7]
PR: 68299 [1], 67705 [3], 67264 [4], 59696 [5], 66568 [6],
68072 [7]
2004-07-14 08:18:16 +00:00
conflicts_with = ; \
for entry in $$ { found} ; do \
- 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 ${ PKG_INFO } -e $$ { entry} ; then \
prfx = ` ${ PKG_INFO } -q -p " $$ {entry} " 2> /dev/null | ${ SED } -ne '1s/^@cwd //p' ` ; \
orgn = ` ${ PKG_INFO } -q -o " $$ {entry} " 2> /dev/null` ; \
if [ " / ${ PREFIX } " = " / $$ {prfx} " -a " / ${ PKGORIGIN } " != " / $$ {orgn} " ] ; then \
conflicts_with = " $$ {conflicts_with} $$ {entry} " ; \
fi ; \
* Be even more explicit about partial ports trees being unsupported
for INDEX builds [1]
* Remove the parallel target from Makefile; this is heavily tied to
the package build cluster and can be better done in the makeparallel
script (commit to follow) [2]
* Extend the format of INDEX to separately list the
EXTRACT/PATCH/FETCH_DEPENDS instead of lumping them all in together
with BUILD_DEPENDS. The three new fields are appended to the end of
the record in that order. [2]
* Change BROKEN to IGNORE in BROKEN_WITH_MYSQL failure code [3]
* Support non-default PREFIX for perl 5.00503 [5]
* Use pkg_info -I instead of ls when searching for conflicts [6]
* Allow local customization of the port subdirectories by including
${.CURDIR}/Makefile.local in bsd.subdir.mk if it exists [7]
* Fix 'make search' when ${PORTSDIR} is a symlink to a directory name
containing extended regexp metacharacters [8]
Submitted by: linimon [1] [3], kris [2], lth [4], sem [5], eik [5] [6],
Roman Neuhauser <neuhauser@chello.cz> [7]
PR: 68299 [1], 67705 [3], 67264 [4], 59696 [5], 66568 [6],
68072 [7]
2004-07-14 08:18:16 +00:00
fi ; \
done ; \
if [ -n " $$ {conflicts_with} " ] ; then \
${ ECHO_MSG } ; \
2007-08-04 11:37:24 +00:00
${ ECHO_MSG } " ===> ${ PKGNAME } conflicts with installed package(s): " ; \
* Be even more explicit about partial ports trees being unsupported
for INDEX builds [1]
* Remove the parallel target from Makefile; this is heavily tied to
the package build cluster and can be better done in the makeparallel
script (commit to follow) [2]
* Extend the format of INDEX to separately list the
EXTRACT/PATCH/FETCH_DEPENDS instead of lumping them all in together
with BUILD_DEPENDS. The three new fields are appended to the end of
the record in that order. [2]
* Change BROKEN to IGNORE in BROKEN_WITH_MYSQL failure code [3]
* Support non-default PREFIX for perl 5.00503 [5]
* Use pkg_info -I instead of ls when searching for conflicts [6]
* Allow local customization of the port subdirectories by including
${.CURDIR}/Makefile.local in bsd.subdir.mk if it exists [7]
* Fix 'make search' when ${PORTSDIR} is a symlink to a directory name
containing extended regexp metacharacters [8]
Submitted by: linimon [1] [3], kris [2], lth [4], sem [5], eik [5] [6],
Roman Neuhauser <neuhauser@chello.cz> [7]
PR: 68299 [1], 67705 [3], 67264 [4], 59696 [5], 66568 [6],
68072 [7]
2004-07-14 08:18:16 +00:00
for entry in $$ { conflicts_with} ; do \
${ ECHO_MSG } " $$ {entry} " ; \
2003-05-06 05:15:18 +00:00
done ; \
${ ECHO_MSG } ; \
* Be even more explicit about partial ports trees being unsupported
for INDEX builds [1]
* Remove the parallel target from Makefile; this is heavily tied to
the package build cluster and can be better done in the makeparallel
script (commit to follow) [2]
* Extend the format of INDEX to separately list the
EXTRACT/PATCH/FETCH_DEPENDS instead of lumping them all in together
with BUILD_DEPENDS. The three new fields are appended to the end of
the record in that order. [2]
* Change BROKEN to IGNORE in BROKEN_WITH_MYSQL failure code [3]
* Support non-default PREFIX for perl 5.00503 [5]
* Use pkg_info -I instead of ls when searching for conflicts [6]
* Allow local customization of the port subdirectories by including
${.CURDIR}/Makefile.local in bsd.subdir.mk if it exists [7]
* Fix 'make search' when ${PORTSDIR} is a symlink to a directory name
containing extended regexp metacharacters [8]
Submitted by: linimon [1] [3], kris [2], lth [4], sem [5], eik [5] [6],
Roman Neuhauser <neuhauser@chello.cz> [7]
PR: 68299 [1], 67705 [3], 67264 [4], 59696 [5], 66568 [6],
68072 [7]
2004-07-14 08:18:16 +00:00
${ ECHO_MSG } " They install files into the same place." ; \
${ ECHO_MSG } " Please remove them first with pkg_delete(1)." ; \
exit 1; \
2003-05-06 05:15:18 +00:00
fi
2010-12-01 08:32:50 +00:00
. e n d i f # defined(DEFER_CONFLICTS_CHECK)
. e n d i f
2003-05-06 05:15:18 +00:00
. e n d i f
1995-04-20 18:03:02 +00:00
# Install
1994-10-03 14:38:27 +00:00
1995-04-20 18:03:02 +00:00
. i f ! t a r g e t ( d o - i n s t a l l )
do-install :
2013-07-30 05:48:55 +00:00
@( cd ${ INSTALL_WRKSRC } && ${ SETENV } ${ MAKE_ENV } ${ MAKE_CMD } ${ MAKE_FLAGS } ${ MAKEFILE } ${ MAKE_ARGS } ${ INSTALL_TARGET } )
1995-04-19 15:02:26 +00:00
. e n d i f
1995-04-20 18:03:02 +00:00
1995-08-18 10:06:28 +00:00
# Package
1995-04-20 18:03:02 +00:00
1995-08-18 10:06:28 +00:00
. i f ! t a r g e t ( d o - p a c k a g e )
2003-05-06 05:15:18 +00:00
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 \
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
${ 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; \
1995-08-18 10:06:28 +00:00
fi ; \
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
fi
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
. i f d e f i n e d ( N O _ S T A G E )
2012-09-21 13:29:20 +00:00
@if ${ PKG_CMD } -b ${ PKGNAME } ${ PKGFILE } ; then \
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 \
2011-07-21 15:10:46 +00:00
cd ${ .CURDIR } && eval ${ MAKE } package-links; \
1995-08-18 10:06:28 +00:00
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
else \
2011-07-21 15:10:46 +00:00
cd ${ .CURDIR } && eval ${ MAKE } delete-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
exit 1; \
1995-04-20 18:03:02 +00:00
fi
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
. e l s e
@_LATE_PKG_ARGS= "" ; \
if [ -f ${ PKGINSTALL } ] ; then \
_LATE_PKG_ARGS = " $$ {_LATE_PKG_ARGS} -i ${ PKGINSTALL } " ; \
fi ; \
if [ -f ${ PKGDEINSTALL } ] ; then \
_LATE_PKG_ARGS = " $$ {_LATE_PKG_ARGS} -k ${ PKGDEINSTALL } " ; \
fi ; \
if [ -f ${ PKGREQ } ] ; then \
_LATE_PKG_ARGS = " $$ {_LATE_PKG_ARGS} -r ${ PKGREQ } " ; \
fi ; \
if [ -f ${ PKGMESSAGE } ] ; then \
_LATE_PKG_ARGS = " $$ {_LATE_PKG_ARGS} -D ${ PKGMESSAGE } " ; \
fi ; \
2014-03-23 15:34:13 +00:00
${ MKDIR } ${ WRKDIR } /pkg; \
2014-04-16 22:17:41 +00:00
if ! [ -d " ${ PREFIX } " ] ; then \
2014-04-16 22:27:38 +00:00
if ! ${ MKDIR } ${ PREFIX } ; then \
${ ECHO_MSG } "=> Unable to create PREFIX. PREFIX must exist to create a package with pkg_install." >& 2; \
${ ECHO_MSG } " => Manually create ${ PREFIX } first. " >& 2; \
exit 1; \
fi ; \
2014-04-16 22:17:41 +00:00
made_prefix = 1; \
fi ; \
2014-03-23 15:34:13 +00:00
if ${ PKG_CMD } -S ${ STAGEDIR } ${ PKG_ARGS } ${ WRKDIR } /pkg/${ PKGNAME } ${ PKG_SUFX } ; then \
2014-04-16 22:17:41 +00:00
[ -n " $$ {made_prefix} " ] && ${ RMDIR } ${ PREFIX } ; \
2014-03-19 11:58:53 +00:00
if [ -d ${ PKGREPOSITORY } -a -w ${ PKGREPOSITORY } ] ; then \
2014-03-23 15:34:13 +00:00
${ LN } -f ${ WRKDIR } /pkg/${ PKGNAME } ${ PKG_SUFX } ${ PKGFILE } 2>/dev/null || \
${ CP } -af ${ WRKDIR } /pkg/${ PKGNAME } ${ PKG_SUFX } ${ 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
cd ${ .CURDIR } && eval ${ MAKE } package-links; \
fi ; \
else \
2014-04-16 22:17:41 +00:00
[ -n " $$ {made_prefix} " ] && ${ RMDIR } ${ PREFIX } ; \
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 } && eval ${ MAKE } delete-package; \
exit 1; \
fi
. e n d i f
1994-08-21 13:12:57 +00:00
. e n d i f
1995-08-18 10:06:28 +00:00
# Some support rules for do-package
1995-04-20 18:03:02 +00:00
1995-08-18 10:06:28 +00:00
. i f ! t a r g e t ( p a c k a g e - l i n k s )
2002-03-25 08:48:47 +00:00
package-links : delete -package -links
1995-08-18 10:06:28 +00:00
@for cat in ${ CATEGORIES } ; do \
if [ ! -d ${ PACKAGES } /$$ cat ] ; then \
1996-11-01 07:22:37 +00:00
if ! ${ MKDIR } ${ PACKAGES } /$$ cat; then \
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
${ ECHO_MSG } " => Can't create directory ${ PACKAGES } / $$ cat. " ; \
1995-08-18 10:06:28 +00:00
exit 1; \
fi ; \
fi ; \
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
${ LN } -sf ` ${ ECHO_CMD } $$ cat | ${ SED } -e 'sa[^/]*a..ag' ` /${ PKGREPOSITORYSUBDIR } /${ PKGNAME } ${ PKG_SUFX } ${ PACKAGES } /$$ cat; \
1998-01-02 10:37:14 +00:00
done
1998-02-04 10:36:56 +00:00
. i f ! d e f i n e d ( N O _ L A T E S T _ L I N K )
1998-01-02 10:37:14 +00:00
@if [ ! -d ${ PKGLATESTREPOSITORY } ] ; then \
if ! ${ MKDIR } ${ PKGLATESTREPOSITORY } ; then \
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
${ ECHO_MSG } " => Can't create directory ${ PKGLATESTREPOSITORY } . " ; \
1998-01-02 10:37:14 +00:00
exit 1; \
fi ; \
fi
@${ LN } -s ../${ PKGREPOSITORYSUBDIR } /${ PKGNAME } ${ PKG_SUFX } ${ PKGLATESTFILE }
1995-04-09 12:27:58 +00:00
. e n d i f
1998-02-04 10:36:56 +00:00
. e n d i f
1995-08-18 10:06:28 +00:00
. i f ! t a r g e t ( d e l e t e - p a c k a g e - l i n k s )
delete-package-links :
2000-01-21 11:08:23 +00:00
@for cat in ${ CATEGORIES } ; do \
${ RM } -f ${ PACKAGES } /$$ cat/${ PKGNAME } ${ PKG_SUFX } ; \
done
1998-03-24 03:34:51 +00:00
. i f ! d e f i n e d ( N O _ L A T E S T _ L I N K )
@${ RM } -f ${ PKGLATESTFILE }
. e n d i f
1995-04-09 12:27:58 +00:00
. e n d i f
1995-08-18 10:06:28 +00:00
. i f ! t a r g e t ( d e l e t e - p a c k a g e )
2002-03-25 08:48:47 +00:00
delete-package : delete -package -links
2013-10-02 23:49:21 +00:00
. i f d e f i n e d ( N O _ S T A G E )
1996-03-06 08:08:16 +00:00
@${ RM } -f ${ PKGFILE }
2013-10-02 23:49:21 +00:00
. e l s e
# When staging, the package may only be in the workdir if not root
2014-03-23 15:34:13 +00:00
@${ RM } -f ${ PKGFILE } ${ WRKDIR } /pkg/${ PKGNAME } ${ PKG_SUFX } 2>/dev/null || :
2013-10-02 23:49:21 +00:00
. e n d i f
1995-08-18 10:06:28 +00:00
. e n d i f
1994-08-24 14:49:33 +00:00
1999-04-28 06:20:23 +00:00
. i f ! t a r g e t ( d e l e t e - p a c k a g e - l i n k s - l i s t )
delete-package-links-list :
2000-01-21 11:08:23 +00:00
@for cat in ${ CATEGORIES } ; 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 } ${ RM } -f ${ PACKAGES } /$$ cat/${ PKGNAME } ${ PKG_SUFX } ; \
2000-01-21 11:08:23 +00:00
done
1999-04-28 06:20:23 +00:00
. i f ! d e f i n e d ( N O _ L A T E S T _ L I N K )
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 } ${ RM } -f ${ PKGLATESTFILE }
1999-04-28 06:20:23 +00:00
. e n d i f
. e n d i f
. i f ! t a r g e t ( d e l e t e - p a c k a g e - l i s t )
2002-03-25 08:48:47 +00:00
delete-package-list : delete -package -links -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 } ) "
1999-04-28 06:20:23 +00:00
. e n d i f
2014-03-23 15:09:50 +00:00
# Used if !defined(NO_STAGE) during install, or manually to install package
# from local repository.
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
. i f ! t a r g e t ( i n s t a l l - p a c k a g e )
2013-09-27 11:38:48 +00:00
. i f d e f i n e d ( F O R C E _ P K G _ R E G I S T E R )
2014-03-23 15:09:50 +00:00
_INSTALL_PKG_ARGS = -f
. e n d i f
2014-03-26 04:03:25 +00:00
. i f d e f i n e d ( I N S T A L L S _ D E P E N D S ) & & d e f i n e d ( W I T H _ P K G N G )
_INSTALL_PKG_ARGS += -A
. e n d i f
2014-03-23 15:09:50 +00:00
install-package :
2014-03-23 19:31:36 +00:00
@if [ -f " ${ WRKDIR } /pkg/ ${ PKGNAME } ${ PKG_SUFX } " ] ; then \
_pkgfile = " ${ WRKDIR } /pkg/ ${ PKGNAME } ${ PKG_SUFX } " ; \
else \
_pkgfile = " ${ PKGFILE } " ; \
fi ; \
${ PKG_ADD } ${ _INSTALL_PKG_ARGS } $$ { _pkgfile}
2013-09-27 11:38:48 +00:00
. e n d i f
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
2002-03-25 08:48:47 +00:00
# Utility targets follow
1995-04-17 06:39:05 +00:00
2002-03-25 08:48:47 +00:00
. i f ! t a r g e t ( c h e c k - a l r e a d y - i n s t a l l e d )
1997-02-23 13:24:45 +00:00
. i f ! d e f i n e d ( N O _ P K G _ R E G I S T E R ) & & ! d e f i n e d ( F O R C E _ P K G _ R E G I S T E R )
2014-01-03 23:01:01 +00:00
check-already-installed : ${TMPPLIST_SORT }
2007-08-04 11:37:24 +00:00
@${ ECHO_MSG } " ===> Checking if ${ PKGORIGIN } already installed " ; \
${ MKDIR } ${ PKG_DBDIR } ; \
2006-08-04 12:34:50 +00:00
already_installed = ` ${ PKG_INFO } -q -O ${ PKGORIGIN } ` ; \
* 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 " $$ {already_installed} " ] ; then \
for p in $$ { already_installed} ; do \
2004-02-04 04:27:04 +00:00
prfx = ` ${ PKG_INFO } -q -p $$ { p} 2> /dev/null | ${ SED } -ne '1s|^@cwd ||p' ` ; \
* 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 [ " x ${ PREFIX } " = " x $$ {prfx} " ] ; then \
2012-01-15 22:13:42 +00:00
df = ` ${ PKG_INFO } -q -f $$ { p} 2> /dev/null | ${ GREP } -v "^@" | ${ SORT } -u | ${ COMM } -12 - ${ TMPPLIST_SORT } ` ; \
* 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 " $$ {df} " ] ; then \
found_package = $$ { p} ; \
break; \
fi ; \
fi ; \
done ; \
2007-08-04 11:37:24 +00:00
fi ; \
bsd.port.mk
[1] Remove DEPENDS
[2] Add a new pkg-plist keyword @stopdaemon
[3] Provide rc.subr script suffix as RC_SUBR_SUFFIX
[4] Add USE_CDRTOOLS to abstract dependency on sysutils/cdrtool[-cjk]
[5] Add DOS2UNIX_REGEX, allowing to pass a filename regex to CRLF replacement
routine
[6] Support partially translated manpages in MAN* variables
[7] Fix USE_LDCONFIG on ports with @cwd in pkg-plist
[8] Remove support for XFree86 3.X
[9] Add user settable WITH_DEBUG flag that turns on -g in CFLAGS and resets
STRIP
[9] Fix `make install' to refuse overwriting of older version of the port
[10] New category ports-mgmt
[11] New category gnustep
[12] Removed category picobsd
bsd.java.mk
[13] Remove deprecated syntax
bsd.tcl.mk
[14] Provide TCL_VER when USE_TK[_BUILD] is defined. Fixes cad/netgen
ports/Makefile
[15] Make csup default `make update' method on FreeBSD 6.2 and up
PR: ports/99742 [1], ports/93373 [2], ports/100915 [3],
ports/105161 [4], ports/106029 [5], ports/106252 [6],
ports/106235 [7], ports/100939 [9], ports/97507 [10],
ports/103931 [11], ports/106921 [12], ports/104136 [13],
ports/105215 [15]
Submitted by: sem [1] [2], Matthias Andree <matthias.andree@gmx.de> [3],
nork [4], pav [5] [7] [14], Nick Barkas <snb@threerings.net> [6],
flz [8], gabor [9], shaun [10], erwin [12], hq [13],
Gurkan Sengun <gurkan@linuks.mine.nu> [11]
2007-01-31 14:07:24 +00:00
if [ -d ${ PKG_DBDIR } /${ PKGNAME } -o -n " $$ {found_package} " ] ; then \
* 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 [ -d ${ PKG_DBDIR } /${ PKGNAME } ] ; then \
2007-08-04 11:37:24 +00:00
${ ECHO_CMD } " ===> ${ PKGNAME } is already installed " ; \
* 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
else \
2007-08-04 11:37:24 +00:00
${ ECHO_CMD } " ===> An older version of ${ PKGORIGIN } is already installed ( $$ {found_package}) " ; \
* 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 ; \
2007-03-24 14:02:06 +00:00
${ 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 ${ PKGORIGIN } " ; \
${ ECHO_MSG } " without deleting it first, set the variable \"FORCE_PKG_REGISTER\"" ; \
${ ECHO_MSG } " in your environment or the \"make install\" command line." ; \
* 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
exit 1; \
fi
1997-02-23 13:24:45 +00:00
. e n d i f
2002-03-25 08:48:47 +00:00
. e n d i f
. i f ! t a r g e t ( c h e c k - u m a s k )
check-umask :
1997-07-10 02:29:51 +00:00
@if [ ` ${ SH } -c umask ` != 0022 ] ; then \
${ ECHO_MSG } " ===> Warning: your umask is \"` ${ SH } -c umask` " \" .; \
1997-06-18 03:20:22 +00:00
${ ECHO_MSG } " If this is not desired, set it to an appropriate value" ; \
${ ECHO_MSG } " and install this port again by \`\`make reinstall''." ; \
fi
1995-09-18 08:01:20 +00:00
. e n d i f
2002-03-25 08:48:47 +00:00
. i f ! t a r g e t ( i n s t a l l - m t r e e )
install-mtree :
2007-08-04 11:37:24 +00:00
@${ MKDIR } ${ PREFIX }
2011-03-19 21:30:34 +00:00
@if [ ${ UID } != 0 ] ; then \
2007-08-04 11:37:24 +00:00
if [ -w ${ PREFIX } / ] ; then \
1999-04-28 06:20:23 +00:00
${ ECHO_MSG } "Warning: not superuser, you may get some errors during installation." ; \
else \
2007-08-04 11:37:24 +00:00
${ ECHO_MSG } " Error: ${ PREFIX } / not writable. " ; \
1999-04-28 06:20:23 +00:00
${ FALSE } ; \
fi ; \
fi
1995-08-18 10:06:28 +00:00
. i f ! d e f i n e d ( N O _ M T R E E )
2011-03-19 21:30:34 +00:00
@if [ ${ UID } = 0 ] ; then \
1997-08-20 03:44:14 +00:00
if [ ! -f ${ MTREE_FILE } ] ; then \
2007-03-24 14:02:06 +00:00
${ ECHO_MSG } " Error: mtree file \" ${ MTREE_FILE } \" is missing. " ; \
2011-07-21 05:04:39 +00:00
${ ECHO_MSG } " Copy it from a suitable location (e.g., ${ SRC_BASE } /etc/mtree) and try again. " ; \
1997-08-20 03:44:14 +00:00
exit 1; \
else \
2007-08-04 11:37:24 +00:00
${ MTREE_CMD } ${ MTREE_ARGS } ${ PREFIX } / >/dev/null; \
2008-04-14 16:46:41 +00:00
if [ ${ PREFIX } = ${ LOCALBASE } -a " ${ MTREE_FILE_DEFAULT } " = "yes" ] ; then \
2007-08-04 11:37:24 +00:00
cd ${ PREFIX } /share/nls; \
2008-04-14 16:46:41 +00:00
for link in POSIX en_US.US-ASCII; \
do \
if [ x" ` ${ READLINK_CMD } $$ {link}` " != x"C" ] ; \
then \
${ LN } -shf C $$ { link} ; \
fi ; \
done ; \
* Add USE_SDL option, which adds a dependency on the sdl12 port and
sets up SDL_CONFIG in the build environment. [1]
* Add the -o option to unzip when extracting files with USE_ZIP, to
overwrite files when extracting, for consistency with other
extraction targets. [2]
* Fix port installation/deinstallation on FreeBSD 4.6.2 and older
(which does not have pkg_info -O), by falling back to the old
installation/deinstallation logic on these systems [3]
* Correctly handle pkg-plist files that contain @cwd directives with
the new install/deinstall code [4]
* Set up POSIX and en_US.US-ASCII locale symlinks after running mtree
on BSD.local.dist. [5]
Submitted by: David Yeske <dyeske@yahoo.com> [1],
Alexey Dokuchaev <danfe@regency.nsu.ru> [2],
Sergey Matveychuk <sem@ciam.ru> [3],
Chris BeHanna <behanna@zbzoom.net> [3], marcus [4],
ache [5]
PR: ports/52309 [1], ports/52856 [2], ports/53189 [5]
2003-07-27 02:06:26 +00:00
fi ; \
1997-08-20 03:44:14 +00:00
fi ; \
1995-08-18 10:06:28 +00:00
else \
${ ECHO_MSG } "Warning: not superuser, can't run mtree." ; \
1999-04-28 06:20:23 +00:00
${ ECHO_MSG } "You may want to become root and try again to ensure correct permissions." ; \
1995-08-18 10:06:28 +00:00
fi
1995-04-17 06:39:05 +00:00
. e n d i f
2000-04-02 08:32:26 +00:00
. e n d i f
2002-03-25 08:48:47 +00:00
* Update default MySQL version from 4.1 to 5.0 [1]
* Update default PHP version from 4 to 5 [2]
* Update default LDAP version from 2.2 to 2.3 [3]
* Add support for LDAP version 2.4 [4]
* Update default linux_base from '8' (Redhat 8) to 'fc4' (Fedora Core 4) [5]
* Switch default Linux X implementation from XFree86 to xorg to track the
above [5]
* Deprecate INSTALLS_SHLIB and replace it by USE_LDCONFIG. If set to "yes",
the old behavior is preserved. Otherwise, it can be set to a list of
directories to be added to ${PREFIX}/libdata/ldconfig/${UNIQUENAME}.
Note that this directory is used by ldconfig startup script, it is meant
to replace ldconfig scripts installed by some ports as (sometimes
000.${UNQUENAME}.sh) [6]
* Adds USE_LDCONFIG32 which is like USE_LDCONFIG but the target file is
${PREFIX}/libdata/ldconfig32/${UNIQUENAME} instead. (Note: this should
only be used on 64-bit architectures) [6]
* Set the default LANG for tr to be C to avoid some build problems [7]
* Include bsd.java.mk in both pre and post sections [8]
* Get rid of remnants of FORCE_PKG_REGISTER [9]
* Always print options with make showconfig [10]
PR: 92805 [1], 92806 [2], 96793 [3], 97515 [4], 96849 [5],
91933 [6], 91381 [7], 97020 [8], 95841 [9], 97133 [10]
Submitted by: ale [1][2], delphij [3][4], netchild [5], flz [6],
Tsurutani Naoki <turutani at scphys dot kyoto-u dot ac dot jp>
[7], hq [8], sem [9], pav [10]
2006-06-16 04:53:43 +00:00
. i f ! t a r g e t ( i n s t a l l - l d c o n f i g - f i l e )
install-ldconfig-file :
2010-08-20 12:15:02 +00:00
. i f d e f i n e d ( U S E _ L D C O N F I G ) | | d e f i n e d ( U S E _ L D C O N F I G 3 2 )
* Update default MySQL version from 4.1 to 5.0 [1]
* Update default PHP version from 4 to 5 [2]
* Update default LDAP version from 2.2 to 2.3 [3]
* Add support for LDAP version 2.4 [4]
* Update default linux_base from '8' (Redhat 8) to 'fc4' (Fedora Core 4) [5]
* Switch default Linux X implementation from XFree86 to xorg to track the
above [5]
* Deprecate INSTALLS_SHLIB and replace it by USE_LDCONFIG. If set to "yes",
the old behavior is preserved. Otherwise, it can be set to a list of
directories to be added to ${PREFIX}/libdata/ldconfig/${UNIQUENAME}.
Note that this directory is used by ldconfig startup script, it is meant
to replace ldconfig scripts installed by some ports as (sometimes
000.${UNQUENAME}.sh) [6]
* Adds USE_LDCONFIG32 which is like USE_LDCONFIG but the target file is
${PREFIX}/libdata/ldconfig32/${UNIQUENAME} instead. (Note: this should
only be used on 64-bit architectures) [6]
* Set the default LANG for tr to be C to avoid some build problems [7]
* Include bsd.java.mk in both pre and post sections [8]
* Get rid of remnants of FORCE_PKG_REGISTER [9]
* Always print options with make showconfig [10]
PR: 92805 [1], 92806 [2], 96793 [3], 97515 [4], 96849 [5],
91933 [6], 91381 [7], 97020 [8], 95841 [9], 97133 [10]
Submitted by: ale [1][2], delphij [3][4], netchild [5], flz [6],
Tsurutani Naoki <turutani at scphys dot kyoto-u dot ac dot jp>
[7], hq [8], sem [9], pav [10]
2006-06-16 04:53:43 +00:00
. i f d e f i n e d ( U S E _ L D C O N F I G )
2008-03-11 23:45:04 +00:00
. i f d e f i n e d ( U S E _ L I N U X _ P R E F I X )
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
. i f d e f i n e d ( N O _ S T A G E )
2008-03-11 23:45:04 +00:00
@${ ECHO_MSG } "===> Running linux ldconfig"
${ LDCONFIG_CMD }
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
. e n d i f
2008-03-11 23:45:04 +00:00
. e l s e
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
. i f d e f i n e d ( N O _ S T A G E )
* Update default MySQL version from 4.1 to 5.0 [1]
* Update default PHP version from 4 to 5 [2]
* Update default LDAP version from 2.2 to 2.3 [3]
* Add support for LDAP version 2.4 [4]
* Update default linux_base from '8' (Redhat 8) to 'fc4' (Fedora Core 4) [5]
* Switch default Linux X implementation from XFree86 to xorg to track the
above [5]
* Deprecate INSTALLS_SHLIB and replace it by USE_LDCONFIG. If set to "yes",
the old behavior is preserved. Otherwise, it can be set to a list of
directories to be added to ${PREFIX}/libdata/ldconfig/${UNIQUENAME}.
Note that this directory is used by ldconfig startup script, it is meant
to replace ldconfig scripts installed by some ports as (sometimes
000.${UNQUENAME}.sh) [6]
* Adds USE_LDCONFIG32 which is like USE_LDCONFIG but the target file is
${PREFIX}/libdata/ldconfig32/${UNIQUENAME} instead. (Note: this should
only be used on 64-bit architectures) [6]
* Set the default LANG for tr to be C to avoid some build problems [7]
* Include bsd.java.mk in both pre and post sections [8]
* Get rid of remnants of FORCE_PKG_REGISTER [9]
* Always print options with make showconfig [10]
PR: 92805 [1], 92806 [2], 96793 [3], 97515 [4], 96849 [5],
91933 [6], 91381 [7], 97020 [8], 95841 [9], 97133 [10]
Submitted by: ale [1][2], delphij [3][4], netchild [5], flz [6],
Tsurutani Naoki <turutani at scphys dot kyoto-u dot ac dot jp>
[7], hq [8], sem [9], pav [10]
2006-06-16 04:53:43 +00:00
. i f ! d e f i n e d ( I N S T A L L _ A S _ U S E R )
@${ ECHO_MSG } "===> Running ldconfig"
${ LDCONFIG } -m ${ USE_LDCONFIG }
. e l s e
@${ ECHO_MSG } "===> Running ldconfig (errors are ignored)"
-${ LDCONFIG } -m ${ USE_LDCONFIG }
. e n d i f
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
. e n d i f
2007-10-03 22:24:59 +00:00
. i f ${USE_LDCONFIG} != " ${ PREFIX } /lib " && !defined( INSTALL_AS_USER)
* Update default MySQL version from 4.1 to 5.0 [1]
* Update default PHP version from 4 to 5 [2]
* Update default LDAP version from 2.2 to 2.3 [3]
* Add support for LDAP version 2.4 [4]
* Update default linux_base from '8' (Redhat 8) to 'fc4' (Fedora Core 4) [5]
* Switch default Linux X implementation from XFree86 to xorg to track the
above [5]
* Deprecate INSTALLS_SHLIB and replace it by USE_LDCONFIG. If set to "yes",
the old behavior is preserved. Otherwise, it can be set to a list of
directories to be added to ${PREFIX}/libdata/ldconfig/${UNIQUENAME}.
Note that this directory is used by ldconfig startup script, it is meant
to replace ldconfig scripts installed by some ports as (sometimes
000.${UNQUENAME}.sh) [6]
* Adds USE_LDCONFIG32 which is like USE_LDCONFIG but the target file is
${PREFIX}/libdata/ldconfig32/${UNIQUENAME} instead. (Note: this should
only be used on 64-bit architectures) [6]
* Set the default LANG for tr to be C to avoid some build problems [7]
* Include bsd.java.mk in both pre and post sections [8]
* Get rid of remnants of FORCE_PKG_REGISTER [9]
* Always print options with make showconfig [10]
PR: 92805 [1], 92806 [2], 96793 [3], 97515 [4], 96849 [5],
91933 [6], 91381 [7], 97020 [8], 95841 [9], 97133 [10]
Submitted by: ale [1][2], delphij [3][4], netchild [5], flz [6],
Tsurutani Naoki <turutani at scphys dot kyoto-u dot ac dot jp>
[7], hq [8], sem [9], pav [10]
2006-06-16 04:53:43 +00:00
@${ ECHO_MSG } "===> Installing ldconfig configuration file"
* Change all bogus uses of BROKEN to IGNORE. Note: the BROKEN_WITH_*
forms are retained for compatibility but deprecated [1]
* Add sha256 to CHECKSUM_ALGORITHMS [2]
* Remove some whitespace [2]
* Add USE_SCONS and bsd.scons.mk for the Python-based SCons build system [3]
* Fix USE_LDCONFIG with non-default PREFIX [4]
* Add USE_WX and friends, and bsd.wx.mk, for common code for WxWidgets
support [5]
* Add 'make missing' to show missing dependencies [6]
* Fix DESKTOP_ENTRIES processing on 4.x [7]
PR: 92445 [1], 98206 [2], 98731 [3], 99370 [4], 89398 [5],
93601 [6], 98891 [7]
Submitted by: linimon [1], edwin [2], alex at foxybanana dot com [3],
gerald [4], flz [4], alepulver [5], alex at fafula dot com [6],
shaun [7]
2006-07-05 02:18:09 +00:00
. i f d e f i n e d ( N O _ L D C O N F I G _ M T R E E )
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
@${ MKDIR } ${ STAGEDIR } ${ PREFIX } /${ LDCONFIG_DIR }
* Change all bogus uses of BROKEN to IGNORE. Note: the BROKEN_WITH_*
forms are retained for compatibility but deprecated [1]
* Add sha256 to CHECKSUM_ALGORITHMS [2]
* Remove some whitespace [2]
* Add USE_SCONS and bsd.scons.mk for the Python-based SCons build system [3]
* Fix USE_LDCONFIG with non-default PREFIX [4]
* Add USE_WX and friends, and bsd.wx.mk, for common code for WxWidgets
support [5]
* Add 'make missing' to show missing dependencies [6]
* Fix DESKTOP_ENTRIES processing on 4.x [7]
PR: 92445 [1], 98206 [2], 98731 [3], 99370 [4], 89398 [5],
93601 [6], 98891 [7]
Submitted by: linimon [1], edwin [2], alex at foxybanana dot com [3],
gerald [4], flz [4], alepulver [5], alex at fafula dot com [6],
shaun [7]
2006-07-05 02:18:09 +00:00
. e n d i f
* Update default MySQL version from 4.1 to 5.0 [1]
* Update default PHP version from 4 to 5 [2]
* Update default LDAP version from 2.2 to 2.3 [3]
* Add support for LDAP version 2.4 [4]
* Update default linux_base from '8' (Redhat 8) to 'fc4' (Fedora Core 4) [5]
* Switch default Linux X implementation from XFree86 to xorg to track the
above [5]
* Deprecate INSTALLS_SHLIB and replace it by USE_LDCONFIG. If set to "yes",
the old behavior is preserved. Otherwise, it can be set to a list of
directories to be added to ${PREFIX}/libdata/ldconfig/${UNIQUENAME}.
Note that this directory is used by ldconfig startup script, it is meant
to replace ldconfig scripts installed by some ports as (sometimes
000.${UNQUENAME}.sh) [6]
* Adds USE_LDCONFIG32 which is like USE_LDCONFIG but the target file is
${PREFIX}/libdata/ldconfig32/${UNIQUENAME} instead. (Note: this should
only be used on 64-bit architectures) [6]
* Set the default LANG for tr to be C to avoid some build problems [7]
* Include bsd.java.mk in both pre and post sections [8]
* Get rid of remnants of FORCE_PKG_REGISTER [9]
* Always print options with make showconfig [10]
PR: 92805 [1], 92806 [2], 96793 [3], 97515 [4], 96849 [5],
91933 [6], 91381 [7], 97020 [8], 95841 [9], 97133 [10]
Submitted by: ale [1][2], delphij [3][4], netchild [5], flz [6],
Tsurutani Naoki <turutani at scphys dot kyoto-u dot ac dot jp>
[7], hq [8], sem [9], pav [10]
2006-06-16 04:53:43 +00:00
@${ ECHO_CMD } ${ USE_LDCONFIG } | ${ TR } ' ' '\n' \
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
> ${ STAGEDIR } ${ PREFIX } /${ LDCONFIG_DIR } /${ UNIQUENAME }
2013-09-24 01:31:44 +00:00
@${ ECHO_CMD } " @cwd ${ PREFIX } " >> ${ TMPPLIST }
* Update default MySQL version from 4.1 to 5.0 [1]
* Update default PHP version from 4 to 5 [2]
* Update default LDAP version from 2.2 to 2.3 [3]
* Add support for LDAP version 2.4 [4]
* Update default linux_base from '8' (Redhat 8) to 'fc4' (Fedora Core 4) [5]
* Switch default Linux X implementation from XFree86 to xorg to track the
above [5]
* Deprecate INSTALLS_SHLIB and replace it by USE_LDCONFIG. If set to "yes",
the old behavior is preserved. Otherwise, it can be set to a list of
directories to be added to ${PREFIX}/libdata/ldconfig/${UNIQUENAME}.
Note that this directory is used by ldconfig startup script, it is meant
to replace ldconfig scripts installed by some ports as (sometimes
000.${UNQUENAME}.sh) [6]
* Adds USE_LDCONFIG32 which is like USE_LDCONFIG but the target file is
${PREFIX}/libdata/ldconfig32/${UNIQUENAME} instead. (Note: this should
only be used on 64-bit architectures) [6]
* Set the default LANG for tr to be C to avoid some build problems [7]
* Include bsd.java.mk in both pre and post sections [8]
* Get rid of remnants of FORCE_PKG_REGISTER [9]
* Always print options with make showconfig [10]
PR: 92805 [1], 92806 [2], 96793 [3], 97515 [4], 96849 [5],
91933 [6], 91381 [7], 97020 [8], 95841 [9], 97133 [10]
Submitted by: ale [1][2], delphij [3][4], netchild [5], flz [6],
Tsurutani Naoki <turutani at scphys dot kyoto-u dot ac dot jp>
[7], hq [8], sem [9], pav [10]
2006-06-16 04:53:43 +00:00
@${ ECHO_CMD } ${ LDCONFIG_DIR } /${ UNIQUENAME } >> ${ TMPPLIST }
* Change all bogus uses of BROKEN to IGNORE. Note: the BROKEN_WITH_*
forms are retained for compatibility but deprecated [1]
* Add sha256 to CHECKSUM_ALGORITHMS [2]
* Remove some whitespace [2]
* Add USE_SCONS and bsd.scons.mk for the Python-based SCons build system [3]
* Fix USE_LDCONFIG with non-default PREFIX [4]
* Add USE_WX and friends, and bsd.wx.mk, for common code for WxWidgets
support [5]
* Add 'make missing' to show missing dependencies [6]
* Fix DESKTOP_ENTRIES processing on 4.x [7]
PR: 92445 [1], 98206 [2], 98731 [3], 99370 [4], 89398 [5],
93601 [6], 98891 [7]
Submitted by: linimon [1], edwin [2], alex at foxybanana dot com [3],
gerald [4], flz [4], alepulver [5], alex at fafula dot com [6],
shaun [7]
2006-07-05 02:18:09 +00:00
. i f d e f i n e d ( N O _ L D C O N F I G _ M T R E E )
* Add missing '|| true' to silence an @unexec rmdir [1]
* Repair CONFLICTS, which was broken by previous DESTDIR changes [2]
* Use "set --" instead of "set" for better robustness [3]
* Avoid :L modifier in ${USE_LDCONFIG} which broke e.g. /usr/X11R6
ports [4]
* Correct a comment typo [4]
* Force passive FTP mode by default (this is already the default with
the standard login class, so this is a NOP for most users) [5].
PR: ports/101809 [1], ports/102300 [2], ports/102514 [3],
ports/102750 [4], ports/96088 [5]
Submitted by: bsam [1], Matthias Andree <matthias.andree@gmx.de> [2],
infofarmer [3], flz [4],
Darren Pilgrim <darren.pilgrim@bitfreak.org> [5]
2006-09-20 04:02:09 +00:00
@${ ECHO_CMD } " @unexec rmdir ${ LDCONFIG_DIR } >/dev/null 2>&1 || true " >> ${ TMPPLIST }
* Change all bogus uses of BROKEN to IGNORE. Note: the BROKEN_WITH_*
forms are retained for compatibility but deprecated [1]
* Add sha256 to CHECKSUM_ALGORITHMS [2]
* Remove some whitespace [2]
* Add USE_SCONS and bsd.scons.mk for the Python-based SCons build system [3]
* Fix USE_LDCONFIG with non-default PREFIX [4]
* Add USE_WX and friends, and bsd.wx.mk, for common code for WxWidgets
support [5]
* Add 'make missing' to show missing dependencies [6]
* Fix DESKTOP_ENTRIES processing on 4.x [7]
PR: 92445 [1], 98206 [2], 98731 [3], 99370 [4], 89398 [5],
93601 [6], 98891 [7]
Submitted by: linimon [1], edwin [2], alex at foxybanana dot com [3],
gerald [4], flz [4], alepulver [5], alex at fafula dot com [6],
shaun [7]
2006-07-05 02:18:09 +00:00
. e n d i f
* Update default MySQL version from 4.1 to 5.0 [1]
* Update default PHP version from 4 to 5 [2]
* Update default LDAP version from 2.2 to 2.3 [3]
* Add support for LDAP version 2.4 [4]
* Update default linux_base from '8' (Redhat 8) to 'fc4' (Fedora Core 4) [5]
* Switch default Linux X implementation from XFree86 to xorg to track the
above [5]
* Deprecate INSTALLS_SHLIB and replace it by USE_LDCONFIG. If set to "yes",
the old behavior is preserved. Otherwise, it can be set to a list of
directories to be added to ${PREFIX}/libdata/ldconfig/${UNIQUENAME}.
Note that this directory is used by ldconfig startup script, it is meant
to replace ldconfig scripts installed by some ports as (sometimes
000.${UNQUENAME}.sh) [6]
* Adds USE_LDCONFIG32 which is like USE_LDCONFIG but the target file is
${PREFIX}/libdata/ldconfig32/${UNIQUENAME} instead. (Note: this should
only be used on 64-bit architectures) [6]
* Set the default LANG for tr to be C to avoid some build problems [7]
* Include bsd.java.mk in both pre and post sections [8]
* Get rid of remnants of FORCE_PKG_REGISTER [9]
* Always print options with make showconfig [10]
PR: 92805 [1], 92806 [2], 96793 [3], 97515 [4], 96849 [5],
91933 [6], 91381 [7], 97020 [8], 95841 [9], 97133 [10]
Submitted by: ale [1][2], delphij [3][4], netchild [5], flz [6],
Tsurutani Naoki <turutani at scphys dot kyoto-u dot ac dot jp>
[7], hq [8], sem [9], pav [10]
2006-06-16 04:53:43 +00:00
. e n d i f
. e n d i f
2008-03-11 23:45:04 +00:00
. e n d i f
* Update default MySQL version from 4.1 to 5.0 [1]
* Update default PHP version from 4 to 5 [2]
* Update default LDAP version from 2.2 to 2.3 [3]
* Add support for LDAP version 2.4 [4]
* Update default linux_base from '8' (Redhat 8) to 'fc4' (Fedora Core 4) [5]
* Switch default Linux X implementation from XFree86 to xorg to track the
above [5]
* Deprecate INSTALLS_SHLIB and replace it by USE_LDCONFIG. If set to "yes",
the old behavior is preserved. Otherwise, it can be set to a list of
directories to be added to ${PREFIX}/libdata/ldconfig/${UNIQUENAME}.
Note that this directory is used by ldconfig startup script, it is meant
to replace ldconfig scripts installed by some ports as (sometimes
000.${UNQUENAME}.sh) [6]
* Adds USE_LDCONFIG32 which is like USE_LDCONFIG but the target file is
${PREFIX}/libdata/ldconfig32/${UNIQUENAME} instead. (Note: this should
only be used on 64-bit architectures) [6]
* Set the default LANG for tr to be C to avoid some build problems [7]
* Include bsd.java.mk in both pre and post sections [8]
* Get rid of remnants of FORCE_PKG_REGISTER [9]
* Always print options with make showconfig [10]
PR: 92805 [1], 92806 [2], 96793 [3], 97515 [4], 96849 [5],
91933 [6], 91381 [7], 97020 [8], 95841 [9], 97133 [10]
Submitted by: ale [1][2], delphij [3][4], netchild [5], flz [6],
Tsurutani Naoki <turutani at scphys dot kyoto-u dot ac dot jp>
[7], hq [8], sem [9], pav [10]
2006-06-16 04:53:43 +00:00
. i f d e f i n e d ( U S E _ L D C O N F I G 3 2 )
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
. i f d e f i n e d ( N O _ S T A G E )
* Update default MySQL version from 4.1 to 5.0 [1]
* Update default PHP version from 4 to 5 [2]
* Update default LDAP version from 2.2 to 2.3 [3]
* Add support for LDAP version 2.4 [4]
* Update default linux_base from '8' (Redhat 8) to 'fc4' (Fedora Core 4) [5]
* Switch default Linux X implementation from XFree86 to xorg to track the
above [5]
* Deprecate INSTALLS_SHLIB and replace it by USE_LDCONFIG. If set to "yes",
the old behavior is preserved. Otherwise, it can be set to a list of
directories to be added to ${PREFIX}/libdata/ldconfig/${UNIQUENAME}.
Note that this directory is used by ldconfig startup script, it is meant
to replace ldconfig scripts installed by some ports as (sometimes
000.${UNQUENAME}.sh) [6]
* Adds USE_LDCONFIG32 which is like USE_LDCONFIG but the target file is
${PREFIX}/libdata/ldconfig32/${UNIQUENAME} instead. (Note: this should
only be used on 64-bit architectures) [6]
* Set the default LANG for tr to be C to avoid some build problems [7]
* Include bsd.java.mk in both pre and post sections [8]
* Get rid of remnants of FORCE_PKG_REGISTER [9]
* Always print options with make showconfig [10]
PR: 92805 [1], 92806 [2], 96793 [3], 97515 [4], 96849 [5],
91933 [6], 91381 [7], 97020 [8], 95841 [9], 97133 [10]
Submitted by: ale [1][2], delphij [3][4], netchild [5], flz [6],
Tsurutani Naoki <turutani at scphys dot kyoto-u dot ac dot jp>
[7], hq [8], sem [9], pav [10]
2006-06-16 04:53:43 +00:00
. i f ! d e f i n e d ( I N S T A L L _ A S _ U S E R )
@${ ECHO_MSG } "===> Running ldconfig"
${ LDCONFIG } -32 -m ${ USE_LDCONFIG32 }
. e l s e
@${ ECHO_MSG } "===> Running ldconfig (errors are ignored)"
-${ LDCONFIG } -32 -m ${ USE_LDCONFIG32 }
. e n d i f
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
. e n d i f
2007-10-03 22:24:59 +00:00
. i f ! d e f i n e d ( I N S T A L L _ A S _ U S E R )
* Update default MySQL version from 4.1 to 5.0 [1]
* Update default PHP version from 4 to 5 [2]
* Update default LDAP version from 2.2 to 2.3 [3]
* Add support for LDAP version 2.4 [4]
* Update default linux_base from '8' (Redhat 8) to 'fc4' (Fedora Core 4) [5]
* Switch default Linux X implementation from XFree86 to xorg to track the
above [5]
* Deprecate INSTALLS_SHLIB and replace it by USE_LDCONFIG. If set to "yes",
the old behavior is preserved. Otherwise, it can be set to a list of
directories to be added to ${PREFIX}/libdata/ldconfig/${UNIQUENAME}.
Note that this directory is used by ldconfig startup script, it is meant
to replace ldconfig scripts installed by some ports as (sometimes
000.${UNQUENAME}.sh) [6]
* Adds USE_LDCONFIG32 which is like USE_LDCONFIG but the target file is
${PREFIX}/libdata/ldconfig32/${UNIQUENAME} instead. (Note: this should
only be used on 64-bit architectures) [6]
* Set the default LANG for tr to be C to avoid some build problems [7]
* Include bsd.java.mk in both pre and post sections [8]
* Get rid of remnants of FORCE_PKG_REGISTER [9]
* Always print options with make showconfig [10]
PR: 92805 [1], 92806 [2], 96793 [3], 97515 [4], 96849 [5],
91933 [6], 91381 [7], 97020 [8], 95841 [9], 97133 [10]
Submitted by: ale [1][2], delphij [3][4], netchild [5], flz [6],
Tsurutani Naoki <turutani at scphys dot kyoto-u dot ac dot jp>
[7], hq [8], sem [9], pav [10]
2006-06-16 04:53:43 +00:00
@${ ECHO_MSG } "===> Installing 32-bit ldconfig configuration file"
* Change all bogus uses of BROKEN to IGNORE. Note: the BROKEN_WITH_*
forms are retained for compatibility but deprecated [1]
* Add sha256 to CHECKSUM_ALGORITHMS [2]
* Remove some whitespace [2]
* Add USE_SCONS and bsd.scons.mk for the Python-based SCons build system [3]
* Fix USE_LDCONFIG with non-default PREFIX [4]
* Add USE_WX and friends, and bsd.wx.mk, for common code for WxWidgets
support [5]
* Add 'make missing' to show missing dependencies [6]
* Fix DESKTOP_ENTRIES processing on 4.x [7]
PR: 92445 [1], 98206 [2], 98731 [3], 99370 [4], 89398 [5],
93601 [6], 98891 [7]
Submitted by: linimon [1], edwin [2], alex at foxybanana dot com [3],
gerald [4], flz [4], alepulver [5], alex at fafula dot com [6],
shaun [7]
2006-07-05 02:18:09 +00:00
. i f d e f i n e d ( N O _ L D C O N F I G _ M T R E E )
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
@${ MKDIR } ${ STAGEDIR } ${ PREFIX } /${ LDCONFIG_32DIR }
* Change all bogus uses of BROKEN to IGNORE. Note: the BROKEN_WITH_*
forms are retained for compatibility but deprecated [1]
* Add sha256 to CHECKSUM_ALGORITHMS [2]
* Remove some whitespace [2]
* Add USE_SCONS and bsd.scons.mk for the Python-based SCons build system [3]
* Fix USE_LDCONFIG with non-default PREFIX [4]
* Add USE_WX and friends, and bsd.wx.mk, for common code for WxWidgets
support [5]
* Add 'make missing' to show missing dependencies [6]
* Fix DESKTOP_ENTRIES processing on 4.x [7]
PR: 92445 [1], 98206 [2], 98731 [3], 99370 [4], 89398 [5],
93601 [6], 98891 [7]
Submitted by: linimon [1], edwin [2], alex at foxybanana dot com [3],
gerald [4], flz [4], alepulver [5], alex at fafula dot com [6],
shaun [7]
2006-07-05 02:18:09 +00:00
. e n d i f
* Update default MySQL version from 4.1 to 5.0 [1]
* Update default PHP version from 4 to 5 [2]
* Update default LDAP version from 2.2 to 2.3 [3]
* Add support for LDAP version 2.4 [4]
* Update default linux_base from '8' (Redhat 8) to 'fc4' (Fedora Core 4) [5]
* Switch default Linux X implementation from XFree86 to xorg to track the
above [5]
* Deprecate INSTALLS_SHLIB and replace it by USE_LDCONFIG. If set to "yes",
the old behavior is preserved. Otherwise, it can be set to a list of
directories to be added to ${PREFIX}/libdata/ldconfig/${UNIQUENAME}.
Note that this directory is used by ldconfig startup script, it is meant
to replace ldconfig scripts installed by some ports as (sometimes
000.${UNQUENAME}.sh) [6]
* Adds USE_LDCONFIG32 which is like USE_LDCONFIG but the target file is
${PREFIX}/libdata/ldconfig32/${UNIQUENAME} instead. (Note: this should
only be used on 64-bit architectures) [6]
* Set the default LANG for tr to be C to avoid some build problems [7]
* Include bsd.java.mk in both pre and post sections [8]
* Get rid of remnants of FORCE_PKG_REGISTER [9]
* Always print options with make showconfig [10]
PR: 92805 [1], 92806 [2], 96793 [3], 97515 [4], 96849 [5],
91933 [6], 91381 [7], 97020 [8], 95841 [9], 97133 [10]
Submitted by: ale [1][2], delphij [3][4], netchild [5], flz [6],
Tsurutani Naoki <turutani at scphys dot kyoto-u dot ac dot jp>
[7], hq [8], sem [9], pav [10]
2006-06-16 04:53:43 +00:00
@${ ECHO_CMD } ${ USE_LDCONFIG32 } | ${ TR } ' ' '\n' \
2013-10-15 07:48:06 +00:00
> ${ STAGEDIR } ${ PREFIX } /${ LDCONFIG32_DIR } /${ UNIQUENAME }
2013-09-24 01:31:44 +00:00
@${ ECHO_CMD } " @cwd ${ PREFIX } " >> ${ TMPPLIST }
* Update default MySQL version from 4.1 to 5.0 [1]
* Update default PHP version from 4 to 5 [2]
* Update default LDAP version from 2.2 to 2.3 [3]
* Add support for LDAP version 2.4 [4]
* Update default linux_base from '8' (Redhat 8) to 'fc4' (Fedora Core 4) [5]
* Switch default Linux X implementation from XFree86 to xorg to track the
above [5]
* Deprecate INSTALLS_SHLIB and replace it by USE_LDCONFIG. If set to "yes",
the old behavior is preserved. Otherwise, it can be set to a list of
directories to be added to ${PREFIX}/libdata/ldconfig/${UNIQUENAME}.
Note that this directory is used by ldconfig startup script, it is meant
to replace ldconfig scripts installed by some ports as (sometimes
000.${UNQUENAME}.sh) [6]
* Adds USE_LDCONFIG32 which is like USE_LDCONFIG but the target file is
${PREFIX}/libdata/ldconfig32/${UNIQUENAME} instead. (Note: this should
only be used on 64-bit architectures) [6]
* Set the default LANG for tr to be C to avoid some build problems [7]
* Include bsd.java.mk in both pre and post sections [8]
* Get rid of remnants of FORCE_PKG_REGISTER [9]
* Always print options with make showconfig [10]
PR: 92805 [1], 92806 [2], 96793 [3], 97515 [4], 96849 [5],
91933 [6], 91381 [7], 97020 [8], 95841 [9], 97133 [10]
Submitted by: ale [1][2], delphij [3][4], netchild [5], flz [6],
Tsurutani Naoki <turutani at scphys dot kyoto-u dot ac dot jp>
[7], hq [8], sem [9], pav [10]
2006-06-16 04:53:43 +00:00
@${ ECHO_CMD } ${ LDCONFIG32_DIR } /${ UNIQUENAME } >> ${ TMPPLIST }
* Change all bogus uses of BROKEN to IGNORE. Note: the BROKEN_WITH_*
forms are retained for compatibility but deprecated [1]
* Add sha256 to CHECKSUM_ALGORITHMS [2]
* Remove some whitespace [2]
* Add USE_SCONS and bsd.scons.mk for the Python-based SCons build system [3]
* Fix USE_LDCONFIG with non-default PREFIX [4]
* Add USE_WX and friends, and bsd.wx.mk, for common code for WxWidgets
support [5]
* Add 'make missing' to show missing dependencies [6]
* Fix DESKTOP_ENTRIES processing on 4.x [7]
PR: 92445 [1], 98206 [2], 98731 [3], 99370 [4], 89398 [5],
93601 [6], 98891 [7]
Submitted by: linimon [1], edwin [2], alex at foxybanana dot com [3],
gerald [4], flz [4], alepulver [5], alex at fafula dot com [6],
shaun [7]
2006-07-05 02:18:09 +00:00
. i f d e f i n e d ( N O _ L D C O N F I G _ M T R E E )
@${ ECHO_CMD } " @unexec rmdir ${ LDCONFIG32_DIR } >/dev/null 2>&1 " >> ${ TMPPLIST }
. e n d i f
* Update default MySQL version from 4.1 to 5.0 [1]
* Update default PHP version from 4 to 5 [2]
* Update default LDAP version from 2.2 to 2.3 [3]
* Add support for LDAP version 2.4 [4]
* Update default linux_base from '8' (Redhat 8) to 'fc4' (Fedora Core 4) [5]
* Switch default Linux X implementation from XFree86 to xorg to track the
above [5]
* Deprecate INSTALLS_SHLIB and replace it by USE_LDCONFIG. If set to "yes",
the old behavior is preserved. Otherwise, it can be set to a list of
directories to be added to ${PREFIX}/libdata/ldconfig/${UNIQUENAME}.
Note that this directory is used by ldconfig startup script, it is meant
to replace ldconfig scripts installed by some ports as (sometimes
000.${UNQUENAME}.sh) [6]
* Adds USE_LDCONFIG32 which is like USE_LDCONFIG but the target file is
${PREFIX}/libdata/ldconfig32/${UNIQUENAME} instead. (Note: this should
only be used on 64-bit architectures) [6]
* Set the default LANG for tr to be C to avoid some build problems [7]
* Include bsd.java.mk in both pre and post sections [8]
* Get rid of remnants of FORCE_PKG_REGISTER [9]
* Always print options with make showconfig [10]
PR: 92805 [1], 92806 [2], 96793 [3], 97515 [4], 96849 [5],
91933 [6], 91381 [7], 97020 [8], 95841 [9], 97133 [10]
Submitted by: ale [1][2], delphij [3][4], netchild [5], flz [6],
Tsurutani Naoki <turutani at scphys dot kyoto-u dot ac dot jp>
[7], hq [8], sem [9], pav [10]
2006-06-16 04:53:43 +00:00
. e n d i f
2007-10-03 22:24:59 +00:00
. e n d i f
2002-03-25 08:48:47 +00:00
. i f d e f i n e d ( I N S T A L L S _ S H L I B )
2010-08-20 12:15:02 +00:00
@${ ECHO_MSG } "INSTALLS_SHLIB is deprecated. Use USE_LDCONFIG instead."
* Update default MySQL version from 4.1 to 5.0 [1]
* Update default PHP version from 4 to 5 [2]
* Update default LDAP version from 2.2 to 2.3 [3]
* Add support for LDAP version 2.4 [4]
* Update default linux_base from '8' (Redhat 8) to 'fc4' (Fedora Core 4) [5]
* Switch default Linux X implementation from XFree86 to xorg to track the
above [5]
* Deprecate INSTALLS_SHLIB and replace it by USE_LDCONFIG. If set to "yes",
the old behavior is preserved. Otherwise, it can be set to a list of
directories to be added to ${PREFIX}/libdata/ldconfig/${UNIQUENAME}.
Note that this directory is used by ldconfig startup script, it is meant
to replace ldconfig scripts installed by some ports as (sometimes
000.${UNQUENAME}.sh) [6]
* Adds USE_LDCONFIG32 which is like USE_LDCONFIG but the target file is
${PREFIX}/libdata/ldconfig32/${UNIQUENAME} instead. (Note: this should
only be used on 64-bit architectures) [6]
* Set the default LANG for tr to be C to avoid some build problems [7]
* Include bsd.java.mk in both pre and post sections [8]
* Get rid of remnants of FORCE_PKG_REGISTER [9]
* Always print options with make showconfig [10]
PR: 92805 [1], 92806 [2], 96793 [3], 97515 [4], 96849 [5],
91933 [6], 91381 [7], 97020 [8], 95841 [9], 97133 [10]
Submitted by: ale [1][2], delphij [3][4], netchild [5], flz [6],
Tsurutani Naoki <turutani at scphys dot kyoto-u dot ac dot jp>
[7], hq [8], sem [9], pav [10]
2006-06-16 04:53:43 +00:00
. e n d i f
2000-08-15 22:39:00 +00:00
. e n d i f
1995-08-18 10:06:28 +00:00
. e n d i f
1994-11-11 09:45:33 +00:00
2009-09-06 21:18:50 +00:00
. i f ! t a r g e t ( c r e a t e - u s e r s - g r o u p s )
2013-10-30 17:47:48 +00:00
. i f d e f i n e d ( G R O U P S ) | | d e f i n e d ( U S E R S )
. i f d e f i n e d ( W I T H _ P K G N G )
_UG_OUTPUT = ${ WRKDIR } /users-groups.sh
PKGPREINSTALL += ${ _UG_OUTPUT }
2013-10-31 02:27:14 +00:00
. e l s e
_UG_OUTPUT = /dev/null
2013-10-30 17:47:48 +00:00
. e n d i f
. e n d i f
2009-09-06 21:18:50 +00:00
. i f d e f i n e d ( G R O U P S ) | | d e f i n e d ( U S E R S )
2014-01-03 23:01:01 +00:00
create-users-groups :
2009-09-06 21:18:50 +00:00
. i f d e f i n e d ( G R O U P S )
. f o r _ f i l e i n $ { G I D _ F I L E S }
. i f ! e x i s t s ( $ { _ f i l e } )
@${ ECHO_CMD } " ** ${ _file } doesn't exist. Exiting. " ; exit 1
. e n d i f
. e n d f o r
2013-10-30 17:47:48 +00:00
. i f d e f i n e d ( W I T H _ P K G N G )
@${ RM } -f ${ _UG_OUTPUT } || ${ TRUE }
. e n d i f
2009-09-06 21:18:50 +00:00
@${ ECHO_MSG } "===> Creating users and/or groups."
2013-10-30 17:47:48 +00:00
. i f d e f i n e d ( W I T H _ P K G N G )
@${ ECHO_CMD } "echo \"===> Creating users and/or groups.\"" >> ${ _UG_OUTPUT }
. e l s e
Latest round of infrastructure changes.
- bsd.port.mk: add INDEX_PORTS, to support INDEX creation for a subset of the ports tree [1]
- bsd.port.mk: call target "install-rc-script" before "post-install" [2]
- [patch] ports/Mk bsd.port.mk order if groups/users are created by package [3]
- [bsd.port.mk] [patch] reaper of the dead: md5 has been in /sbin for a while [4]
- [bsd.port.mk] [patch] remove support for pre 7.x systems (b.*.m) [5]
- [patch] [bsd.port.mk] reaper of the dead: are three variable defintions needed [6]
PR: ports/156575 [1],
ports/139116 [2],
ports/152498 [3],
ports/155983 [4],
ports/155510 [5],
ports/156340 [6]
Submitted by: Florent Thoumie <flz@xbsd.org> [1],
Sergey Skvortsov <skv@freebsd.org> [2],
Olli Hauer <ohauer@FreeBSD.org> [3],
Eitan Adler <lists@eitanadler.com> [4],
Eitan Adler <lists@eitanadler.com> [5],
Eitan Adler <lists@eitanadler.com> [6]
2011-05-04 22:33:13 +00:00
@${ ECHO_CMD } "@exec echo \"===> Creating users and/or groups.\"" >> ${ TMPPLIST }
2013-10-30 17:47:48 +00:00
. e n d i f
2009-09-06 21:18:50 +00:00
. f o r _ g r o u p i n $ { G R O U P S }
# _bgpd:*:130:
@if ! ${ GREP } -h ^${ _group } : ${ GID_FILES } >/dev/null 2>& 1; then \
${ ECHO_CMD } " ** Cannot find any information about group \` ${ _group } ' in ${ GID_FILES } . " ; \
exit 1; \
fi
@IFS= ":" ; ${ GREP } -h ^${ _group } : ${ GID_FILES } | head -n 1 | while read group foo gid members; do \
2009-09-17 12:24:09 +00:00
gid = $$ ( ( $$ gid+${ GID_OFFSET } ) ) ; \
2013-09-24 13:38:07 +00:00
if [ " ${ NO_STAGE } " = "yes" ] ; then \
2009-09-06 21:18:50 +00:00
if ! ${ PW } groupshow $$ group >/dev/null 2>& 1; then \
${ ECHO_MSG } " Creating group \` $$ group' with gid \` $$ gid'. " ; \
${ PW } groupadd $$ group -g $$ gid; \
else \
${ ECHO_MSG } " Using existing group \` $$ group'. " ; \
fi ; \
2013-09-24 13:38:07 +00:00
fi ; \
2013-10-30 17:47:48 +00:00
if [ -z " ${ WITH_PKGNG } " ] ; then \
${ ECHO_CMD } " @exec if ! ${ PW } groupshow $$ group >/dev/null 2>&1; then \
echo \" Creating group '$$group' with gid '$$gid' .\" ; \
${ PW } groupadd $$ group -g $$ gid; else echo \" Using existing group '$$group' .\" ; fi " >> ${ TMPPLIST } ; \
else \
${ ECHO_CMD } -e " if ! ${ PW } groupshow $$ group >/dev/null 2>&1; then \n \
echo \" Creating group '$$group' with gid '$$gid' .\" \n \
${ PW } groupadd $$ group -g $$ gid; else echo \" Using existing group '$$group' .\" \n fi" >> ${ _UG_OUTPUT } ; \
fi ; \
2009-09-06 21:18:50 +00:00
done
. e n d f o r
. e n d i f
. i f d e f i n e d ( U S E R S )
. f o r _ f i l e i n $ { U I D _ F I L E S }
. i f ! e x i s t s ( $ { _ f i l e } )
@${ ECHO_CMD } " ** ${ _file } doesn't exist. Exiting. " ; exit 1
. e n d i f
. e n d f o r
. f o r _ u s e r i n $ { U S E R S }
# _bgpd:*:130:130:BGP Daemon:/var/empty:/sbin/nologin
@if ! ${ GREP } -h ^${ _user } : ${ UID_FILES } >/dev/null 2>& 1; then \
${ ECHO_CMD } " ** Cannot find any information about user \` ${ _user } ' in ${ UID_FILES } . " ; \
exit 1; \
fi
@IFS= ":" ; ${ GREP } -h ^${ _user } : ${ UID_FILES } | head -n 1 | while read login passwd uid gid class change expire gecos homedir shell; do \
2009-09-17 12:24:09 +00:00
uid = $$ ( ( $$ uid+${ UID_OFFSET } ) ) ; \
gid = $$ ( ( $$ gid+${ GID_OFFSET } ) ) ; \
class = " $$ {class:+-L } $$ class " ; \
homedir = $$ ( echo $$ homedir | sed " s|^/usr/local| ${ PREFIX } | " ) ; \
2013-09-24 13:38:07 +00:00
if [ " ${ NO_STAGE } " = "yes" ] ; then \
2009-09-06 21:18:50 +00:00
if ! ${ PW } usershow $$ login >/dev/null 2>& 1; then \
${ ECHO_MSG } " Creating user \` $$ login' with uid \` $$ uid'. " ; \
2009-09-17 12:24:09 +00:00
eval ${ PW } useradd $$ login -u $$ uid -g $$ gid $$ class -c \" $$ gecos\" -d $$ homedir -s $$ shell; \
2014-04-19 13:54:30 +00:00
case $$ homedir in /| /nonexistent| /var/empty) ; ; *) ${ INSTALL } -d -g $$ gid -o $$ uid $$ homedir; ; esac ; \
2009-09-06 21:18:50 +00:00
else \
${ ECHO_MSG } " Using existing user \` $$ login'. " ; \
fi ; \
2013-09-24 13:38:07 +00:00
fi ; \
2013-10-30 17:47:48 +00:00
if [ -z " ${ WITH_PKGNG } " ] ; then \
${ ECHO_CMD } " @exec if ! ${ PW } usershow $$ login >/dev/null 2>&1; then \
echo \" Creating user '$$login' with uid '$$uid' .\" ; \
${ PW } useradd $$ login -u $$ uid -g $$ gid $$ class -c \" $$ gecos\" -d $$ homedir -s $$ shell; \
else echo \" Using existing user '$$login' .\" ; fi " >> ${ TMPPLIST } ; \
else \
${ ECHO_CMD } -e " if ! ${ PW } usershow $$ login >/dev/null 2>&1; then \n \
echo \" Creating user '$$login' with uid '$$uid' .\" \n \
${ PW } useradd $$ login -u $$ uid -g $$ gid $$ class -c \" $$ gecos\" -d $$ homedir -s $$ shell \n \
else \n echo \" Using existing user '$$login' .\" \n fi" >> ${ _UG_OUTPUT } ; \
fi ; \
2014-04-19 13:54:30 +00:00
case $$ homedir in /| /nonexistent| /var/empty) ; ; *) ${ ECHO_CMD } " @exec ${ INSTALL } -d -g $$ gid -o $$ uid $$ homedir " >> ${ TMPPLIST } ; ; esac ; \
2009-09-06 21:18:50 +00:00
done
. e n d f o r
. i f d e f i n e d ( G R O U P S )
. f o r _ g r o u p i n $ { G R O U P S }
Latest round of infrastructure changes.
- bsd.port.mk: add INDEX_PORTS, to support INDEX creation for a subset of the ports tree [1]
- bsd.port.mk: call target "install-rc-script" before "post-install" [2]
- [patch] ports/Mk bsd.port.mk order if groups/users are created by package [3]
- [bsd.port.mk] [patch] reaper of the dead: md5 has been in /sbin for a while [4]
- [bsd.port.mk] [patch] remove support for pre 7.x systems (b.*.m) [5]
- [patch] [bsd.port.mk] reaper of the dead: are three variable defintions needed [6]
PR: ports/156575 [1],
ports/139116 [2],
ports/152498 [3],
ports/155983 [4],
ports/155510 [5],
ports/156340 [6]
Submitted by: Florent Thoumie <flz@xbsd.org> [1],
Sergey Skvortsov <skv@freebsd.org> [2],
Olli Hauer <ohauer@FreeBSD.org> [3],
Eitan Adler <lists@eitanadler.com> [4],
Eitan Adler <lists@eitanadler.com> [5],
Eitan Adler <lists@eitanadler.com> [6]
2011-05-04 22:33:13 +00:00
# mail:*:6:postfix,clamav
2009-09-06 21:18:50 +00:00
@IFS= ":" ; ${ GREP } -h ^${ _group } : ${ GID_FILES } | head -n 1 | while read group foo gid members; do \
2009-09-17 12:24:09 +00:00
gid = $$ ( ( $$ gid+${ GID_OFFSET } ) ) ; \
2009-09-06 21:18:50 +00:00
IFS = "," ; for _login in $$ members; do \
Latest round of infrastructure changes.
- bsd.port.mk: add INDEX_PORTS, to support INDEX creation for a subset of the ports tree [1]
- bsd.port.mk: call target "install-rc-script" before "post-install" [2]
- [patch] ports/Mk bsd.port.mk order if groups/users are created by package [3]
- [bsd.port.mk] [patch] reaper of the dead: md5 has been in /sbin for a while [4]
- [bsd.port.mk] [patch] remove support for pre 7.x systems (b.*.m) [5]
- [patch] [bsd.port.mk] reaper of the dead: are three variable defintions needed [6]
PR: ports/156575 [1],
ports/139116 [2],
ports/152498 [3],
ports/155983 [4],
ports/155510 [5],
ports/156340 [6]
Submitted by: Florent Thoumie <flz@xbsd.org> [1],
Sergey Skvortsov <skv@freebsd.org> [2],
Olli Hauer <ohauer@FreeBSD.org> [3],
Eitan Adler <lists@eitanadler.com> [4],
Eitan Adler <lists@eitanadler.com> [5],
Eitan Adler <lists@eitanadler.com> [6]
2011-05-04 22:33:13 +00:00
for _user in ${ USERS } ; do \
if [ " x $$ {_user} " = " x $$ {_login} " ] ; then \
2013-12-18 00:03:53 +00:00
if [ " ${ NO_STAGE } " = "yes" ] ; then \
2011-09-09 08:10:29 +00:00
if ! ${ PW } groupshow ${ _group } | ${ GREP } -qw $$ { _login} ; then \
${ ECHO_MSG } " Adding user \` $$ {_login}' to group \` ${ _group } '. " ; \
${ PW } groupmod ${ _group } -m $$ { _login} ; \
fi ; \
2013-12-18 00:03:53 +00:00
fi ; \
2013-10-30 17:47:48 +00:00
if [ -z " ${ WITH_PKGNG } " ] ; then \
${ ECHO_CMD } " @exec if ! ${ PW } groupshow ${ _group } | ${ GREP } -qw $$ {_login}; then \
echo \" Adding user '$${_login}' to group '${_group}' .\" ; \
${ PW } groupmod ${ _group } -m $$ { _login} ; fi " >> ${ TMPPLIST } ; \
else \
2013-11-07 05:58:42 +00:00
${ ECHO_CMD } -e " if ! ${ PW } groupshow ${ _group } | ${ GREP } -qw $$ {_login}; then \n \
2013-10-30 17:47:48 +00:00
echo \" Adding user '$${_login}' to group '${_group}' .\" \n \
${ PW } groupmod ${ _group } -m $$ { _login} \n fi" >> ${ _UG_OUTPUT } ; \
fi ; \
Latest round of infrastructure changes.
- bsd.port.mk: add INDEX_PORTS, to support INDEX creation for a subset of the ports tree [1]
- bsd.port.mk: call target "install-rc-script" before "post-install" [2]
- [patch] ports/Mk bsd.port.mk order if groups/users are created by package [3]
- [bsd.port.mk] [patch] reaper of the dead: md5 has been in /sbin for a while [4]
- [bsd.port.mk] [patch] remove support for pre 7.x systems (b.*.m) [5]
- [patch] [bsd.port.mk] reaper of the dead: are three variable defintions needed [6]
PR: ports/156575 [1],
ports/139116 [2],
ports/152498 [3],
ports/155983 [4],
ports/155510 [5],
ports/156340 [6]
Submitted by: Florent Thoumie <flz@xbsd.org> [1],
Sergey Skvortsov <skv@freebsd.org> [2],
Olli Hauer <ohauer@FreeBSD.org> [3],
Eitan Adler <lists@eitanadler.com> [4],
Eitan Adler <lists@eitanadler.com> [5],
Eitan Adler <lists@eitanadler.com> [6]
2011-05-04 22:33:13 +00:00
fi ; \
done ; \
2009-09-06 21:18:50 +00:00
done ; \
done
. e n d f o r
. e n d i f
Latest round of infrastructure changes.
- bsd.port.mk: add INDEX_PORTS, to support INDEX creation for a subset of the ports tree [1]
- bsd.port.mk: call target "install-rc-script" before "post-install" [2]
- [patch] ports/Mk bsd.port.mk order if groups/users are created by package [3]
- [bsd.port.mk] [patch] reaper of the dead: md5 has been in /sbin for a while [4]
- [bsd.port.mk] [patch] remove support for pre 7.x systems (b.*.m) [5]
- [patch] [bsd.port.mk] reaper of the dead: are three variable defintions needed [6]
PR: ports/156575 [1],
ports/139116 [2],
ports/152498 [3],
ports/155983 [4],
ports/155510 [5],
ports/156340 [6]
Submitted by: Florent Thoumie <flz@xbsd.org> [1],
Sergey Skvortsov <skv@freebsd.org> [2],
Olli Hauer <ohauer@FreeBSD.org> [3],
Eitan Adler <lists@eitanadler.com> [4],
Eitan Adler <lists@eitanadler.com> [5],
Eitan Adler <lists@eitanadler.com> [6]
2011-05-04 22:33:13 +00:00
. i f d e f i n e d ( U S E R S )
. f o r _ u s e r i n $ { U S E R S }
@if [ ! ${ USERS_BLACKLIST : M ${ _user } } ] ; then \
${ ECHO_CMD } " @unexec if ${ PW } usershow ${ _user } >/dev/null 2>&1; then \
echo \" = = > You should manually remove the \\ \" ${ _user } \\ \" user. \" ; fi " >> ${ TMPPLIST } ; \
fi
. e n d f o r
. e n d i f
2009-09-06 21:18:50 +00:00
. e n d i f
. e n d i f
. e n d i f
Latest round of infrastructure changes.
- bsd.port.mk: add INDEX_PORTS, to support INDEX creation for a subset of the ports tree [1]
- bsd.port.mk: call target "install-rc-script" before "post-install" [2]
- [patch] ports/Mk bsd.port.mk order if groups/users are created by package [3]
- [bsd.port.mk] [patch] reaper of the dead: md5 has been in /sbin for a while [4]
- [bsd.port.mk] [patch] remove support for pre 7.x systems (b.*.m) [5]
- [patch] [bsd.port.mk] reaper of the dead: are three variable defintions needed [6]
PR: ports/156575 [1],
ports/139116 [2],
ports/152498 [3],
ports/155983 [4],
ports/155510 [5],
ports/156340 [6]
Submitted by: Florent Thoumie <flz@xbsd.org> [1],
Sergey Skvortsov <skv@freebsd.org> [2],
Olli Hauer <ohauer@FreeBSD.org> [3],
Eitan Adler <lists@eitanadler.com> [4],
Eitan Adler <lists@eitanadler.com> [5],
Eitan Adler <lists@eitanadler.com> [6]
2011-05-04 22:33:13 +00:00
# PR ports/152498
2013-12-06 08:20:16 +00:00
# XXX Make sure the commands to create group(s)
Latest round of infrastructure changes.
- bsd.port.mk: add INDEX_PORTS, to support INDEX creation for a subset of the ports tree [1]
- bsd.port.mk: call target "install-rc-script" before "post-install" [2]
- [patch] ports/Mk bsd.port.mk order if groups/users are created by package [3]
- [bsd.port.mk] [patch] reaper of the dead: md5 has been in /sbin for a while [4]
- [bsd.port.mk] [patch] remove support for pre 7.x systems (b.*.m) [5]
- [patch] [bsd.port.mk] reaper of the dead: are three variable defintions needed [6]
PR: ports/156575 [1],
ports/139116 [2],
ports/152498 [3],
ports/155983 [4],
ports/155510 [5],
ports/156340 [6]
Submitted by: Florent Thoumie <flz@xbsd.org> [1],
Sergey Skvortsov <skv@freebsd.org> [2],
Olli Hauer <ohauer@FreeBSD.org> [3],
Eitan Adler <lists@eitanadler.com> [4],
Eitan Adler <lists@eitanadler.com> [5],
Eitan Adler <lists@eitanadler.com> [6]
2011-05-04 22:33:13 +00:00
# and user(s) are the first in pkg-plist
. i f ! t a r g e t ( f i x - p l i s t - s e q u e n c e )
fix-plist-sequence : ${TMPPLIST }
2013-10-30 17:47:48 +00:00
. i f ! d e f i n e d ( W I T H _ P K G N G ) & & ( d e f i n e d ( G R O U P S ) | | d e f i n e d ( U S E R S ) )
Latest round of infrastructure changes.
- bsd.port.mk: add INDEX_PORTS, to support INDEX creation for a subset of the ports tree [1]
- bsd.port.mk: call target "install-rc-script" before "post-install" [2]
- [patch] ports/Mk bsd.port.mk order if groups/users are created by package [3]
- [bsd.port.mk] [patch] reaper of the dead: md5 has been in /sbin for a while [4]
- [bsd.port.mk] [patch] remove support for pre 7.x systems (b.*.m) [5]
- [patch] [bsd.port.mk] reaper of the dead: are three variable defintions needed [6]
PR: ports/156575 [1],
ports/139116 [2],
ports/152498 [3],
ports/155983 [4],
ports/155510 [5],
ports/156340 [6]
Submitted by: Florent Thoumie <flz@xbsd.org> [1],
Sergey Skvortsov <skv@freebsd.org> [2],
Olli Hauer <ohauer@FreeBSD.org> [3],
Eitan Adler <lists@eitanadler.com> [4],
Eitan Adler <lists@eitanadler.com> [5],
Eitan Adler <lists@eitanadler.com> [6]
2011-05-04 22:33:13 +00:00
@${ ECHO_CMD } "===> Correct pkg-plist sequence to create group(s) and user(s)"
@${ EGREP } -e '^@exec echo.*Creating users and' -e '^@exec.*${PW}' -e '^@exec ${INSTALL} -d -g' ${ TMPPLIST } > ${ TMPGUCMD }
@${ EGREP } -v -e '^@exec echo.*Creating users and' -e '^@exec.*${PW}' -e '^@exec ${INSTALL} -d -g' ${ TMPPLIST } >> ${ TMPGUCMD }
@${ MV } -f ${ TMPGUCMD } ${ TMPPLIST }
. e n d i f
2014-02-04 14:23:08 +00:00
. i f ! d e f i n e d ( W I T H _ P K G N G )
@${ ECHO_CMD } "@exec echo pkg_install EOL is scheduled for 2014-09-01. Please consider migrating to pkgng" >> ${ TMPPLIST }
@${ ECHO_CMD } "@exec echo http://blogs.freebsdish.org/portmgr/2014/02/03/time-to-bid-farewell-to-the-old-pkg_-tools/" >> ${ TMPPLIST }
. e n d i f
Latest round of infrastructure changes.
- bsd.port.mk: add INDEX_PORTS, to support INDEX creation for a subset of the ports tree [1]
- bsd.port.mk: call target "install-rc-script" before "post-install" [2]
- [patch] ports/Mk bsd.port.mk order if groups/users are created by package [3]
- [bsd.port.mk] [patch] reaper of the dead: md5 has been in /sbin for a while [4]
- [bsd.port.mk] [patch] remove support for pre 7.x systems (b.*.m) [5]
- [patch] [bsd.port.mk] reaper of the dead: are three variable defintions needed [6]
PR: ports/156575 [1],
ports/139116 [2],
ports/152498 [3],
ports/155983 [4],
ports/155510 [5],
ports/156340 [6]
Submitted by: Florent Thoumie <flz@xbsd.org> [1],
Sergey Skvortsov <skv@freebsd.org> [2],
Olli Hauer <ohauer@FreeBSD.org> [3],
Eitan Adler <lists@eitanadler.com> [4],
Eitan Adler <lists@eitanadler.com> [5],
Eitan Adler <lists@eitanadler.com> [6]
2011-05-04 22:33:13 +00:00
. e n d i f
2008-04-14 16:46:41 +00:00
. i f ! d e f i n e d ( D I S A B L E _ S E C U R I T Y _ C H E C K )
2002-03-25 08:48:47 +00:00
. i f ! t a r g e t ( s e c u r i t y - c h e c k )
2004-01-20 09:14:10 +00:00
security-check :
# 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; } \
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; \
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 \
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
| ${ XARGS } -0 -n 1 ${ OBJDUMP } -R 2> /dev/null > ${ WRKDIR } /.PLIST.objdump; \
2004-01-20 09:14:10 +00:00
if \
2014-05-09 22:35:50 +00:00
! ${ AWK } -v audit = " $$ {PORTS_AUDIT} " -f ${ SCRIPTSDIR } /security-check.awk \
2004-01-20 09:14:10 +00:00
${ WRKDIR } /.PLIST.flattened ${ WRKDIR } /.PLIST.objdump ${ WRKDIR } /.PLIST.setuid ${ WRKDIR } /.PLIST.writable; \
then \
2011-07-21 15:10:46 +00:00
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 \
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
2002-03-25 08:48:47 +00:00
. e n d i f
2008-04-14 16:46:41 +00:00
. e l s e # i.e. defined(DISABLE_SECURITY_CHECK)
security-check :
@${ ECHO_MSG } " WARNING: Security check has been disabled."
. e n d i f # !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
2002-03-25 08:48:47 +00:00
################################################################
# Skeleton targets start here
2004-02-04 04:27:04 +00:00
#
2002-03-25 08:48:47 +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.
################################################################
2014-01-03 23:21:23 +00:00
extract-message :
@${ ECHO_MSG } " ===> Extracting for ${ PKGNAME } "
2002-03-25 08:48:47 +00:00
patch-message :
1995-08-18 10:06:28 +00:00
@${ ECHO_MSG } " ===> Patching for ${ PKGNAME } "
2002-03-25 08:48:47 +00:00
configure-message :
1995-08-18 10:06:28 +00:00
@${ ECHO_MSG } " ===> Configuring for ${ PKGNAME } "
2002-03-25 08:48:47 +00:00
build-message :
1995-08-18 10:06:28 +00:00
@${ 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 } "
2002-03-25 08:48:47 +00:00
install-message :
1995-04-20 18:03:02 +00:00
@${ ECHO_MSG } " ===> Installing for ${ PKGNAME } "
2002-03-25 08:48:47 +00:00
package-message :
@${ ECHO_MSG } " ===> Building package for ${ PKGNAME } "
1995-08-18 10:06:28 +00:00
2002-03-25 08:48:47 +00:00
# Empty pre-* and post-* targets
1995-08-18 10:06:28 +00:00
2002-03-25 08:48:47 +00:00
. f o r s t a g e i n p r e p o s t
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
. f o r n a m e i n p k g c h e c k - s a n i t y f e t c h e x t r a c t p a t c h c o n f i g u r e b u i l d s t a g e i n s t a l l p a c k a g e
1995-08-18 10:06:28 +00:00
2014-01-03 23:01:01 +00:00
. i f e x i s t s ( $ { S C R I P T D I R } / $ { s t a g e } - $ { n a m e } )
2002-03-25 08:48:47 +00:00
. i f ! t a r g e t ( $ { s t a g e } - $ { n a m e } - s c r i p t )
${stage}-${name}-script :
2014-01-03 23:01:01 +00:00
@ cd ${ .CURDIR } && ${ SETENV } ${ SCRIPTS_ENV } ${ SH } \
${ SCRIPTDIR } /${ .TARGET : S /-script $// }
. e n d i f
1994-11-16 23:14:22 +00:00
. e n d i f
1995-08-18 10:06:28 +00:00
. e n d f o r
2002-03-25 08:48:47 +00:00
. e n d f o r
2000-10-05 01:32:21 +00:00
* pkg-comment removal, take 2: introduce the COMMENTFILE variable
with the same semantics as the current COMMENT variable (location
of the pkg-comment file), and reclaim COMMENT for the comment string
itself. To work around the problems with metacharacters in comment
strings, comments are written to a temporary comment file as needed. [1]
* Support regexps in LIB_DEPENDS [2]
* Move the CD_MOUNTPTS variable to <bsd.port.pre.mk> [3]
* Improve 'make readmes' target [4]:
- ^A and ^B have been replaced by | to avoid printing problems in
'make readme'.
- Add %%EMAIL%%, %%MAINTAINER%% (not used yet) and %%WEBSITE%%
substitutions
- Add pretty-print-www-site target.
* Add support for USE_GCC=3.2 [5]
* Use 'uname -p' instead of 'uname -m' to set the ARCH variable. [6]
* Add a ${YACC} variable [7]
* Path MANPREFIX in MAKE_ENV [8]
* Use the full patch to mkhtmlindex in MKHTMLINDEX [9]
* Avoid overflowing the commandline when constructing the _TMLINKS
variable (fixes 'make index'). [10]
Submitted by: lioux [1], mi [2], mbr [3][5],
Cyrille Lefevre <clefevre@citeweb.net> [4],
nyan [6], cy [7], dougb [8], anholt [9],
fenner [10] (based on)
PR: ports/34126 [2], ports/30983 [3] (based on),
ports/31389 [4], ports/47306 [5] (based on),
ports/35514 [6], ports/44496 [7],
ports/44895 [8], ports/45549 [9]
2003-02-10 07:59:22 +00:00
. i f ! t a r g e t ( p r e t t y - p r i n t - w w w - s i t e )
pretty-print-www-site :
2011-07-21 15:10:46 +00:00
@www_site= $$ ( cd ${ .CURDIR } && ${ MAKE } www-site) ; \
* pkg-comment removal, take 2: introduce the COMMENTFILE variable
with the same semantics as the current COMMENT variable (location
of the pkg-comment file), and reclaim COMMENT for the comment string
itself. To work around the problems with metacharacters in comment
strings, comments are written to a temporary comment file as needed. [1]
* Support regexps in LIB_DEPENDS [2]
* Move the CD_MOUNTPTS variable to <bsd.port.pre.mk> [3]
* Improve 'make readmes' target [4]:
- ^A and ^B have been replaced by | to avoid printing problems in
'make readme'.
- Add %%EMAIL%%, %%MAINTAINER%% (not used yet) and %%WEBSITE%%
substitutions
- Add pretty-print-www-site target.
* Add support for USE_GCC=3.2 [5]
* Use 'uname -p' instead of 'uname -m' to set the ARCH variable. [6]
* Add a ${YACC} variable [7]
* Path MANPREFIX in MAKE_ENV [8]
* Use the full patch to mkhtmlindex in MKHTMLINDEX [9]
* Avoid overflowing the commandline when constructing the _TMLINKS
variable (fixes 'make index'). [10]
Submitted by: lioux [1], mi [2], mbr [3][5],
Cyrille Lefevre <clefevre@citeweb.net> [4],
nyan [6], cy [7], dougb [8], anholt [9],
fenner [10] (based on)
PR: ports/34126 [2], ports/30983 [3] (based on),
ports/31389 [4], ports/47306 [5] (based on),
ports/35514 [6], ports/44496 [7],
ports/44895 [8], ports/45549 [9]
2003-02-10 07:59:22 +00:00
if [ -n " $$ {www_site} " ] ; then \
2007-03-24 14:02:06 +00:00
${ ECHO_MSG } -n " and/or visit the " ; \
${ ECHO_MSG } -n " <a href=\" $$ {www_site}\">web site</a> " ; \
2012-09-03 20:47:01 +00:00
${ ECHO_MSG } " for further information" ; \
* pkg-comment removal, take 2: introduce the COMMENTFILE variable
with the same semantics as the current COMMENT variable (location
of the pkg-comment file), and reclaim COMMENT for the comment string
itself. To work around the problems with metacharacters in comment
strings, comments are written to a temporary comment file as needed. [1]
* Support regexps in LIB_DEPENDS [2]
* Move the CD_MOUNTPTS variable to <bsd.port.pre.mk> [3]
* Improve 'make readmes' target [4]:
- ^A and ^B have been replaced by | to avoid printing problems in
'make readme'.
- Add %%EMAIL%%, %%MAINTAINER%% (not used yet) and %%WEBSITE%%
substitutions
- Add pretty-print-www-site target.
* Add support for USE_GCC=3.2 [5]
* Use 'uname -p' instead of 'uname -m' to set the ARCH variable. [6]
* Add a ${YACC} variable [7]
* Path MANPREFIX in MAKE_ENV [8]
* Use the full patch to mkhtmlindex in MKHTMLINDEX [9]
* Avoid overflowing the commandline when constructing the _TMLINKS
variable (fixes 'make index'). [10]
Submitted by: lioux [1], mi [2], mbr [3][5],
Cyrille Lefevre <clefevre@citeweb.net> [4],
nyan [6], cy [7], dougb [8], anholt [9],
fenner [10] (based on)
PR: ports/34126 [2], ports/30983 [3] (based on),
ports/31389 [4], ports/47306 [5] (based on),
ports/35514 [6], ports/44496 [7],
ports/44895 [8], ports/45549 [9]
2003-02-10 07:59:22 +00:00
fi
. e n d i f
2002-03-25 08:48:47 +00:00
################################################################
# Some more targets supplied for users' convenience
################################################################
1995-08-18 10:06:28 +00:00
# Checkpatch
#
# Special target to verify patches
. i f ! t a r g e t ( c h e c k p a t c h )
checkpatch :
2014-02-24 17:36:15 +00:00
@cd ${ .CURDIR } && ${ MAKE } ${ PATCH_SILENT } PATCH_CHECK_ONLY = yes ${ _PATCH_DEP } ${ _PATCH_REAL_SEQ }
1995-04-20 18:03:02 +00:00
. e n d i f
# Reinstall
#
1995-08-18 10:06:28 +00:00
# Special target to re-run install
1995-04-20 18:03:02 +00:00
. i f ! t a r g e t ( r e i n s t a l l )
1997-06-04 00:12:19 +00:00
reinstall :
@${ RM } -f ${ INSTALL_COOKIE } ${ PACKAGE_COOKIE }
2012-05-23 08:17:49 +00:00
@cd ${ .CURDIR } && DEPENDS_TARGET = " ${ DEPENDS_TARGET } " ${ MAKE } -DFORCE_PKG_REGISTER install
1994-08-22 11:20:07 +00:00
. e n d i f
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
. i f ! t a r g e t ( r e s t a g e )
restage :
2013-10-21 09:56:26 +00:00
@${ 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
. e n d i f
1998-01-02 10:37:14 +00:00
# Deinstall
#
# Special target to remove installation
. i f ! t a r g e t ( d e i n s t a l l )
deinstall :
2003-11-07 08:51:46 +00:00
. i f ${UID} != 0 && !defined( INSTALL_AS_USER)
2004-01-20 09:14:10 +00:00
@${ ECHO_MSG } " ===> Switching to root credentials for ' ${ .TARGET } ' target "
2003-11-07 08:51:46 +00:00
@cd ${ .CURDIR } && \
2011-07-21 15:10:46 +00:00
${ SU_CMD } " ${ MAKE } ${ .TARGET } "
2004-01-20 09:14:10 +00:00
@${ ECHO_MSG } "===> Returning to user credentials"
2003-11-07 08:51:46 +00:00
. e l s e
* 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 } "
2003-11-07 08:51:46 +00:00
@found_names= ` ${ PKG_INFO } -q -O ${ PKGORIGIN } ` ; \
* 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
for p in $$ { found_names} ; do \
2004-01-20 09:14:10 +00:00
check_name = ` ${ ECHO_CMD } $$ { p} | ${ SED } -e 's/-[^-]*$$//' ` ; \
* 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 [ " $$ {check_name} " = " ${ PKGBASE } " ] ; then \
2004-02-04 04:27:04 +00:00
prfx = ` ${ PKG_INFO } -q -p $$ { p} 2> /dev/null | ${ SED } -ne '1s|^@cwd ||p' ` ; \
2012-09-01 22:21:57 +00:00
if [ " x ${ PREFIX } " = " x $$ {prfx} " ] ; then \
2007-08-04 11:37:24 +00:00
${ ECHO_MSG } " ===> Deinstalling $$ {p} " ; \
* 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 $$ { p} ; \
else \
${ ECHO_MSG } " ===> $$ {p} has a different PREFIX: $$ {prfx}, skipping " ; \
fi ; \
fi ; \
done ; \
if [ -z " $$ {found_names} " ] ; then \
2007-08-04 11:37:24 +00:00
${ 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 }
. e n d i f
2003-11-07 08:51:46 +00:00
. e n d i f
* 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
. i f ! t a r g e t ( d e i n s t a l l - a l l )
deinstall-all :
2003-11-07 08:51:46 +00:00
. i f ${UID} != 0 && !defined( INSTALL_AS_USER)
2004-01-20 09:14:10 +00:00
@${ ECHO_MSG } " ===> Switching to root credentials for ' ${ .TARGET } ' target "
2003-11-07 08:51:46 +00:00
@cd ${ .CURDIR } && \
2011-07-21 15:10:46 +00:00
${ SU_CMD } " ${ MAKE } ${ .TARGET } "
2004-01-20 09:14:10 +00:00
@${ ECHO_MSG } "===> Returning to user credentials"
2003-11-07 08:51:46 +00:00
. e l s e
* 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 } "
2003-11-07 08:51:46 +00:00
@deinstall_names= ` ${ PKG_INFO } -q -O ${ PKGORIGIN } ` ; \
* Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]
* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]
* Update the description of fetch-list; add targets fetch-required-list,
fetch-url-list, and fetch-urlall-list. [4]
* Make 'make search' also search in ports/MOVED. [5]
* Move several Makevar definitions to the pre-makefile section:
DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]
* The target 'ignorelist-verbose' was added for portsmon. [7]
PR: 69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]
Submitted by: Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
jylefort [3], edwin [4], Lars Engels <lars dot engels
at 0x20 dot net> [5], Alexander Logvinov <ports at
logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +00:00
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 \
2007-08-04 11:37:24 +00:00
${ 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 \
2007-08-04 11:37:24 +00:00
${ ECHO_MSG } " ===> ${ PKGORIGIN } not installed, skipping " ; \
2006-08-04 12:34:50 +00:00
fi ; \
${ RM } -f ${ INSTALL_COOKIE } ${ PACKAGE_COOKIE }
1998-01-02 10:37:14 +00:00
. e n d i f
2003-11-07 08:51:46 +00:00
. e n d i f
1998-01-02 10:37:14 +00:00
1995-04-20 18:03:02 +00:00
# Cleaning up
2000-04-04 07:05:36 +00:00
. i f ! t a r g e t ( d o - c l e a n )
do-clean :
2013-09-24 13:38:07 +00:00
. i f ! d e f i n e d ( N O _ S T A G E ) & & d e f i n e d ( N E E D _ R O O T ) & & ${UID} != 0 && !defined( INSTALL_AS_USER) && exists( ${ STAGE_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
@${ ECHO_MSG } " ===> Switching to root credentials for ' ${ .TARGET } ' target "
@cd ${ .CURDIR } && \
${ SU_CMD } " ${ MAKE } ${ .TARGET } "
@${ ECHO_MSG } "===> Returning to user credentials"
. e l s e
1996-11-30 10:31:50 +00:00
@if [ -d ${ WRKDIR } ] ; then \
if [ -w ${ WRKDIR } ] ; then \
${ RM } -rf ${ WRKDIR } ; \
else \
${ ECHO_MSG } " ===> ${ WRKDIR } not writable, skipping " ; \
fi ; \
fi
1994-09-09 06:21:43 +00:00
. e n d i f
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
. e n d i f
1994-09-09 06:21:43 +00:00
2000-04-04 07:05:36 +00:00
. i f ! t a r g e t ( c l e a n )
clean :
. i f ! d e f i n e d ( N O C L E A N D E P E N D S )
2011-07-21 15:10:46 +00:00
@cd ${ .CURDIR } && ${ MAKE } limited-clean-depends
2000-04-04 07:05:36 +00:00
. e n d i f
@${ ECHO_MSG } " ===> Cleaning for ${ PKGNAME } "
. i f t a r g e t ( p r e - c l e a n )
2011-07-21 15:10:46 +00:00
@cd ${ .CURDIR } && ${ MAKE } pre-clean
2000-04-04 07:05:36 +00:00
. e n d i f
2011-07-21 15:10:46 +00:00
@cd ${ .CURDIR } && ${ MAKE } do -clean
2000-04-04 07:05:36 +00:00
. i f t a r g e t ( p o s t - c l e a n )
2011-07-21 15:10:46 +00:00
@cd ${ .CURDIR } && ${ MAKE } post-clean
2000-04-04 07:05:36 +00:00
. e n d i f
. e n d i f
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
. i f ! t a r g e t ( p r e - d i s t c l e a n )
pre-distclean :
@${ DO_NADA }
. e n d i f
. i f ! t a r g e t ( d i s t c l e a n )
2000-10-17 10:11:16 +00:00
distclean : pre -distclean clean
2002-01-23 03:48:44 +00:00
@cd ${ .CURDIR } && ${ MAKE } delete-distfiles RESTRICTED_FILES = " ${ _DISTFILES } ${ _PATCHFILES } "
1998-11-08 10:29:53 +00:00
. e n d i f
. i f ! t a r g e t ( d e l e t e - d i s t f i l e s )
delete-distfiles :
@${ ECHO_MSG } " ===> Deleting distfiles for ${ PKGNAME } "
2000-10-01 17:27:40 +00:00
@( if [ " X ${ RESTRICTED_FILES } " != "X" -a -d ${ _DISTDIR } ] ; then \
1997-02-23 13:24:45 +00:00
cd ${ _DISTDIR } ; \
2000-10-01 17:27:40 +00:00
for file in ${ RESTRICTED_FILES } ; do \
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 ; \
1997-02-23 13:24:45 +00:00
fi )
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
. i f d e f i n e d ( D I S T _ S U B D I R )
2000-10-17 10:11:16 +00:00
-@${ RMDIR } ${ _DISTDIR } >/dev/null 2>& 1 || ${ TRUE }
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
. e n d i f
. e n d i f
1999-04-28 06:20:23 +00:00
. i f ! t a r g e t ( d e l e t e - d i s t f i l e s - l i s t )
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 } "
2000-10-01 17:27:40 +00:00
@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) " ; \
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) " ; \
1999-11-11 02:36:15 +00:00
fi ; \
1999-04-28 06:20:23 +00:00
done ; \
fi
. i f d e f i n e d ( D I S T _ S U B D I R )
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 } "
1999-04-28 06:20:23 +00:00
. e n d i f
. e n d i f
1995-04-20 18:03:02 +00:00
# Prints out a list of files to fetch (useful to do a batch fetch)
1995-03-21 03:59:13 +00:00
. i f ! t a r g e t ( f e t c h - l i s t )
fetch-list :
1996-11-30 10:31:50 +00:00
@${ MKDIR } ${ _DISTDIR }
@( cd ${ _DISTDIR } ; \
2002-01-23 03:48:44 +00:00
${ _MASTER_SITES_ENV } ; \
for _file in ${ DISTFILES } ; do \
2004-01-20 09:14:10 +00:00
file = ` ${ ECHO_CMD } $$ _file | ${ SED } -E -e 's/:[^:]+$$//' ` ; \
select = ` ${ ECHO_CMD } $$ { _file#$$ { file} } | ${ SED } -e 's/^://' -e 's/,/ /g' ` ; \
2007-10-03 22:24:59 +00:00
if [ ! -f $$ file -a ! -f $$ { file##*/} ] ; then \
2002-01-23 03:48:44 +00:00
if [ ! -z " $$ select " ] ; then \
__MASTER_SITES_TMP = ; \
for group in $$ select ; do \
if [ ! -z \$ ${ _MASTER_SITES_ $$ {group } } ] ; then \
eval ___MASTER_SITES_TMP = \$ ${ _MASTER_SITES_ $$ {group } } ; \
__MASTER_SITES_TMP = " $$ {__MASTER_SITES_TMP} $$ {___MASTER_SITES_TMP} " ; \
2007-08-04 11:37:24 +00:00
fi ; \
2002-01-23 03:48:44 +00:00
done ; \
___MASTER_SITES_TMP = ; \
2004-01-20 09:14:10 +00:00
SORTED_MASTER_SITES_CMD_TMP = " ${ ECHO_CMD } ${ _MASTER_SITE_OVERRIDE } ` ${ ECHO_CMD } $$ {__MASTER_SITES_TMP} | ${ AWK } ' ${ MASTER_SORT_AWK : S | \\ | \\ \\ |g } '` ${ _MASTER_SITE_BACKUP } " ; \
2002-01-23 03:48:44 +00:00
else \
SORTED_MASTER_SITES_CMD_TMP = " ${ SORTED_MASTER_SITES_DEFAULT_CMD } " ; \
2007-08-04 11:37:24 +00:00
fi ; \
2003-11-07 08:51:46 +00:00
for site in ` eval $$ SORTED_MASTER_SITES_CMD_TMP ${ _RANDOMIZE_SITES } ` ; do \
- 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 [ ! -z " ` ${ ECHO_CMD } ${ NOFETCHFILES } | ${ GREP } -w $$ {file}` " ] ; then \
if [ -z " ` ${ ECHO_CMD } ${ MASTER_SITE_OVERRIDE } | ${ GREP } -w $$ {site}` " ] ; then \
continue ; \
fi ; \
fi ; \
2007-04-02 22:44:52 +00:00
DIR = ${ DIST_SUBDIR } ; \
CKSIZE = ` alg = SIZE; ${ DISTINFO_DATA } ` ; \
1999-10-01 09:28:32 +00:00
case $$ { file} in \
*/*) args = " -o $$ {file} $$ {site} $$ {file} " ; ; \
*) args = $$ { site} $$ { file} ; ; \
esac ; \
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 } -n ${ SETENV } ${ FETCH_ENV } ${ FETCH_CMD } ${ FETCH_BEFORE_ARGS } $$ { args} " ${ FETCH_AFTER_ARGS } " '|| ' ; \
1995-03-21 03:59:13 +00:00
done ; \
2004-01-20 09:14:10 +00:00
${ ECHO_CMD } " ${ ECHO_CMD } $$ {file} not fetched " ; \
2007-08-04 11:37:24 +00:00
fi ; \
1995-03-21 03:59:13 +00:00
done )
Add support for "distributed" patches and a little extra cleanup.
New variables:
PATCH_SITES: patch equivalent of MASTER_SITES, overridable with
. MASTER_SITE_OVERRIDE.
PATCHFILES: Additional files to fetch and give to patch before
. applying the ones in patches/patch-*. If name ends
. with ".gz" or ".Z", it will be piped through zcat first.
Plus PATCH_DIST_STRIP and PATCH_DIST_ARGS that serve the same functions
as PATCH_STRIP and PATCH_ARGS for patches in patches/patch-*.
In the documentation and echo messages, I used the term "distributed
patches" and "FreeBSD patches" to refer to ${PATCHFILES} and patches/patch-*.
If you can come up with better names, by all means go ahead and fix them.
"grep PATCH /usr/ports/*/*/Makefile" reveals seven ports (mule, jless,
jtcl, jtk, dgd, less, color_xterm, gee I wonder why I'm the one who
implemented this) that can benefit from this. I'm now diving headlong
into /usr/ports to fix their Makefiles.
1995-03-28 01:14:29 +00:00
. i f d e f i n e d ( P A T C H F I L E S )
1996-11-30 10:31:50 +00:00
@( cd ${ _DISTDIR } ; \
2002-01-23 03:48:44 +00:00
${ _PATCH_SITES_ENV } ; \
for _file in ${ PATCHFILES } ; do \
2013-10-05 10:20:15 +00:00
file = ` ${ ECHO_CMD } $$ _file | ${ SED } -E -e 's/:[^-:][^:]*$$//' ` ; \
2004-01-20 09:14:10 +00:00
select = ` ${ ECHO_CMD } $$ { _file#$$ { file} } | ${ SED } -e 's/^://' -e 's/,/ /g' ` ; \
2013-10-05 10:20:15 +00:00
file = ` ${ ECHO_CMD } $$ file | ${ SED } -E -e 's/:-[^:]+$$//' ` ; \
2007-10-03 22:24:59 +00:00
if [ ! -f $$ file -a ! -f $$ { file##*/} ] ; then \
2002-01-23 03:48:44 +00:00
if [ ! -z " $$ select " ] ; then \
__PATCH_SITES_TMP = ; \
for group in $$ select ; do \
if [ ! -z \$ ${ _PATCH_SITES_ $$ {group } } ] ; then \
eval ___PATCH_SITES_TMP = \$ ${ _PATCH_SITES_ $$ {group } } ; \
__PATCH_SITES_TMP = " $$ {__PATCH_SITES_TMP} $$ {___PATCH_SITES_TMP} " ; \
2007-08-04 11:37:24 +00:00
fi ; \
2002-01-23 03:48:44 +00:00
done ; \
___PATCH_SITES_TMP = ; \
2004-01-20 09:14:10 +00:00
SORTED_PATCH_SITES_CMD_TMP = " ${ ECHO_CMD } ${ _MASTER_SITE_OVERRIDE } ` ${ ECHO_CMD } $$ {__PATCH_SITES_TMP} | ${ AWK } ' ${ MASTER_SORT_AWK : S | \\ | \\ \\ |g } '` ${ _MASTER_SITE_BACKUP } " ; \
2002-01-23 03:48:44 +00:00
else \
SORTED_PATCH_SITES_CMD_TMP = " ${ SORTED_PATCH_SITES_DEFAULT_CMD } " ; \
2007-08-04 11:37:24 +00:00
fi ; \
2003-11-07 08:51:46 +00:00
for site in ` eval $$ SORTED_PATCH_SITES_CMD_TMP ${ _RANDOMIZE_SITES } ` ; do \
2007-04-02 22:44:52 +00:00
CKSIZE = ` alg = SIZE; ${ DISTINFO_DATA } ` ; \
1999-10-01 09:28:32 +00:00
case $$ { file} in \
*/*) args = " -o $$ {file} $$ {site} $$ {file} " ; ; \
*) args = $$ { site} $$ { file} ; ; \
esac ; \
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 } -n ${ SETENV } ${ FETCH_ENV } ${ FETCH_CMD } ${ FETCH_BEFORE_ARGS } $$ { args} " ${ FETCH_AFTER_ARGS } " '|| ' ; \
Add support for "distributed" patches and a little extra cleanup.
New variables:
PATCH_SITES: patch equivalent of MASTER_SITES, overridable with
. MASTER_SITE_OVERRIDE.
PATCHFILES: Additional files to fetch and give to patch before
. applying the ones in patches/patch-*. If name ends
. with ".gz" or ".Z", it will be piped through zcat first.
Plus PATCH_DIST_STRIP and PATCH_DIST_ARGS that serve the same functions
as PATCH_STRIP and PATCH_ARGS for patches in patches/patch-*.
In the documentation and echo messages, I used the term "distributed
patches" and "FreeBSD patches" to refer to ${PATCHFILES} and patches/patch-*.
If you can come up with better names, by all means go ahead and fix them.
"grep PATCH /usr/ports/*/*/Makefile" reveals seven ports (mule, jless,
jtcl, jtk, dgd, less, color_xterm, gee I wonder why I'm the one who
implemented this) that can benefit from this. I'm now diving headlong
into /usr/ports to fix their Makefiles.
1995-03-28 01:14:29 +00:00
done ; \
2004-01-20 09:14:10 +00:00
${ ECHO_CMD } " ${ ECHO_CMD } $$ {file} not fetched " ; \
2007-08-04 11:37:24 +00:00
fi ; \
1995-05-04 18:53:26 +00:00
done )
Add support for "distributed" patches and a little extra cleanup.
New variables:
PATCH_SITES: patch equivalent of MASTER_SITES, overridable with
. MASTER_SITE_OVERRIDE.
PATCHFILES: Additional files to fetch and give to patch before
. applying the ones in patches/patch-*. If name ends
. with ".gz" or ".Z", it will be piped through zcat first.
Plus PATCH_DIST_STRIP and PATCH_DIST_ARGS that serve the same functions
as PATCH_STRIP and PATCH_ARGS for patches in patches/patch-*.
In the documentation and echo messages, I used the term "distributed
patches" and "FreeBSD patches" to refer to ${PATCHFILES} and patches/patch-*.
If you can come up with better names, by all means go ahead and fix them.
"grep PATCH /usr/ports/*/*/Makefile" reveals seven ports (mule, jless,
jtcl, jtk, dgd, less, color_xterm, gee I wonder why I'm the one who
implemented this) that can benefit from this. I'm now diving headlong
into /usr/ports to fix their Makefiles.
1995-03-28 01:14:29 +00:00
. e n d i f
1995-03-21 03:59:13 +00:00
. e n d i f
* Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]
* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]
* Update the description of fetch-list; add targets fetch-required-list,
fetch-url-list, and fetch-urlall-list. [4]
* Make 'make search' also search in ports/MOVED. [5]
* Move several Makevar definitions to the pre-makefile section:
DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]
* The target 'ignorelist-verbose' was added for portsmon. [7]
PR: 69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]
Submitted by: Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
jylefort [3], edwin [4], Lars Engels <lars dot engels
at 0x20 dot net> [5], Alexander Logvinov <ports at
logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +00:00
. i f ! t a r g e t ( f e t c h - u r l - l i s t - i n t )
fetch-url-list-int :
@${ MKDIR } ${ _DISTDIR }
@( cd ${ _DISTDIR } ; \
${ _MASTER_SITES_ENV } ; \
for _file in ${ DISTFILES } ; do \
file = ` ${ ECHO_CMD } $$ _file | ${ SED } -E -e 's/:[^:]+$$//' ` ; \
2011-07-15 08:26:30 +00:00
fileptn = ` ${ ECHO_CMD } $$ file | ${ SED } 's|/|\\\\/|g;s/\./\\\\./g;s/\+/\\\\+/g;s/\?/\\\\?/g' ` ; \
* Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]
* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]
* Update the description of fetch-list; add targets fetch-required-list,
fetch-url-list, and fetch-urlall-list. [4]
* Make 'make search' also search in ports/MOVED. [5]
* Move several Makevar definitions to the pre-makefile section:
DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]
* The target 'ignorelist-verbose' was added for portsmon. [7]
PR: 69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]
Submitted by: Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
jylefort [3], edwin [4], Lars Engels <lars dot engels
at 0x20 dot net> [5], Alexander Logvinov <ports at
logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +00:00
select = ` ${ ECHO_CMD } $$ { _file#$$ { file} } | ${ SED } -e 's/^://' -e 's/,/ /g' ` ; \
2011-06-06 05:53:51 +00:00
if [ ! -z " ${ LISTALL } " -o ! -f $$ file -a ! -f $$ { file##*/} ] ; then \
* Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]
* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]
* Update the description of fetch-list; add targets fetch-required-list,
fetch-url-list, and fetch-urlall-list. [4]
* Make 'make search' also search in ports/MOVED. [5]
* Move several Makevar definitions to the pre-makefile section:
DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]
* The target 'ignorelist-verbose' was added for portsmon. [7]
PR: 69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]
Submitted by: Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
jylefort [3], edwin [4], Lars Engels <lars dot engels
at 0x20 dot net> [5], Alexander Logvinov <ports at
logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +00:00
if [ ! -z " $$ select " ] ; then \
__MASTER_SITES_TMP = ; \
for group in $$ select ; do \
if [ ! -z \$ ${ _MASTER_SITES_ $$ {group } } ] ; then \
eval ___MASTER_SITES_TMP = \$ ${ _MASTER_SITES_ $$ {group } } ; \
__MASTER_SITES_TMP = " $$ {__MASTER_SITES_TMP} $$ {___MASTER_SITES_TMP} " ; \
fi \
done ; \
___MASTER_SITES_TMP = ; \
SORTED_MASTER_SITES_CMD_TMP = " ${ ECHO_CMD } ${ _MASTER_SITE_OVERRIDE } ` ${ ECHO_CMD } $$ {__MASTER_SITES_TMP} | ${ AWK } ' ${ MASTER_SORT_AWK : S | \\ | \\ \\ |g } '` ${ _MASTER_SITE_BACKUP } " ; \
else \
SORTED_MASTER_SITES_CMD_TMP = " ${ SORTED_MASTER_SITES_DEFAULT_CMD } " ; \
fi ; \
for site in ` eval $$ SORTED_MASTER_SITES_CMD_TMP ${ _RANDOMIZE_SITES } ` ; do \
case $$ { file} in \
*/*) args = " -o $$ {file} $$ {site} $$ {file} " ; ; \
*) args = $$ { site} $$ { file} ; ; \
esac ; \
${ ECHO_CMD } $$ { args} ; \
done ; \
fi \
done )
. i f d e f i n e d ( P A T C H F I L E S )
@( cd ${ _DISTDIR } ; \
${ _PATCH_SITES_ENV } ; \
for _file in ${ PATCHFILES } ; do \
2013-10-05 10:20:15 +00:00
file = ` ${ ECHO_CMD } $$ _file | ${ SED } -E -e 's/:[^-:][^:]*$$//' ` ; \
* Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]
* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]
* Update the description of fetch-list; add targets fetch-required-list,
fetch-url-list, and fetch-urlall-list. [4]
* Make 'make search' also search in ports/MOVED. [5]
* Move several Makevar definitions to the pre-makefile section:
DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]
* The target 'ignorelist-verbose' was added for portsmon. [7]
PR: 69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]
Submitted by: Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
jylefort [3], edwin [4], Lars Engels <lars dot engels
at 0x20 dot net> [5], Alexander Logvinov <ports at
logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +00:00
select = ` ${ ECHO_CMD } $$ { _file#$$ { file} } | ${ SED } -e 's/^://' -e 's/,/ /g' ` ; \
2013-10-05 10:20:15 +00:00
file = ` ${ ECHO_CMD } $$ file | ${ SED } -E -e 's/:-[^:]+$$//' ` ; \
fileptn = ` ${ ECHO_CMD } $$ file | ${ SED } 's|/|\\\\/|g;s/\./\\\\./g;s/\+/\\\\+/g;s/\?/\\\\?/g' ` ; \
2011-06-06 05:53:51 +00:00
if [ ! -z " ${ LISTALL } " -o ! -f $$ file -a ! -f $$ { file##*/} ] ; then \
* Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]
* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]
* Update the description of fetch-list; add targets fetch-required-list,
fetch-url-list, and fetch-urlall-list. [4]
* Make 'make search' also search in ports/MOVED. [5]
* Move several Makevar definitions to the pre-makefile section:
DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]
* The target 'ignorelist-verbose' was added for portsmon. [7]
PR: 69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]
Submitted by: Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
jylefort [3], edwin [4], Lars Engels <lars dot engels
at 0x20 dot net> [5], Alexander Logvinov <ports at
logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +00:00
if [ ! -z " $$ select " ] ; then \
__PATCH_SITES_TMP = ; \
for group in $$ select ; do \
if [ ! -z \$ ${ _PATCH_SITES_ $$ {group } } ] ; then \
eval ___PATCH_SITES_TMP = \$ ${ _PATCH_SITES_ $$ {group } } ; \
__PATCH_SITES_TMP = " $$ {__PATCH_SITES_TMP} $$ {___PATCH_SITES_TMP} " ; \
fi \
done ; \
___PATCH_SITES_TMP = ; \
SORTED_PATCH_SITES_CMD_TMP = " ${ ECHO_CMD } ${ _MASTER_SITE_OVERRIDE } ` ${ ECHO_CMD } $$ {__PATCH_SITES_TMP} | ${ AWK } ' ${ MASTER_SORT_AWK : S | \\ | \\ \\ |g } '` ${ _MASTER_SITE_BACKUP } " ; \
else \
SORTED_PATCH_SITES_CMD_TMP = " ${ SORTED_PATCH_SITES_DEFAULT_CMD } " ; \
fi ; \
for site in ` eval $$ SORTED_PATCH_SITES_CMD_TMP ${ _RANDOMIZE_SITES } ` ; do \
case $$ { file} in \
*/*) args = " -o $$ {file} $$ {site} $$ {file} " ; ; \
*) args = $$ { site} $$ { file} ; ; \
esac ; \
${ ECHO_CMD } $$ { args} ; \
done ; \
fi \
done )
. e n d i f
. e n d i f
. i f ! t a r g e t ( f e t c h - u r l a l l - l i s t )
fetch-urlall-list :
2012-06-15 12:04:52 +00:00
@cd ${ .CURDIR } && LISTALL = yes ${ MAKE } fetch-url-list-int
* Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]
* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]
* Update the description of fetch-list; add targets fetch-required-list,
fetch-url-list, and fetch-urlall-list. [4]
* Make 'make search' also search in ports/MOVED. [5]
* Move several Makevar definitions to the pre-makefile section:
DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]
* The target 'ignorelist-verbose' was added for portsmon. [7]
PR: 69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]
Submitted by: Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
jylefort [3], edwin [4], Lars Engels <lars dot engels
at 0x20 dot net> [5], Alexander Logvinov <ports at
logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +00:00
. e n d i f
. i f ! t a r g e t ( f e t c h - u r l - l i s t )
fetch-url-list :
2012-06-15 12:04:52 +00:00
@cd ${ .CURDIR } && ${ MAKE } fetch-url-list-int
* Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]
* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]
* Update the description of fetch-list; add targets fetch-required-list,
fetch-url-list, and fetch-urlall-list. [4]
* Make 'make search' also search in ports/MOVED. [5]
* Move several Makevar definitions to the pre-makefile section:
DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]
* The target 'ignorelist-verbose' was added for portsmon. [7]
PR: 69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]
Submitted by: Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
jylefort [3], edwin [4], Lars Engels <lars dot engels
at 0x20 dot net> [5], Alexander Logvinov <ports at
logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +00:00
. e n d i f
2003-05-06 05:15:18 +00:00
# Generates patches.
update-patches :
2003-06-10 14:45:02 +00:00
@toedit= ` PATCH_WRKSRC = ${ PATCH_WRKSRC } \
PATCHDIR = ${ PATCHDIR } \
PATCH_LIST = ${ PATCHDIR } /patch-* \
DIFF_ARGS = ${ DIFF_ARGS } \
DISTORIG = ${ DISTORIG } \
2003-05-06 05:15:18 +00:00
${ SH } ${ PORTSDIR } /Tools/scripts/update-patches` ; \
case $$ toedit in "" ) ; ; \
2004-01-20 09:14:10 +00:00
*) ${ ECHO_CMD } -n 'edit patches: ' ; read i; \
2003-05-06 05:15:18 +00:00
cd ${ PATCHDIR } && $$ { VISUAL:-$$ { EDIT:-/usr/bin/vi} } $$ toedit; ; esac
1995-04-20 18:03:02 +00:00
# Checksumming utilities
* 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
check-checksum-algorithms :
@ \
${ checksum_init } \
\
2014-05-05 09:45:36 +00:00
for alg in ${ CHECKSUM_ALGORITHMS : tu } ; do \
* 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
eval alg_executable = \$ $$ $alg ; \
if [ -z " $$ alg_executable " ] ; then \
2007-03-24 14:02:06 +00:00
${ ECHO_MSG } " Checksum algorithm $$ alg: Couldn't find the executable. " ; \
${ ECHO_MSG } " Set $$ alg=/path/to/ $$ alg in /etc/make.conf and try again. " ; \
* 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
exit 1; \
fi ; \
done ; \
checksum_init = \
2012-01-12 22:20:32 +00:00
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
1995-01-04 23:06:38 +00:00
. i f ! t a r g e t ( m a k e s u m )
* 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
makesum : check -checksum -algorithms
2011-07-21 15:10:46 +00:00
@cd ${ .CURDIR } && ${ MAKE } fetch NO_CHECKSUM = yes \
- 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
DISABLE_SIZE = yes
2010-10-28 21:00:21 +00:00
@if [ -f ${ DISTINFO_FILE } ] ; then ${ CAT } /dev/null > ${ DISTINFO_FILE } ; 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
@( \
cd ${ DISTDIR } ; \
\
${ checksum_init } \
\
for file in ${ _CKSUMFILES } ; do \
2014-05-05 09:45:36 +00:00
for alg in ${ CHECKSUM_ALGORITHMS : tu } ; do \
* 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
eval alg_executable = \$ $$ $alg ; \
\
if [ $$ alg_executable != "NO" ] ; then \
2010-10-28 21:00:21 +00:00
$$ alg_executable $$ file >> ${ DISTINFO_FILE } ; \
* 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 ; \
done ; \
2012-10-09 17:18:43 +00:00
${ ECHO_CMD } " SIZE ( $$ file) = ` ${ STAT } -f \"%z\" $$ file` " >> ${ DISTINFO_FILE } ; \
* 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
done \
)
1996-12-17 12:20:53 +00:00
@for file in ${ _IGNOREFILES } ; do \
2014-05-05 09:45:36 +00:00
for alg in ${ CHECKSUM_ALGORITHMS : tu } ; do \
2010-10-28 21:00:21 +00:00
${ ECHO_CMD } " $$ alg ( $$ file) = IGNORE " >> ${ DISTINFO_FILE } ; \
* 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
done ; \
1996-12-17 12:20:53 +00:00
done
1994-12-11 20:36:12 +00:00
. e n d i f
1998-09-22 23:58:49 +00:00
1995-01-04 23:06:38 +00:00
. i f ! t a r g e t ( c h e c k s u m )
* 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 : fetch check -checksum -algorithms
2013-06-13 09:32:39 +00:00
@set -e ; \
${ checksum_init } \
2010-10-28 21:00:21 +00:00
if [ -f ${ DISTINFO_FILE } ] ; then \
2007-04-02 22:44:52 +00:00
cd ${ DISTDIR } ; OK = "" ; \
* 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
for file in ${ _CKSUMFILES } ; do \
ignored = "true" ; \
2007-04-05 13:52:44 +00:00
_file = $$ { file#${ DIST_SUBDIR } /*} ; \
2014-05-05 09:45:36 +00:00
for alg in ${ CHECKSUM_ALGORITHMS : tu } ; do \
* 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
ignore = "false" ; \
eval alg_executable = \$ $$ $alg ; \
\
if [ $$ alg_executable != "NO" ] ; then \
MKSUM = ` $$ alg_executable < $$ file` ; \
2007-04-05 13:52:44 +00:00
CKSUM = ` file = $$ _file; ${ DISTINFO_DATA } ` ; \
2004-02-04 04:27:04 +00:00
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
ignore = "true" ; \
fi ; \
\
if [ $$ ignore = "false" -a -z " $$ CKSUM " ] ; then \
${ ECHO_MSG } " => No $$ alg checksum recorded for $$ file. " ; \
ignore = "true" ; \
2004-02-04 04:27:04 +00:00
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
\
if [ " $$ CKSUM " = "IGNORE" ] ; then \
${ ECHO_MSG } " => $$ alg Checksum for $$ file is set to IGNORE in distinfo file even though " ; \
${ ECHO_MSG } " the file is not in the " '$$' "{IGNOREFILES} list." ; \
ignore = "true" ; \
OK = ${ FALSE } ; \
fi ; \
\
if [ $$ ignore = "false" ] ; then \
match = "false" ; \
for chksum in $$ CKSUM; do \
if [ " $$ chksum " = " $$ MKSUM " ] ; then \
match = "true" ; \
break; \
fi ; \
done ; \
if [ $$ match = "true" ] ; then \
${ ECHO_MSG } " => $$ alg Checksum OK for $$ file. " ; \
ignored = "false" ; \
else \
${ ECHO_MSG } " => $$ alg Checksum mismatch for $$ file. " ; \
refetchlist = " $$ refetchlist $$ file " ; \
OK = " $$ {OK:-retry} " ; \
2013-08-31 01:16:24 +00:00
[ " $$ {OK} " = "retry" -a ${ FETCH_REGET } -gt 0 ] && ${ RM } -f $$ { file} ; \
* 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
ignored = "false" ; \
fi ; \
fi ; \
done ; \
\
if [ $$ ignored = "true" ] ; then \
${ ECHO_MSG } " => No suitable checksum found for $$ file. " ; \
OK = " ${ FALSE } " ; \
1995-01-22 20:40:48 +00:00
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
\
done ; \
\
for file in ${ _IGNOREFILES } ; do \
2007-04-05 13:52:44 +00:00
_file = $$ { file#${ DIST_SUBDIR } /*} ; \
* 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
ignored = "true" ; \
alreadymatched = "false" ; \
2014-05-05 09:45:36 +00:00
for alg in ${ CHECKSUM_ALGORITHMS : tu } ; do \
* 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
ignore = "false" ; \
eval alg_executable = \$ $$ $alg ; \
\
if [ $$ alg_executable != "NO" ] ; then \
2007-04-05 13:52:44 +00:00
CKSUM = ` file = $$ _file; ${ DISTINFO_DATA } ` ; \
* 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
else \
ignore = "true" ; \
fi ; \
\
if [ $$ ignore = "false" ] ; then \
if [ -z " $$ CKSUM " ] ; then \
${ ECHO_MSG } " => No $$ alg checksum for $$ file recorded (expected IGNORE) " ; \
OK = " $$ alreadymatched " ; \
elif [ $$ CKSUM != "IGNORE" ] ; then \
${ ECHO_MSG } " => $$ alg Checksum for $$ file is not set to IGNORE in distinfo file even though " ; \
${ ECHO_MSG } " the file is in the " '$$' "{IGNOREFILES} list." ; \
OK = "false" ; \
else \
ignored = "false" ; \
alreadymatched = "true" ; \
fi ; \
fi ; \
done ; \
\
if ( [ $$ ignored = "true" ] ) ; then \
${ ECHO_MSG } " => No suitable checksum found for $$ file. " ; \
1996-12-17 12:20:53 +00:00
OK = "false" ; \
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
\
done ; \
\
if [ " $$ {OK:=true} " = "retry" ] && [ ${ FETCH_REGET } -gt 0 ] ; then \
${ ECHO_MSG } " ===> Refetch for ${ FETCH_REGET } more times files: $$ refetchlist " ; \
if ( cd ${ .CURDIR } && \
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
${ MAKE } ${ .MAKEFLAGS } FORCE_FETCH = " $$ refetchlist " FETCH_REGET = " ` ${ EXPR } ${ FETCH_REGET } - 1` " fetch) ; then \
if ( cd ${ .CURDIR } && \
${ MAKE } ${ .MAKEFLAGS } FETCH_REGET = " ` ${ EXPR } ${ FETCH_REGET } - 1` " checksum ) ; then \
OK = "true" ; \
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
fi ; \
2007-08-04 11:37:24 +00:00
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
\
if [ " $$ OK " != "true" -a ${ FETCH_REGET } -eq 0 ] ; then \
${ ECHO_MSG } " ===> Giving up on fetching files: $$ refetchlist " ; \
2010-10-28 21:00:21 +00:00
${ ECHO_MSG } " Make sure the Makefile and distinfo file ( ${ DISTINFO_FILE } ) " ; \
* 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_MSG } "are up to date. If you are absolutely sure you want to override this" ; \
${ ECHO_MSG } "check, type \"make NO_CHECKSUM=yes [other args]\"." ; \
exit 1; \
fi ; \
if [ " $$ OK " != "true" ] ; then \
exit 1; \
2007-08-04 11:37:24 +00:00
fi ; \
2004-01-20 09:14:10 +00:00
elif [ -n " ${ _CKSUMFILES : M * } " ] ; then \
2010-10-28 21:00:21 +00:00
${ ECHO_MSG } " => No checksum file ( ${ DISTINFO_FILE } ). " ; \
1995-01-06 22:14:12 +00:00
fi
1994-12-11 20:36:12 +00:00
. e n d i f
1995-04-20 18:03:02 +00:00
################################################################
1995-08-18 10:06:28 +00:00
# The special package-building targets
1995-04-20 18:03:02 +00:00
# You probably won't need to touch these
################################################################
# Nobody should want to override this unless PKGNAME is simply bogus.
1995-08-18 10:06:28 +00:00
1995-04-20 18:03:02 +00:00
. i f ! t a r g e t ( p a c k a g e - n a m e )
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 }
1995-04-20 18:03:02 +00:00
. e n d i f
1994-09-09 06:21:43 +00:00
1995-04-30 12:28:43 +00:00
# Build a package but don't check the package cookie
1995-04-20 18:03:02 +00:00
. i f ! t a r g e t ( r e p a c k a g e )
1995-04-30 12:28:43 +00:00
repackage : pre -repackage package
pre-repackage :
1996-03-06 08:08:16 +00:00
@${ RM } -f ${ PACKAGE_COOKIE }
1995-04-30 12:28:43 +00:00
. e n d i f
# Build a package but don't check the cookie for installation, also don't
# install package cookie
. i f ! t a r g e t ( p a c k a g e - n o i n s t a l l )
package-noinstall :
2014-01-27 21:23:49 +00:00
. i f d e f i n e d ( N O _ S T A G E )
1998-11-11 05:21:29 +00:00
@${ MKDIR } ${ WRKDIR }
2014-01-27 21:23:49 +00:00
@cd ${ .CURDIR } && ${ MAKE } ${ _PACKAGE_REAL_SEQ }
1999-07-23 09:36:55 +00:00
@${ RM } -f ${ TMPPLIST }
1998-11-11 05:21:29 +00:00
-@${ RMDIR } ${ WRKDIR }
2014-01-27 21:23:49 +00:00
. e l s e
@cd ${ .CURDIR } && ${ MAKE } package
. e n d i f
1995-04-30 12:28:43 +00:00
. e n d i f
1995-04-20 18:03:02 +00:00
################################################################
# Dependency checking
################################################################
. i f ! t a r g e t ( d e p e n d s )
2012-01-30 12:39:14 +00:00
depends : pkg -depends extract -depends patch -depends lib -depends fetch -depends build -depends run -depends
1995-09-18 08:01:20 +00:00
1999-04-08 07:13:38 +00:00
. i f d e f i n e d ( A L W A Y S _ B U I L D _ D E P E N D S )
_DEPEND_ALWAYS = 1
. e l s e
_DEPEND_ALWAYS = 0
. e n d i f
- 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
_INSTALL_DEPENDS = \
2013-08-31 13:56:08 +00:00
if [ -n " ${ USE_PACKAGE_DEPENDS } " -o -n " ${ USE_PACKAGE_DEPENDS_ONLY } " ] ; then \
- 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
subpkgfile = ` ( cd $$ dir; ${ MAKE } $$ depends_args -V PKGFILE) ` ; \
2012-01-30 12:39:14 +00:00
subpkgname = $$ { subpkgfile%-*} ; \
subpkgname = $$ { subpkgname\# \# */} ; \
- 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 [ -r " $$ {subpkgfile} " -a " $$ target " = " ${ DEPENDS_TARGET } " ] ; then \
2007-08-04 11:37:24 +00:00
${ ECHO_MSG } " ===> Installing existing package $$ {subpkgfile} " ; \
2012-01-30 12:39:14 +00:00
if [ -n " ${ WITH_PKGNG } " -a $$ { subpkgname} = "pkg" ] ; then \
[ -d ${ WRKDIR } ] || ${ MKDIR } ${ WRKDIR } ; \
${ TAR } xf $$ { subpkgfile} -C ${ WRKDIR } -s ",/.*/,,g" "*/pkg-static" ; \
${ WRKDIR } /pkg-static add $$ { subpkgfile} ; \
${ RM } -f ${ WRKDIR } /pkg-static; \
else \
2014-03-26 04:29:36 +00:00
if [ -n " ${ WITH_PKGNG } " ] ; then \
_pkg_add_a = "-A" ; \
fi ; \
${ PKG_ADD } $$ { _pkg_add_a} $$ { subpkgfile} ; \
2012-01-30 12:39:14 +00:00
fi ; \
2013-09-03 12:50:47 +00:00
elif [ -n " ${ USE_PACKAGE_DEPENDS_ONLY } " -a " $$ {target} " = " ${ DEPENDS_TARGET } " ] ; then \
2013-08-31 13:56:08 +00:00
${ ECHO_MSG } " ===> ${ PKGNAME } depends on package: $$ {subpkgfile} - not found " ; \
2013-10-10 01:30:22 +00:00
${ ECHO_MSG } "===> USE_PACKAGE_DEPENDS_ONLY set - not building missing dependency from source" ; \
2013-08-31 13:56:08 +00:00
exit 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
else \
( cd $$ dir; ${ MAKE } -DINSTALLS_DEPENDS $$ target $$ depends_args) ; \
fi ; \
else \
( cd $$ dir; ${ MAKE } -DINSTALLS_DEPENDS $$ target $$ depends_args) ; \
2006-08-04 12:34:50 +00:00
fi ; \
2007-08-04 11:37:24 +00:00
${ ECHO_MSG } " ===> Returning to build of ${ PKGNAME } " ;
- 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
2012-01-30 12:39:14 +00:00
. f o r d e p t y p e i n P K G E X T R A C T P A T C H F E T C H B U I L D R U N
2014-05-05 09:45:36 +00:00
${deptype : tl }-depends :
2002-03-25 08:48:47 +00:00
. i f d e f i n e d ( $ { d e p t y p e } _ D E P E N D S )
1997-06-04 00:12:19 +00:00
. i f ! d e f i n e d ( N O _ D E P E N D S )
2013-06-13 11:19:10 +00:00
@set -e ; for i in ` ${ ECHO_CMD } " ${ ${ deptype } _DEPENDS } " ` ; do \
2011-06-06 05:53:51 +00:00
prog = $$ { i%%:*} ; \
2007-09-30 04:01:39 +00:00
if [ -z " $$ prog " ] ; then \
${ ECHO_MSG } " Error: there is an empty port dependency in ${ deptype } _DEPENDS. " ; \
break; \
fi ; \
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
dir = ` ${ ECHO_CMD } $$ i | ${ SED } -e 's/[^:]*://' ` ; \
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 ${ EXPR } " $$ dir " : '.*:' > /dev/null; then \
2011-06-06 05:53:51 +00:00
target = $$ { dir##*:} ; \
dir = $$ { dir%%:*} ; \
2007-06-28 16:05:08 +00:00
if [ X${ DEPENDS_PRECLEAN } != "X" ] ; then \
target = " clean $$ target " ; \
depends_args = " $$ depends_args NOCLEANDEPENDS=yes " ; \
fi ; \
if [ X${ DEPENDS_CLEAN } != "X" ] ; then \
target = " $$ target clean " ; \
depends_args = " $$ depends_args NOCLEANDEPENDS=yes " ; \
fi ; \
1995-11-26 12:35:49 +00:00
else \
1999-08-22 11:20:25 +00:00
target = " ${ DEPENDS_TARGET } " ; \
depends_args = " ${ DEPENDS_ARGS } " ; \
1995-11-26 12:35:49 +00:00
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
if ${ EXPR } " $$ prog " : \\ / >/dev/null; then \
1995-11-26 12:35:49 +00:00
if [ -e " $$ prog " ] ; then \
- 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 [ " $$ prog " = " ${ NONEXISTENT } " ] ; then \
${ ECHO_MSG } " Error: ${ NONEXISTENT } exists. Please remove it, and restart the build. " ; \
${ FALSE } ; \
1999-04-08 07:13:38 +00:00
else \
2007-08-04 11:37:24 +00:00
${ ECHO_MSG } " ===> ${ PKGNAME } depends on file: $$ prog - found " ; \
- 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 [ ${ _DEPEND_ALWAYS } = 1 ] ; then \
${ ECHO_MSG } " (but building it anyway)" ; \
notfound = 1; \
else \
notfound = 0; \
fi ; \
1999-04-08 07:13:38 +00:00
fi ; \
1995-11-26 12:35:49 +00:00
else \
2007-08-04 11:37:24 +00:00
${ ECHO_MSG } " ===> ${ PKGNAME } depends on file: $$ prog - not found " ; \
1995-11-26 12:35:49 +00:00
notfound = 1; \
fi ; \
1995-04-20 18:03:02 +00:00
else \
* Improve documentation of CONFLICTS. [1]
* Fix add-plist-docs target to work correctly with wildcards. [2]
* Fix USE_MYSQL and USE_PGSQL knobs to work in partitial ports tree. [2] [3]
* Introduce 2 new variables: USE_FAM and WANT_FAM_SYSTEM. [4]
* Suppress "Vulnerability check disabled" message if
DISABLE_VULNERABILITIES is defined. [5]
* Switch default MySQL version to 4.1 [6]
* Add support for OpenLDAP v.23. [7]
* Fix add-plist-info and add-plist-post targets to avoid warnings
from ports which redefine them. [8]
* Fix add-plist-docs target to handle NOPORTDOCS knob properly. [9]
* Use INSTALLDIRS="site" in configure for perl ports. [10]
* Fix NO_(CHECKSUM|BUILD|INSTALL|PACKAGE) knobs if OPTIONS are
defined. [11]
* Add an ability to depend on versioned installed package. [12]
Example:
BUILD_DEPENDS=p5-Tree-Simple>=1.12:${PORTSDIR}/devel/p5-Tree-Simple
Please note, it's experimental feature, work is currently in
progress.
PR: ports/81922 [1], ports/77820 [2], ports/80023 [2],
ports/78597 [2], ports/79011 [3], ports/79012 [3],
ports/81168 [4], ports/78607 [5], ports/79604 [6],
ports/80653 [7], ports/80880 [8], ports/81189 [9],
ports/78144 [10], ports/69512 [11], ports/79823 [12]
Submitted by: gerald [1], clement [2], lawrance [2], Jilles
Tjoelker <jilles at stack dot nl> [3], marcus [4],
adamw [5], ale [6], Vsevolod Stakhov <vsevolod at
highsecure.dot.ru> [7], Vasil Dimov <vd at datamax dot bg> [8],
sem [10], leeym [11], tobez [12]
2005-06-09 20:39:43 +00:00
case $$ { prog} in \
*\> *| *\< *| *= *) pkg = yes; ; \
*) pkg = "" ; ; \
esac ; \
if [ " $$ pkg " != "" ] ; then \
if ${ PKG_INFO } " $$ prog " > /dev/null 2>& 1 ; then \
2007-08-04 11:37:24 +00:00
${ ECHO_MSG } " ===> ${ PKGNAME } depends on package: $$ prog - found " ; \
* Improve documentation of CONFLICTS. [1]
* Fix add-plist-docs target to work correctly with wildcards. [2]
* Fix USE_MYSQL and USE_PGSQL knobs to work in partitial ports tree. [2] [3]
* Introduce 2 new variables: USE_FAM and WANT_FAM_SYSTEM. [4]
* Suppress "Vulnerability check disabled" message if
DISABLE_VULNERABILITIES is defined. [5]
* Switch default MySQL version to 4.1 [6]
* Add support for OpenLDAP v.23. [7]
* Fix add-plist-info and add-plist-post targets to avoid warnings
from ports which redefine them. [8]
* Fix add-plist-docs target to handle NOPORTDOCS knob properly. [9]
* Use INSTALLDIRS="site" in configure for perl ports. [10]
* Fix NO_(CHECKSUM|BUILD|INSTALL|PACKAGE) knobs if OPTIONS are
defined. [11]
* Add an ability to depend on versioned installed package. [12]
Example:
BUILD_DEPENDS=p5-Tree-Simple>=1.12:${PORTSDIR}/devel/p5-Tree-Simple
Please note, it's experimental feature, work is currently in
progress.
PR: ports/81922 [1], ports/77820 [2], ports/80023 [2],
ports/78597 [2], ports/79011 [3], ports/79012 [3],
ports/81168 [4], ports/78607 [5], ports/79604 [6],
ports/80653 [7], ports/80880 [8], ports/81189 [9],
ports/78144 [10], ports/69512 [11], ports/79823 [12]
Submitted by: gerald [1], clement [2], lawrance [2], Jilles
Tjoelker <jilles at stack dot nl> [3], marcus [4],
adamw [5], ale [6], Vsevolod Stakhov <vsevolod at
highsecure.dot.ru> [7], Vasil Dimov <vd at datamax dot bg> [8],
sem [10], leeym [11], tobez [12]
2005-06-09 20:39:43 +00:00
if [ ${ _DEPEND_ALWAYS } = 1 ] ; then \
${ ECHO_MSG } " (but building it anyway)" ; \
notfound = 1; \
else \
notfound = 0; \
fi ; \
else \
2007-08-04 11:37:24 +00:00
${ ECHO_MSG } " ===> ${ PKGNAME } depends on package: $$ prog - not found " ; \
* Improve documentation of CONFLICTS. [1]
* Fix add-plist-docs target to work correctly with wildcards. [2]
* Fix USE_MYSQL and USE_PGSQL knobs to work in partitial ports tree. [2] [3]
* Introduce 2 new variables: USE_FAM and WANT_FAM_SYSTEM. [4]
* Suppress "Vulnerability check disabled" message if
DISABLE_VULNERABILITIES is defined. [5]
* Switch default MySQL version to 4.1 [6]
* Add support for OpenLDAP v.23. [7]
* Fix add-plist-info and add-plist-post targets to avoid warnings
from ports which redefine them. [8]
* Fix add-plist-docs target to handle NOPORTDOCS knob properly. [9]
* Use INSTALLDIRS="site" in configure for perl ports. [10]
* Fix NO_(CHECKSUM|BUILD|INSTALL|PACKAGE) knobs if OPTIONS are
defined. [11]
* Add an ability to depend on versioned installed package. [12]
Example:
BUILD_DEPENDS=p5-Tree-Simple>=1.12:${PORTSDIR}/devel/p5-Tree-Simple
Please note, it's experimental feature, work is currently in
progress.
PR: ports/81922 [1], ports/77820 [2], ports/80023 [2],
ports/78597 [2], ports/79011 [3], ports/79012 [3],
ports/81168 [4], ports/78607 [5], ports/79604 [6],
ports/80653 [7], ports/80880 [8], ports/81189 [9],
ports/78144 [10], ports/69512 [11], ports/79823 [12]
Submitted by: gerald [1], clement [2], lawrance [2], Jilles
Tjoelker <jilles at stack dot nl> [3], marcus [4],
adamw [5], ale [6], Vsevolod Stakhov <vsevolod at
highsecure.dot.ru> [7], Vasil Dimov <vd at datamax dot bg> [8],
sem [10], leeym [11], tobez [12]
2005-06-09 20:39:43 +00:00
notfound = 1; \
fi ; \
- 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 [ $$ notfound != 0 ] ; then \
inverse_dep = ` ${ ECHO_CMD } $$ prog | ${ SED } \
-e 's/<=/=gt=/; s/</=ge=/; s/>=/=lt=/; s/>/=le=/' \
-e 's/=gt=/>/; s/=ge=/>=/; s/=lt=/</; s/=le=/<=/' ` ; \
pkg_info = ` ${ PKG_INFO } -E " $$ inverse_dep " || ${ TRUE } ` ; \
if [ " $$ pkg_info " != "" ] ; then \
${ ECHO_MSG } " ===> Found $$ pkg_info, but you need to upgrade to $$ prog. " ; \
exit 1; \
fi ; \
fi ; \
* Improve documentation of CONFLICTS. [1]
* Fix add-plist-docs target to work correctly with wildcards. [2]
* Fix USE_MYSQL and USE_PGSQL knobs to work in partitial ports tree. [2] [3]
* Introduce 2 new variables: USE_FAM and WANT_FAM_SYSTEM. [4]
* Suppress "Vulnerability check disabled" message if
DISABLE_VULNERABILITIES is defined. [5]
* Switch default MySQL version to 4.1 [6]
* Add support for OpenLDAP v.23. [7]
* Fix add-plist-info and add-plist-post targets to avoid warnings
from ports which redefine them. [8]
* Fix add-plist-docs target to handle NOPORTDOCS knob properly. [9]
* Use INSTALLDIRS="site" in configure for perl ports. [10]
* Fix NO_(CHECKSUM|BUILD|INSTALL|PACKAGE) knobs if OPTIONS are
defined. [11]
* Add an ability to depend on versioned installed package. [12]
Example:
BUILD_DEPENDS=p5-Tree-Simple>=1.12:${PORTSDIR}/devel/p5-Tree-Simple
Please note, it's experimental feature, work is currently in
progress.
PR: ports/81922 [1], ports/77820 [2], ports/80023 [2],
ports/78597 [2], ports/79011 [3], ports/79012 [3],
ports/81168 [4], ports/78607 [5], ports/79604 [6],
ports/80653 [7], ports/80880 [8], ports/81189 [9],
ports/78144 [10], ports/69512 [11], ports/79823 [12]
Submitted by: gerald [1], clement [2], lawrance [2], Jilles
Tjoelker <jilles at stack dot nl> [3], marcus [4],
adamw [5], ale [6], Vsevolod Stakhov <vsevolod at
highsecure.dot.ru> [7], Vasil Dimov <vd at datamax dot bg> [8],
sem [10], leeym [11], tobez [12]
2005-06-09 20:39:43 +00:00
elif ${ WHICH } " $$ prog " > /dev/null 2>& 1 ; then \
2007-08-04 11:37:24 +00:00
${ ECHO_MSG } " ===> ${ PKGNAME } depends on executable: $$ prog - found " ; \
1999-04-08 07:13:38 +00:00
if [ ${ _DEPEND_ALWAYS } = 1 ] ; then \
${ ECHO_MSG } " (but building it anyway)" ; \
notfound = 1; \
else \
notfound = 0; \
fi ; \
1995-11-26 12:35:49 +00:00
else \
2007-08-04 11:37:24 +00:00
${ ECHO_MSG } " ===> ${ PKGNAME } depends on executable: $$ prog - not found " ; \
1995-11-26 12:35:49 +00:00
notfound = 1; \
fi ; \
fi ; \
if [ $$ notfound != 0 ] ; then \
1998-08-12 01:47:47 +00:00
${ ECHO_MSG } " ===> Verifying $$ target for $$ prog in $$ dir " ; \
1995-04-20 18:03:02 +00:00
if [ ! -d " $$ dir " ] ; then \
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
${ ECHO_MSG } " => No directory for $$ prog. Skipping.. " ; \
1995-04-20 18:03:02 +00:00
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
${ _INSTALL_DEPENDS } \
1995-04-20 18:03:02 +00:00
fi ; \
fi ; \
1994-09-10 22:26:47 +00:00
done
1994-09-11 12:55:54 +00:00
. e n d i f
1995-04-20 18:03:02 +00:00
. e l s e
@${ DO_NADA }
1994-08-21 13:12:57 +00:00
. e n d i f
2002-03-25 08:48:47 +00:00
. e n d f o r
1995-09-18 08:01:20 +00:00
lib-depends :
* pkg-comment removal, take 2: introduce the COMMENTFILE variable
with the same semantics as the current COMMENT variable (location
of the pkg-comment file), and reclaim COMMENT for the comment string
itself. To work around the problems with metacharacters in comment
strings, comments are written to a temporary comment file as needed. [1]
* Support regexps in LIB_DEPENDS [2]
* Move the CD_MOUNTPTS variable to <bsd.port.pre.mk> [3]
* Improve 'make readmes' target [4]:
- ^A and ^B have been replaced by | to avoid printing problems in
'make readme'.
- Add %%EMAIL%%, %%MAINTAINER%% (not used yet) and %%WEBSITE%%
substitutions
- Add pretty-print-www-site target.
* Add support for USE_GCC=3.2 [5]
* Use 'uname -p' instead of 'uname -m' to set the ARCH variable. [6]
* Add a ${YACC} variable [7]
* Path MANPREFIX in MAKE_ENV [8]
* Use the full patch to mkhtmlindex in MKHTMLINDEX [9]
* Avoid overflowing the commandline when constructing the _TMLINKS
variable (fixes 'make index'). [10]
Submitted by: lioux [1], mi [2], mbr [3][5],
Cyrille Lefevre <clefevre@citeweb.net> [4],
nyan [6], cy [7], dougb [8], anholt [9],
fenner [10] (based on)
PR: ports/34126 [2], ports/30983 [3] (based on),
ports/31389 [4], ports/47306 [5] (based on),
ports/35514 [6], ports/44496 [7],
ports/44895 [8], ports/45549 [9]
2003-02-10 07:59:22 +00:00
. i f d e f i n e d ( L I B _ D E P E N D S ) & & ! d e f i n e d ( N O _ D E P E N D S )
2013-07-05 14:10:55 +00:00
@set -e ; \
for i in ${ LIB_DEPENDS : M *.so* \: * } ; do \
lib = $$ { i%%:*} ; \
dir = $$ { i#*:} ; \
target = " ${ DEPENDS_TARGET } " ; \
depends_args = " ${ DEPENDS_ARGS } " ; \
2013-07-29 20:12:43 +00:00
${ ECHO_MSG } -n " ===> ${ PKGNAME } depends on shared library: $$ {lib} " ; \
2013-07-05 14:10:55 +00:00
found = 0 ; \
dirs = " ${ LIB_DIRS } ` ${ CAT } ${ LOCALBASE } /libdata/ldconfig/* 2>/dev/null || : ` " ; \
for libdir in $$ dirs; do \
test -f $$ { libdir} /$$ { lib} || continue ; \
if [ -x /usr/bin/file ] ; then \
2013-09-08 19:28:29 +00:00
_LIB_FILE = ` realpath $$ { libdir} /$$ { lib} ` ; \
[ ` file -b -L --mime-type $$ { _LIB_FILE} ` = "application/x-sharedlib" ] || continue ; \
2013-07-05 14:10:55 +00:00
fi ; \
found = 1 ; \
${ ECHO_MSG } " - found" ; \
done ; \
if [ $$ { found} -eq 0 ] ; then \
${ ECHO_MSG } " - not found" ; \
${ ECHO_MSG } " ===> Verifying for $$ lib in $$ dir " ; \
if [ ! -d " $$ dir " ] ; then \
${ ECHO_MSG } " => No directory for $$ lib. Skipping.. " ; \
else \
${ _INSTALL_DEPENDS } \
fi ; \
fi ; \
done
@set -e ; for i in ${ LIB_DEPENDS : N *.so* \: * } ; do \
* pkg-comment removal, take 2: introduce the COMMENTFILE variable
with the same semantics as the current COMMENT variable (location
of the pkg-comment file), and reclaim COMMENT for the comment string
itself. To work around the problems with metacharacters in comment
strings, comments are written to a temporary comment file as needed. [1]
* Support regexps in LIB_DEPENDS [2]
* Move the CD_MOUNTPTS variable to <bsd.port.pre.mk> [3]
* Improve 'make readmes' target [4]:
- ^A and ^B have been replaced by | to avoid printing problems in
'make readme'.
- Add %%EMAIL%%, %%MAINTAINER%% (not used yet) and %%WEBSITE%%
substitutions
- Add pretty-print-www-site target.
* Add support for USE_GCC=3.2 [5]
* Use 'uname -p' instead of 'uname -m' to set the ARCH variable. [6]
* Add a ${YACC} variable [7]
* Path MANPREFIX in MAKE_ENV [8]
* Use the full patch to mkhtmlindex in MKHTMLINDEX [9]
* Avoid overflowing the commandline when constructing the _TMLINKS
variable (fixes 'make index'). [10]
Submitted by: lioux [1], mi [2], mbr [3][5],
Cyrille Lefevre <clefevre@citeweb.net> [4],
nyan [6], cy [7], dougb [8], anholt [9],
fenner [10] (based on)
PR: ports/34126 [2], ports/30983 [3] (based on),
ports/31389 [4], ports/47306 [5] (based on),
ports/35514 [6], ports/44496 [7],
ports/44895 [8], ports/45549 [9]
2003-02-10 07:59:22 +00:00
lib = $$ { i%%:*} ; \
2008-04-14 16:46:41 +00:00
pattern = " ` ${ ECHO_CMD } $$ lib | ${ SED } -E -e 's/\./\\\\./g' -e 's/(\\\\)?\+/\\\\+/g'` " \
* pkg-comment removal, take 2: introduce the COMMENTFILE variable
with the same semantics as the current COMMENT variable (location
of the pkg-comment file), and reclaim COMMENT for the comment string
itself. To work around the problems with metacharacters in comment
strings, comments are written to a temporary comment file as needed. [1]
* Support regexps in LIB_DEPENDS [2]
* Move the CD_MOUNTPTS variable to <bsd.port.pre.mk> [3]
* Improve 'make readmes' target [4]:
- ^A and ^B have been replaced by | to avoid printing problems in
'make readme'.
- Add %%EMAIL%%, %%MAINTAINER%% (not used yet) and %%WEBSITE%%
substitutions
- Add pretty-print-www-site target.
* Add support for USE_GCC=3.2 [5]
* Use 'uname -p' instead of 'uname -m' to set the ARCH variable. [6]
* Add a ${YACC} variable [7]
* Path MANPREFIX in MAKE_ENV [8]
* Use the full patch to mkhtmlindex in MKHTMLINDEX [9]
* Avoid overflowing the commandline when constructing the _TMLINKS
variable (fixes 'make index'). [10]
Submitted by: lioux [1], mi [2], mbr [3][5],
Cyrille Lefevre <clefevre@citeweb.net> [4],
nyan [6], cy [7], dougb [8], anholt [9],
fenner [10] (based on)
PR: ports/34126 [2], ports/30983 [3] (based on),
ports/31389 [4], ports/47306 [5] (based on),
ports/35514 [6], ports/44496 [7],
ports/44895 [8], ports/45549 [9]
2003-02-10 07:59:22 +00:00
dir = $$ { i#*:} ; \
target = $$ { i##*:} ; \
if ${ TEST } $$ dir = $$ target; then \
1999-08-22 11:20:25 +00:00
target = " ${ DEPENDS_TARGET } " ; \
depends_args = " ${ DEPENDS_ARGS } " ; \
* pkg-comment removal, take 2: introduce the COMMENTFILE variable
with the same semantics as the current COMMENT variable (location
of the pkg-comment file), and reclaim COMMENT for the comment string
itself. To work around the problems with metacharacters in comment
strings, comments are written to a temporary comment file as needed. [1]
* Support regexps in LIB_DEPENDS [2]
* Move the CD_MOUNTPTS variable to <bsd.port.pre.mk> [3]
* Improve 'make readmes' target [4]:
- ^A and ^B have been replaced by | to avoid printing problems in
'make readme'.
- Add %%EMAIL%%, %%MAINTAINER%% (not used yet) and %%WEBSITE%%
substitutions
- Add pretty-print-www-site target.
* Add support for USE_GCC=3.2 [5]
* Use 'uname -p' instead of 'uname -m' to set the ARCH variable. [6]
* Add a ${YACC} variable [7]
* Path MANPREFIX in MAKE_ENV [8]
* Use the full patch to mkhtmlindex in MKHTMLINDEX [9]
* Avoid overflowing the commandline when constructing the _TMLINKS
variable (fixes 'make index'). [10]
Submitted by: lioux [1], mi [2], mbr [3][5],
Cyrille Lefevre <clefevre@citeweb.net> [4],
nyan [6], cy [7], dougb [8], anholt [9],
fenner [10] (based on)
PR: ports/34126 [2], ports/30983 [3] (based on),
ports/31389 [4], ports/47306 [5] (based on),
ports/35514 [6], ports/44496 [7],
ports/44895 [8], ports/45549 [9]
2003-02-10 07:59:22 +00:00
else \
dir = $$ { dir%%:*} ; \
1997-06-04 00:12:19 +00:00
fi ; \
2007-08-04 11:37:24 +00:00
${ ECHO_MSG } -n " ===> ${ PKGNAME } depends on shared library: $$ lib " ; \
if ${ LDCONFIG } ${ _LDCONFIG_FLAGS } -r | ${ GREP } -vwF -e " ${ PKGCOMPATDIR } " | ${ GREP } -qwE -e " -l $$ pattern " ; then \
${ ECHO_MSG } " - found" ; \
if [ ${ _DEPEND_ALWAYS } = 1 ] ; then \
${ ECHO_MSG } " (but building it anyway)" ; \
2006-08-04 12:34:50 +00:00
notfound = 1; \
else \
2007-08-04 11:37:24 +00:00
notfound = 0; \
2006-08-04 12:34:50 +00:00
fi ; \
2007-08-04 11:37:24 +00:00
else \
${ ECHO_MSG } " - not found" ; \
notfound = 1; \
1999-04-08 07:13:38 +00:00
fi ; \
if [ $$ notfound != 0 ] ; then \
1998-08-12 01:47:47 +00:00
${ ECHO_MSG } " ===> Verifying $$ target for $$ lib in $$ dir " ; \
1995-04-20 18:03:02 +00:00
if [ ! -d " $$ dir " ] ; then \
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
${ ECHO_MSG } " => No directory for $$ lib. Skipping.. " ; \
1995-04-20 18:03:02 +00:00
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
${ _INSTALL_DEPENDS } \
2007-07-27 21:40:11 +00:00
if ! ${ LDCONFIG } ${ _LDCONFIG_FLAGS } -r | ${ GREP } -vwF -e " ${ PKGCOMPATDIR } " | ${ GREP } -qwE -e " -l $$ pattern " ; then \
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 } " Error: shared library \" $$ lib\" does not exist " ; \
${ FALSE } ; \
fi ; \
1995-04-20 18:03:02 +00:00
fi ; \
fi ; \
done
. e n d i f
1994-08-24 14:49:33 +00:00
1994-11-21 10:30:37 +00:00
. e n d i f
1994-08-21 13:12:57 +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
# Dependency lists: both build and runtime, recursive. Print out directory names.
2000-03-03 01:23:49 +00:00
2012-01-30 12:39:14 +00:00
_UNIFIED_DEPENDS = ${ PKG_DEPENDS } ${ EXTRACT_DEPENDS } ${ PATCH_DEPENDS } ${ FETCH_DEPENDS } ${ BUILD_DEPENDS } ${ LIB_DEPENDS } ${ RUN_DEPENDS }
bsd.port.mk
[1] Remove DEPENDS
[2] Add a new pkg-plist keyword @stopdaemon
[3] Provide rc.subr script suffix as RC_SUBR_SUFFIX
[4] Add USE_CDRTOOLS to abstract dependency on sysutils/cdrtool[-cjk]
[5] Add DOS2UNIX_REGEX, allowing to pass a filename regex to CRLF replacement
routine
[6] Support partially translated manpages in MAN* variables
[7] Fix USE_LDCONFIG on ports with @cwd in pkg-plist
[8] Remove support for XFree86 3.X
[9] Add user settable WITH_DEBUG flag that turns on -g in CFLAGS and resets
STRIP
[9] Fix `make install' to refuse overwriting of older version of the port
[10] New category ports-mgmt
[11] New category gnustep
[12] Removed category picobsd
bsd.java.mk
[13] Remove deprecated syntax
bsd.tcl.mk
[14] Provide TCL_VER when USE_TK[_BUILD] is defined. Fixes cad/netgen
ports/Makefile
[15] Make csup default `make update' method on FreeBSD 6.2 and up
PR: ports/99742 [1], ports/93373 [2], ports/100915 [3],
ports/105161 [4], ports/106029 [5], ports/106252 [6],
ports/106235 [7], ports/100939 [9], ports/97507 [10],
ports/103931 [11], ports/106921 [12], ports/104136 [13],
ports/105215 [15]
Submitted by: sem [1] [2], Matthias Andree <matthias.andree@gmx.de> [3],
nork [4], pav [5] [7] [14], Nick Barkas <snb@threerings.net> [6],
flz [8], gabor [9], shaun [10], erwin [12], hq [13],
Gurkan Sengun <gurkan@linuks.mine.nu> [11]
2007-01-31 14:07:24 +00:00
_DEPEND_DIRS = ${ _UNIFIED_DEPENDS : C ,^[^ : ]* : ([^ : ]*).* $, \1 , }
2013-03-21 07:34:50 +00:00
_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
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 }
2000-03-03 01:23:49 +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
ALL-DEPENDS-LIST = \
- 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
L = " ${ _DEPEND_DIRS } " ; \
checked = "" ; \
while [ -n " $$ L " ] ; do \
l = "" ; \
for d in $$ L; do \
case $$ checked in \
$$ d\ *| *\ $$ d\ *| *\ $$ d) \
continue ; ; \
esac ; \
checked = " $$ checked $$ d " ; \
if [ ! -d $$ d ] ; then \
${ ECHO_MSG } " ${ PKGNAME } : \" $$ d\" non-existent -- dependency list incomplete " >& 2; \
continue ; \
fi ; \
${ ECHO_CMD } $$ d; \
2006-01-23 22:29:26 +00:00
if ! children = $$ ( cd $$ d && ${ MAKE } -V _DEPEND_DIRS) ; then \
- 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 } : \" $$ d\" erroneous -- dependency list incomplete " >& 2; \
continue ; \
fi ; \
for child in $$ children; do \
case " $$ checked $$ l " in \
$$ child\ *| *\ $$ child\ *| *\ $$ child) \
continue ; ; \
esac ; \
l = " $$ l $$ child " ; \
done ; \
done ; \
L = $$ l; \
done
2000-03-03 01:23:49 +00:00
2007-06-28 16:05:08 +00:00
CLEAN-DEPENDS-FULL = \
L = " ${ _DEPEND_DIRS } " ; \
checked = "" ; \
while [ -n " $$ L " ] ; do \
l = "" ; \
for d in $$ L; do \
case $$ checked in \
$$ d\ *| *\ $$ d\ *| *\ $$ d) \
continue ; ; \
esac ; \
checked = " $$ checked $$ d " ; \
if [ ! -d $$ d ] ; then \
${ ECHO_MSG } " ${ PKGNAME } : \" $$ d\" non-existent -- dependency list incomplete " >& 2; \
continue ; \
fi ; \
if ! children = $$ ( cd $$ d && ${ MAKE } -V WRKDIR -V _DEPEND_DIRS) ; then \
${ ECHO_MSG } " ${ PKGNAME } : \" $$ d\" erroneous -- dependency list incomplete " >& 2; \
continue ; \
fi ; \
state = 0; \
for child in $$ children; do \
case $$ state in \
0) \
2007-10-03 22:24:59 +00:00
if [ -d $$ child ] ; then \
2007-06-28 16:05:08 +00:00
${ ECHO_CMD } $$ d; \
fi ; \
state = 1; ; \
1) \
case " $$ checked $$ l " in \
$$ child\ *| *\ $$ child\ *| *\ $$ child) \
continue ; ; \
esac ; \
l = " $$ l $$ child " ; ; \
esac ; \
done ; \
done ; \
L = $$ l; \
done
CLEAN-DEPENDS-LIMITED = \
L = " ${ _DEPEND_DIRS } " ; \
checked = "" ; \
while [ -n " $$ L " ] ; do \
l = "" ; \
for d in $$ L; do \
case $$ checked in \
$$ d\ *| *\ $$ d\ *| *\ $$ d) \
continue ; ; \
esac ; \
checked = " $$ checked $$ d " ; \
if [ ! -d $$ d ] ; then \
${ ECHO_MSG } " ${ PKGNAME } : \" $$ d\" non-existent -- dependency list incomplete " >& 2; \
continue ; \
fi ; \
if ! children = $$ ( cd $$ d && ${ MAKE } -V WRKDIR -V _DEPEND_DIRS) ; then \
${ ECHO_MSG } " ${ PKGNAME } : \" $$ d\" erroneous -- dependency list incomplete " >& 2; \
continue ; \
fi ; \
state = 0; \
for child in $$ children; do \
case $$ state in \
0) \
2007-10-03 22:24:59 +00:00
if [ ! -d $$ child ] ; then \
2007-06-28 16:05:08 +00:00
break; \
fi ; \
state = 1; \
${ ECHO_CMD } $$ d; ; \
1) \
case " $$ checked $$ l " in \
$$ child\ *| *\ $$ child\ *| *\ $$ child) \
continue ; ; \
esac ; \
l = " $$ l $$ child " ; ; \
esac ; \
done ; \
done ; \
L = $$ l; \
done
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
. i f ! t a r g e t ( c l e a n - d e p e n d s )
clean-depends :
2007-06-28 16:05:08 +00:00
@for dir in $$ ( ${ CLEAN -DEPENDS-FULL } ) ; do \
( cd $$ dir; ${ MAKE } NOCLEANDEPENDS = yes clean) ; \
done
. e n d i f
. i f ! t a r g e t ( l i m i t e d - c l e a n - d e p e n d s )
limited-clean-depends :
@for dir in $$ ( ${ CLEAN -DEPENDS-LIMITED } ) ; do \
2000-03-03 01:23:49 +00:00
( cd $$ dir; ${ MAKE } NOCLEANDEPENDS = yes clean) ; \
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
done
1996-12-09 07:08:16 +00:00
. e n d i f
(1) There is no default "orphans" for CATEGORIES, it simply fails if
you have a Makefile without one.
(2) Fix case when user had DISTDIR defined elsewhere and DIST_SUBDIR
is also defined. (Submitted by: max)
(3) Add several popular master sites as variables. For instance,
MASTER_SITE_XCONTRIB is defined to be a list of X11R6 contrib sites,
which you can set MASTER_SITES to in your Makefile if you just
want ftp.x.org or any of the mirror sites.
There is also a new variable, MASTER_SITE_SUBDIR, to specify which
subdirectory of the master site your tarball is located.
One nice thing this enables the user to do is to define the
nearest mirror site in /etc/make.conf. This is especially useful
for continents without a full FreeBSD master site.
Eventually, we will probably split this into a separate file
(bsd.port.sites.mk?), and add some more sites from all corners of
the world.
Right now, XCONTRIB, GNU, PERL_CPAN, TEX_CTAN, and SUNSITE are
supported.
(4) COMPRESS_MAN command alias is replaced by MAN[1-9LN] variables.
You just say "MAN1=foo.1 bar.1" and the make rules will
automatically compress it for you if necessary. (Idea by: obrien)
(5) New "distclean" target to delete distfile too. (Submitted by:
obrien)
(6) Chained dependency cleaning, can be turned off by NOCLEANDEPENDS.
Reviewed by: the ports list
1996-11-13 11:37:40 +00:00
2000-08-25 10:17:39 +00:00
. i f ! t a r g e t ( d e i n s t a l l - d e p e n d s )
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
. e n d i f
2013-03-21 07:34:50 +00:00
. i f ! t a r g e t ( f e t c h - s p e c i a l s )
fetch-specials :
@${ ECHO_MSG } " ===> Fetching all distfiles required by ${ PKGNAME } for building "
@for dir in ${ _DEPEND_SPECIALS } ; do \
( cd $$ dir; ${ MAKE } fetch) ; \
done
. e n d i f
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
. i f ! t a r g e t ( f e t c h - r e c u r s i v e )
fetch-recursive :
@${ ECHO_MSG } " ===> Fetching all distfiles for ${ PKGNAME } and dependencies "
@for dir in ${ .CURDIR } $$ ( ${ ALL -DEPENDS-LIST } ) ; do \
( cd $$ dir; ${ MAKE } fetch) ; \
done
. e n d i f
. i f ! t a r g e t ( f e t c h - r e c u r s i v e - l i s t )
fetch-recursive-list :
@for dir in ${ .CURDIR } $$ ( ${ ALL -DEPENDS-LIST } ) ; do \
( cd $$ dir; ${ MAKE } fetch-list) ; \
done
. e n d i f
2007-04-02 22:44:52 +00:00
# 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:${PORTSDIR}/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 \
*:*) 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 ; \
2010-10-29 12:41:29 +00:00
echo cd $$ dir; cd $$ dir; ${ MAKE } $$ targ; \
2007-04-02 22:44:52 +00:00
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
. i f ! t a r g e t ( f e t c h - r e q u i r e d )
- 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
2007-04-02 22:44:52 +00:00
. i f d e f i n e d ( N O _ D E P E N D S )
2011-11-07 12:44:42 +00:00
@${ ECHO_MSG } " ===> NO_DEPENDS is set, not fetching any other distfiles for ${ PKGNAME } "
2007-04-02 22:44:52 +00:00
. e l s e
* 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 "
2012-01-30 12:39:14 +00:00
. f o r d e p t y p e i n P K G E X T R A C T P A T C H F E T C H B U I L D R U N
- 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
. i f d e f i n e d ( $ { d e p t y p e } _ D E P E N D S )
2007-04-02 22:44:52 +00:00
@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
. e n d i f
. e n d f o r
. e n d i f
* 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
2007-04-02 22:44:52 +00:00
. e n d i f
* 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
. i f ! t a r g e t ( f e t c h - r e q u i r e d - l i s t )
- 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
2007-04-02 22:44:52 +00:00
. i f ! d e f i n e d ( N O _ D E P E N D S )
2012-01-30 12:39:14 +00:00
. f o r d e p t y p e i n P K G E X T R A C T P A T C H F E T C H B U I L D R U N
- 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
. i f d e f i n e d ( $ { d e p t y p e } _ D E P E N D S )
2007-04-02 22:44:52 +00:00
@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
. e n d i f
. e n d f o r
. e n d i f
2007-04-02 22:44:52 +00:00
. e n d i f
* 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
. i f ! t a r g e t ( c h e c k s u m - r e c u r s i v e )
checksum-recursive :
@${ ECHO_MSG } " ===> Fetching and checking checksums for ${ PKGNAME } and dependencies "
@for dir in ${ .CURDIR } $$ ( ${ ALL -DEPENDS-LIST } ) ; do \
( cd $$ dir; ${ MAKE } checksum) ; \
2000-08-25 10:17:39 +00:00
done
. e n d i f
1998-12-12 07:39:30 +00:00
# Dependency lists: build and runtime. Print out directory names.
build-depends-list :
2012-01-30 12:39:14 +00:00
. i f d e f i n e d ( P K G _ D E P E N D S ) | | d e f i n e d ( E X T R A C T _ D E P E N D S ) | | d e f i n e d ( P A T C H _ D E P E N D S ) | | d e f i n e d ( F E T C H _ D E P E N D S ) | | d e f i n e d ( B U I L D _ D E P E N D S ) | | d e f i n e d ( L I B _ D E P E N D S )
1999-07-23 09:36:55 +00:00
@${ BUILD -DEPENDS-LIST }
2004-02-04 04:27:04 +00:00
. e n d i f
1999-07-23 09:36:55 +00:00
BUILD-DEPENDS-LIST = \
2012-01-30 12:39:14 +00:00
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 \
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 $$ dir ] ; 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 } $$ dir; \
1998-12-12 07:39:30 +00:00
else \
${ ECHO_MSG } " ${ PKGNAME } : \" $$ dir\" non-existent -- dependency list incomplete " >& 2; \
fi ; \
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
done | ${ SORT } -u
1998-12-12 07:39:30 +00:00
run-depends-list :
bsd.port.mk
[1] Remove DEPENDS
[2] Add a new pkg-plist keyword @stopdaemon
[3] Provide rc.subr script suffix as RC_SUBR_SUFFIX
[4] Add USE_CDRTOOLS to abstract dependency on sysutils/cdrtool[-cjk]
[5] Add DOS2UNIX_REGEX, allowing to pass a filename regex to CRLF replacement
routine
[6] Support partially translated manpages in MAN* variables
[7] Fix USE_LDCONFIG on ports with @cwd in pkg-plist
[8] Remove support for XFree86 3.X
[9] Add user settable WITH_DEBUG flag that turns on -g in CFLAGS and resets
STRIP
[9] Fix `make install' to refuse overwriting of older version of the port
[10] New category ports-mgmt
[11] New category gnustep
[12] Removed category picobsd
bsd.java.mk
[13] Remove deprecated syntax
bsd.tcl.mk
[14] Provide TCL_VER when USE_TK[_BUILD] is defined. Fixes cad/netgen
ports/Makefile
[15] Make csup default `make update' method on FreeBSD 6.2 and up
PR: ports/99742 [1], ports/93373 [2], ports/100915 [3],
ports/105161 [4], ports/106029 [5], ports/106252 [6],
ports/106235 [7], ports/100939 [9], ports/97507 [10],
ports/103931 [11], ports/106921 [12], ports/104136 [13],
ports/105215 [15]
Submitted by: sem [1] [2], Matthias Andree <matthias.andree@gmx.de> [3],
nork [4], pav [5] [7] [14], Nick Barkas <snb@threerings.net> [6],
flz [8], gabor [9], shaun [10], erwin [12], hq [13],
Gurkan Sengun <gurkan@linuks.mine.nu> [11]
2007-01-31 14:07:24 +00:00
. i f d e f i n e d ( L I B _ D E P E N D S ) | | d e f i n e d ( R U N _ D E P E N D S )
1999-07-23 09:36:55 +00:00
@${ RUN -DEPENDS-LIST }
2004-02-04 04:27:04 +00:00
. e n d i f
1999-07-23 09:36:55 +00:00
RUN-DEPENDS-LIST = \
2007-04-02 22:44:52 +00:00
for dir in $$ ( ${ ECHO_CMD } " ${ _LIB_RUN_DEPENDS : C ,.* : ([^ : ]*).*, \1 , } " | ${ SED } -e 'y/ /\n/' | ${ SORT } -u) ; do \
1998-12-12 07:39:30 +00:00
if [ -d $$ dir ] ; 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 } $$ dir; \
1998-12-12 07:39:30 +00:00
else \
${ ECHO_MSG } " ${ PKGNAME } : \" $$ dir\" non-existent -- dependency list incomplete " >& 2; \
fi ; \
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
done | ${ SORT } -u
1998-12-12 07:39:30 +00:00
2002-03-25 08:48:47 +00:00
# Package (recursive runtime) dependency list. Print out both directory names
# and package names.
2000-03-03 01:23:49 +00:00
package-depends-list :
bsd.port.mk
[1] Remove DEPENDS
[2] Add a new pkg-plist keyword @stopdaemon
[3] Provide rc.subr script suffix as RC_SUBR_SUFFIX
[4] Add USE_CDRTOOLS to abstract dependency on sysutils/cdrtool[-cjk]
[5] Add DOS2UNIX_REGEX, allowing to pass a filename regex to CRLF replacement
routine
[6] Support partially translated manpages in MAN* variables
[7] Fix USE_LDCONFIG on ports with @cwd in pkg-plist
[8] Remove support for XFree86 3.X
[9] Add user settable WITH_DEBUG flag that turns on -g in CFLAGS and resets
STRIP
[9] Fix `make install' to refuse overwriting of older version of the port
[10] New category ports-mgmt
[11] New category gnustep
[12] Removed category picobsd
bsd.java.mk
[13] Remove deprecated syntax
bsd.tcl.mk
[14] Provide TCL_VER when USE_TK[_BUILD] is defined. Fixes cad/netgen
ports/Makefile
[15] Make csup default `make update' method on FreeBSD 6.2 and up
PR: ports/99742 [1], ports/93373 [2], ports/100915 [3],
ports/105161 [4], ports/106029 [5], ports/106252 [6],
ports/106235 [7], ports/100939 [9], ports/97507 [10],
ports/103931 [11], ports/106921 [12], ports/104136 [13],
ports/105215 [15]
Submitted by: sem [1] [2], Matthias Andree <matthias.andree@gmx.de> [3],
nork [4], pav [5] [7] [14], Nick Barkas <snb@threerings.net> [6],
flz [8], gabor [9], shaun [10], erwin [12], hq [13],
Gurkan Sengun <gurkan@linuks.mine.nu> [11]
2007-01-31 14:07:24 +00:00
. i f d e f i n e d ( C H I L D _ D E P E N D S ) | | d e f i n e d ( L I B _ D E P E N D S ) | | d e f i n e d ( R U N _ D E P E N D S )
2000-03-03 01:23:49 +00:00
@${ PACKAGE -DEPENDS-LIST }
2004-02-04 04:27:04 +00:00
. e n d i f
2000-03-03 01:23:49 +00:00
2007-04-02 22:44:52 +00:00
_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 ?= \
2002-03-25 08:48:47 +00:00
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 ; \
2002-03-25 08:48:47 +00:00
fi ; \
2000-03-03 01:23:49 +00:00
checked = " ${ PARENT_CHECKED } " ; \
2007-04-02 22:44:52 +00:00
for dir in ${ _LIB_RUN_DEPENDS : C ,[^ : ]* : ([^ : ]*) : ?.*, \1 , } ; do \
2003-09-03 19:50:24 +00:00
dir = $$ ( ${ REALPATH } $$ dir) ; \
1998-12-12 07:39:30 +00:00
if [ -d $$ dir ] ; then \
2007-04-02 22:44:52 +00:00
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 " ; \
2007-06-16 19:07:42 +00:00
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 ; \
2002-03-25 08:48:47 +00:00
done
2000-03-03 01:23:49 +00:00
2007-06-16 19:07:42 +00:00
ACTUAL-PACKAGE-DEPENDS ?= \
if [ " ${ _LIB_RUN_DEPENDS } " != " " ] ; then \
2007-06-28 15:53:04 +00:00
origins = $$ ( for pkgname in ${ PKG_DBDIR } /*; do \
2007-06-16 19:07:42 +00:00
if [ -e $$ pkgname/+CONTENTS ] ; then \
2007-06-28 15:53:04 +00:00
${ ECHO_CMD } $$ { pkgname\# \# */} ; \
${ SED } -n -e "s/@comment ORIGIN://p" $$ pkgname/+CONTENTS; \
2007-06-16 19:07:42 +00:00
fi ; \
2007-06-28 15:53:04 +00:00
done ) ; \
2007-06-16 19:07:42 +00:00
for dir in ${ _LIB_RUN_DEPENDS : C ,[^ : ]* : ([^ : ]*) : ?.*, \1 , } ; do \
2011-02-16 10:43:53 +00:00
tmp = $$ { dir\# ${ PORTSDIR } /} ; \
if [ " $$ tmp " = " $$ dir " ] ; then \
tmp = $$ { dir%/*} ; \
dir = $$ { tmp\# \# */} /$$ { dir\# \# */} ; \
else \
dir = $$ tmp; \
fi ; \
2007-06-16 19:07:42 +00:00
set -- $$ origins; \
2007-06-28 15:53:04 +00:00
while [ $$ \# -gt 1 ] ; do \
2007-10-03 22:24:59 +00:00
if [ ! -d " ${ PORTSDIR } / $$ 2 " ] ; then \
shift; \
continue ; \
fi ; \
2007-06-28 15:53:04 +00:00
if [ " $$ dir " = " $$ 2 " ] ; then \
2007-06-16 19:07:42 +00:00
${ ECHO_CMD } $$ 1:$$ dir; \
2007-06-28 15:53:04 +00:00
if [ -e ${ PKG_DBDIR } /$$ 1/+CONTENTS -a -z " ${ EXPLICIT_PACKAGE_DEPENDS } " ] ; then \
2007-06-16 19:07:42 +00:00
packagelist = " $$ packagelist ${ PKG_DBDIR } / $$ 1/+CONTENTS " ; \
fi ; \
break; \
fi ; \
shift 2; \
done ; \
done ; \
[ -z " $$ packagelist " ] || ${ AWK } -F '( |:)' 'BEGIN { pkgname="broken_contents" } /@pkgdep / { pkgname=$$2 } /@comment DEPORIGIN:/ { printf "%s:%s\n", pkgname, $$3; pkgname="broken_contents" }' $$ packagelist; \
fi
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.
2000-03-03 01:23:49 +00:00
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}'
1996-03-06 08:14:26 +00:00
2007-06-16 19:07:42 +00:00
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 \
2014-01-27 21:54:50 +00:00
( 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
2011-03-18 01:43:49 +00:00
# Show missing dependencies
* Change all bogus uses of BROKEN to IGNORE. Note: the BROKEN_WITH_*
forms are retained for compatibility but deprecated [1]
* Add sha256 to CHECKSUM_ALGORITHMS [2]
* Remove some whitespace [2]
* Add USE_SCONS and bsd.scons.mk for the Python-based SCons build system [3]
* Fix USE_LDCONFIG with non-default PREFIX [4]
* Add USE_WX and friends, and bsd.wx.mk, for common code for WxWidgets
support [5]
* Add 'make missing' to show missing dependencies [6]
* Fix DESKTOP_ENTRIES processing on 4.x [7]
PR: 92445 [1], 98206 [2], 98731 [3], 99370 [4], 89398 [5],
93601 [6], 98891 [7]
Submitted by: linimon [1], edwin [2], alex at foxybanana dot com [3],
gerald [4], flz [4], alepulver [5], alex at fafula dot com [6],
shaun [7]
2006-07-05 02:18:09 +00:00
missing :
2010-06-02 11:40:48 +00:00
@_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} ; \
2007-08-04 11:37:24 +00:00
fi ; \
* Change all bogus uses of BROKEN to IGNORE. Note: the BROKEN_WITH_*
forms are retained for compatibility but deprecated [1]
* Add sha256 to CHECKSUM_ALGORITHMS [2]
* Remove some whitespace [2]
* Add USE_SCONS and bsd.scons.mk for the Python-based SCons build system [3]
* Fix USE_LDCONFIG with non-default PREFIX [4]
* Add USE_WX and friends, and bsd.wx.mk, for common code for WxWidgets
support [5]
* Add 'make missing' to show missing dependencies [6]
* Fix DESKTOP_ENTRIES processing on 4.x [7]
PR: 92445 [1], 98206 [2], 98731 [3], 99370 [4], 89398 [5],
93601 [6], 98891 [7]
Submitted by: linimon [1], edwin [2], alex at foxybanana dot com [3],
gerald [4], flz [4], alepulver [5], alex at fafula dot com [6],
shaun [7]
2006-07-05 02:18:09 +00:00
done
1995-04-20 18:03:02 +00:00
################################################################
# 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| \
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# 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.
1998-10-30 08:28:02 +00:00
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
. i f ! t a r g e t ( d e s c r i b e )
_EXTRACT_DEPENDS = ${ EXTRACT_DEPENDS : C /^[^ : ]+ : ([^ : ]+)( : [^ : ]+)?/ \1 / : O : u }
_PATCH_DEPENDS = ${ PATCH_DEPENDS : C /^[^ : ]+ : ([^ : ]+)( : [^ : ]+)?/ \1 / : O : u }
2009-12-29 10:25:55 +00:00
_FETCH_DEPENDS = ${ FETCH_DEPENDS : C /^[^ : ]+ : ([^ : ]+)( : [^ : ]+)?/ \1 / : O : u }
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
_LIB_DEPENDS = ${ LIB_DEPENDS : C /^[^ : ]+ : ([^ : ]+)( : [^ : ]+)?/ \1 / : O : u }
_BUILD_DEPENDS = ${ BUILD_DEPENDS : C /^[^ : ]+ : ([^ : ]+)( : [^ : ]+)?/ \1 / : O : u } ${ _LIB_DEPENDS }
_RUN_DEPENDS = ${ RUN_DEPENDS : C /^[^ : ]+ : ([^ : ]+)( : [^ : ]+)?/ \1 / : O : u } ${ _LIB_DEPENDS }
. i f e x i s t s ( $ { D E S C R } )
_DESCR = ${ DESCR }
. e l s e
_DESCR = /dev/null
. e n d i f
Latest round of infrastructure changes.
- bsd.port.mk: add INDEX_PORTS, to support INDEX creation for a subset of the ports tree [1]
- bsd.port.mk: call target "install-rc-script" before "post-install" [2]
- [patch] ports/Mk bsd.port.mk order if groups/users are created by package [3]
- [bsd.port.mk] [patch] reaper of the dead: md5 has been in /sbin for a while [4]
- [bsd.port.mk] [patch] remove support for pre 7.x systems (b.*.m) [5]
- [patch] [bsd.port.mk] reaper of the dead: are three variable defintions needed [6]
PR: ports/156575 [1],
ports/139116 [2],
ports/152498 [3],
ports/155983 [4],
ports/155510 [5],
ports/156340 [6]
Submitted by: Florent Thoumie <flz@xbsd.org> [1],
Sergey Skvortsov <skv@freebsd.org> [2],
Olli Hauer <ohauer@FreeBSD.org> [3],
Eitan Adler <lists@eitanadler.com> [4],
Eitan Adler <lists@eitanadler.com> [5],
Eitan Adler <lists@eitanadler.com> [6]
2011-05-04 22:33:13 +00:00
. i f d e f i n e d ( B U I L D I N G _ I N D E X ) & & d e f i n e d ( I N D E X _ P O R T S )
INDEX_OUT = ${ INDEX_TMPDIR } /${ INDEXFILE } .desc.aggr
. e l s e
INDEX_OUT = /dev/stdout
. e n d i f
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 :
Latest round of infrastructure changes.
- bsd.port.mk: add INDEX_PORTS, to support INDEX creation for a subset of the ports tree [1]
- bsd.port.mk: call target "install-rc-script" before "post-install" [2]
- [patch] ports/Mk bsd.port.mk order if groups/users are created by package [3]
- [bsd.port.mk] [patch] reaper of the dead: md5 has been in /sbin for a while [4]
- [bsd.port.mk] [patch] remove support for pre 7.x systems (b.*.m) [5]
- [patch] [bsd.port.mk] reaper of the dead: are three variable defintions needed [6]
PR: ports/156575 [1],
ports/139116 [2],
ports/152498 [3],
ports/155983 [4],
ports/155510 [5],
ports/156340 [6]
Submitted by: Florent Thoumie <flz@xbsd.org> [1],
Sergey Skvortsov <skv@freebsd.org> [2],
Olli Hauer <ohauer@FreeBSD.org> [3],
Eitan Adler <lists@eitanadler.com> [4],
Eitan Adler <lists@eitanadler.com> [5],
Eitan Adler <lists@eitanadler.com> [6]
2011-05-04 22:33:13 +00:00
@( ${ 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 ; \
Latest round of infrastructure changes.
- bsd.port.mk: add INDEX_PORTS, to support INDEX creation for a subset of the ports tree [1]
- bsd.port.mk: call target "install-rc-script" before "post-install" [2]
- [patch] ports/Mk bsd.port.mk order if groups/users are created by package [3]
- [bsd.port.mk] [patch] reaper of the dead: md5 has been in /sbin for a while [4]
- [bsd.port.mk] [patch] remove support for pre 7.x systems (b.*.m) [5]
- [patch] [bsd.port.mk] reaper of the dead: are three variable defintions needed [6]
PR: ports/156575 [1],
ports/139116 [2],
ports/152498 [3],
ports/155983 [4],
ports/155510 [5],
ports/156340 [6]
Submitted by: Florent Thoumie <flz@xbsd.org> [1],
Sergey Skvortsov <skv@freebsd.org> [2],
Olli Hauer <ohauer@FreeBSD.org> [3],
Eitan Adler <lists@eitanadler.com> [4],
Eitan Adler <lists@eitanadler.com> [5],
Eitan Adler <lists@eitanadler.com> [6]
2011-05-04 22:33:13 +00:00
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
. e n d i f
1999-07-23 09:36:55 +00:00
1999-04-28 06:20:23 +00:00
www-site :
. i f e x i s t s ( $ { D E S C R } )
- 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
1999-04-28 06:20:23 +00:00
. e l s e
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 }
1999-04-28 06:20:23 +00:00
. e n d i f
1996-04-01 11:13:00 +00:00
. i f ! t a r g e t ( r e a d m e s )
2003-09-03 19:50:24 +00:00
readmes : readme
. e n d i f
. i f ! t a r g e t ( r e a d m e )
readme :
2004-02-04 04:27:04 +00:00
@${ RM } -f ${ .CURDIR } /README.html
2011-07-21 15:10:46 +00:00
@cd ${ .CURDIR } && ${ MAKE } ${ .CURDIR } /README.html
1996-04-01 11:13:00 +00:00
. e n d i f
2003-09-03 19:50:24 +00:00
${.CURDIR}/README.html :
1998-08-12 01:47:47 +00:00
@${ ECHO_MSG } " ===> Creating README.html for ${ PKGNAME } "
2011-07-21 15:10:46 +00:00
@${ SED } -e 's|%%PORT%%|' $$ ( ${ ECHO_CMD } ${ .CURDIR } | \
* pkg-comment removal, take 2: introduce the COMMENTFILE variable
with the same semantics as the current COMMENT variable (location
of the pkg-comment file), and reclaim COMMENT for the comment string
itself. To work around the problems with metacharacters in comment
strings, comments are written to a temporary comment file as needed. [1]
* Support regexps in LIB_DEPENDS [2]
* Move the CD_MOUNTPTS variable to <bsd.port.pre.mk> [3]
* Improve 'make readmes' target [4]:
- ^A and ^B have been replaced by | to avoid printing problems in
'make readme'.
- Add %%EMAIL%%, %%MAINTAINER%% (not used yet) and %%WEBSITE%%
substitutions
- Add pretty-print-www-site target.
* Add support for USE_GCC=3.2 [5]
* Use 'uname -p' instead of 'uname -m' to set the ARCH variable. [6]
* Add a ${YACC} variable [7]
* Path MANPREFIX in MAKE_ENV [8]
* Use the full patch to mkhtmlindex in MKHTMLINDEX [9]
* Avoid overflowing the commandline when constructing the _TMLINKS
variable (fixes 'make index'). [10]
Submitted by: lioux [1], mi [2], mbr [3][5],
Cyrille Lefevre <clefevre@citeweb.net> [4],
nyan [6], cy [7], dougb [8], anholt [9],
fenner [10] (based on)
PR: ports/34126 [2], ports/30983 [3] (based on),
ports/31389 [4], ports/47306 [5] (based on),
ports/35514 [6], ports/44496 [7],
ports/44895 [8], ports/45549 [9]
2003-02-10 07:59:22 +00:00
${ SED } -e 's|.*/\([^/]*/[^/]*\)$$|\1|' ) '|g' \
-e 's|%%PKG%%|${PKGNAME}|g' \
2003-05-06 05:15:18 +00:00
-e 's|%%COMMENT%%|' " $$ ( ${ ECHO_CMD } ${ COMMENT : Q } ) " '|' \
1996-04-01 11:13:00 +00:00
-e '/%%COMMENT%%/d' \
* pkg-comment removal, take 2: introduce the COMMENTFILE variable
with the same semantics as the current COMMENT variable (location
of the pkg-comment file), and reclaim COMMENT for the comment string
itself. To work around the problems with metacharacters in comment
strings, comments are written to a temporary comment file as needed. [1]
* Support regexps in LIB_DEPENDS [2]
* Move the CD_MOUNTPTS variable to <bsd.port.pre.mk> [3]
* Improve 'make readmes' target [4]:
- ^A and ^B have been replaced by | to avoid printing problems in
'make readme'.
- Add %%EMAIL%%, %%MAINTAINER%% (not used yet) and %%WEBSITE%%
substitutions
- Add pretty-print-www-site target.
* Add support for USE_GCC=3.2 [5]
* Use 'uname -p' instead of 'uname -m' to set the ARCH variable. [6]
* Add a ${YACC} variable [7]
* Path MANPREFIX in MAKE_ENV [8]
* Use the full patch to mkhtmlindex in MKHTMLINDEX [9]
* Avoid overflowing the commandline when constructing the _TMLINKS
variable (fixes 'make index'). [10]
Submitted by: lioux [1], mi [2], mbr [3][5],
Cyrille Lefevre <clefevre@citeweb.net> [4],
nyan [6], cy [7], dougb [8], anholt [9],
fenner [10] (based on)
PR: ports/34126 [2], ports/30983 [3] (based on),
ports/31389 [4], ports/47306 [5] (based on),
ports/35514 [6], ports/44496 [7],
ports/44895 [8], ports/45549 [9]
2003-02-10 07:59:22 +00:00
-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' \
2011-07-21 15:10:46 +00:00
-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) " '|' \
* pkg-comment removal, take 2: introduce the COMMENTFILE variable
with the same semantics as the current COMMENT variable (location
of the pkg-comment file), and reclaim COMMENT for the comment string
itself. To work around the problems with metacharacters in comment
strings, comments are written to a temporary comment file as needed. [1]
* Support regexps in LIB_DEPENDS [2]
* Move the CD_MOUNTPTS variable to <bsd.port.pre.mk> [3]
* Improve 'make readmes' target [4]:
- ^A and ^B have been replaced by | to avoid printing problems in
'make readme'.
- Add %%EMAIL%%, %%MAINTAINER%% (not used yet) and %%WEBSITE%%
substitutions
- Add pretty-print-www-site target.
* Add support for USE_GCC=3.2 [5]
* Use 'uname -p' instead of 'uname -m' to set the ARCH variable. [6]
* Add a ${YACC} variable [7]
* Path MANPREFIX in MAKE_ENV [8]
* Use the full patch to mkhtmlindex in MKHTMLINDEX [9]
* Avoid overflowing the commandline when constructing the _TMLINKS
variable (fixes 'make index'). [10]
Submitted by: lioux [1], mi [2], mbr [3][5],
Cyrille Lefevre <clefevre@citeweb.net> [4],
nyan [6], cy [7], dougb [8], anholt [9],
fenner [10] (based on)
PR: ports/34126 [2], ports/30983 [3] (based on),
ports/31389 [4], ports/47306 [5] (based on),
ports/35514 [6], ports/44496 [7],
ports/44895 [8], ports/45549 [9]
2003-02-10 07:59:22 +00:00
-e 's|%%TOP%%|' " $$ ( ${ ECHO_CMD } ${ CATEGORIES } | \
${ SED } -e 's| .*||' -e 's|[^/]*|..|g' ) " '/..|' \
2008-03-11 23:45:04 +00:00
${ TEMPLATES } /README.port >> ${ .TARGET }
1996-04-01 11:13:00 +00:00
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 \
2007-03-24 14:02:06 +00:00
${ 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 \
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
target = ${ .TARGET : C /pretty-print-(.*)-depends-list/ \1 / } ; \
2007-08-04 11:37:24 +00:00
if [ " $$ target " = "build" ] ; then fldnum = 8 ; else fldnum = 9 ; fi ; \
2007-03-24 14:02:06 +00:00
${ 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 ;
1998-12-12 07:39:30 +00:00
. i f ! t a r g e t ( p r e t t y - p r i n t - b u i l d - d e p e n d s - l i s t )
pretty-print-build-depends-list :
2012-07-31 18:41:21 +00:00
. i f d e f i n e d ( P K G _ D E P E N D S ) | | d e f i n e d ( E X T R A C T _ D E P E N D S ) | | d e f i n e d ( P A T C H _ D E P E N D S ) | | \
bsd.port.mk
[1] Remove DEPENDS
[2] Add a new pkg-plist keyword @stopdaemon
[3] Provide rc.subr script suffix as RC_SUBR_SUFFIX
[4] Add USE_CDRTOOLS to abstract dependency on sysutils/cdrtool[-cjk]
[5] Add DOS2UNIX_REGEX, allowing to pass a filename regex to CRLF replacement
routine
[6] Support partially translated manpages in MAN* variables
[7] Fix USE_LDCONFIG on ports with @cwd in pkg-plist
[8] Remove support for XFree86 3.X
[9] Add user settable WITH_DEBUG flag that turns on -g in CFLAGS and resets
STRIP
[9] Fix `make install' to refuse overwriting of older version of the port
[10] New category ports-mgmt
[11] New category gnustep
[12] Removed category picobsd
bsd.java.mk
[13] Remove deprecated syntax
bsd.tcl.mk
[14] Provide TCL_VER when USE_TK[_BUILD] is defined. Fixes cad/netgen
ports/Makefile
[15] Make csup default `make update' method on FreeBSD 6.2 and up
PR: ports/99742 [1], ports/93373 [2], ports/100915 [3],
ports/105161 [4], ports/106029 [5], ports/106252 [6],
ports/106235 [7], ports/100939 [9], ports/97507 [10],
ports/103931 [11], ports/106921 [12], ports/104136 [13],
ports/105215 [15]
Submitted by: sem [1] [2], Matthias Andree <matthias.andree@gmx.de> [3],
nork [4], pav [5] [7] [14], Nick Barkas <snb@threerings.net> [6],
flz [8], gabor [9], shaun [10], erwin [12], hq [13],
Gurkan Sengun <gurkan@linuks.mine.nu> [11]
2007-01-31 14:07:24 +00:00
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 }
1996-04-01 11:13:00 +00:00
. e n d i f
. e n d i f
1998-12-12 07:39:30 +00:00
. i f ! t a r g e t ( p r e t t y - p r i n t - r u n - d e p e n d s - l i s t )
pretty-print-run-depends-list :
bsd.port.mk
[1] Remove DEPENDS
[2] Add a new pkg-plist keyword @stopdaemon
[3] Provide rc.subr script suffix as RC_SUBR_SUFFIX
[4] Add USE_CDRTOOLS to abstract dependency on sysutils/cdrtool[-cjk]
[5] Add DOS2UNIX_REGEX, allowing to pass a filename regex to CRLF replacement
routine
[6] Support partially translated manpages in MAN* variables
[7] Fix USE_LDCONFIG on ports with @cwd in pkg-plist
[8] Remove support for XFree86 3.X
[9] Add user settable WITH_DEBUG flag that turns on -g in CFLAGS and resets
STRIP
[9] Fix `make install' to refuse overwriting of older version of the port
[10] New category ports-mgmt
[11] New category gnustep
[12] Removed category picobsd
bsd.java.mk
[13] Remove deprecated syntax
bsd.tcl.mk
[14] Provide TCL_VER when USE_TK[_BUILD] is defined. Fixes cad/netgen
ports/Makefile
[15] Make csup default `make update' method on FreeBSD 6.2 and up
PR: ports/99742 [1], ports/93373 [2], ports/100915 [3],
ports/105161 [4], ports/106029 [5], ports/106252 [6],
ports/106235 [7], ports/100939 [9], ports/97507 [10],
ports/103931 [11], ports/106921 [12], ports/104136 [13],
ports/105215 [15]
Submitted by: sem [1] [2], Matthias Andree <matthias.andree@gmx.de> [3],
nork [4], pav [5] [7] [14], Nick Barkas <snb@threerings.net> [6],
flz [8], gabor [9], shaun [10], erwin [12], hq [13],
Gurkan Sengun <gurkan@linuks.mine.nu> [11]
2007-01-31 14:07:24 +00:00
. i f d e f i n e d ( R U N _ D E P E N D S ) | | d e f i n e d ( L I B _ D E P E N D S )
- 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 }
1996-04-01 11:13:00 +00:00
. e n d i f
. e n d i f
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
_SUB_LIST_TEMP = ${ SUB_LIST : S / $/!g/ : S /^/ -e s!%%/ : S /=/%%!/ }
. i f ! t a r g e t ( a p p l y - s l i s t )
apply-slist :
. i f d e f i n e d ( S U B _ F I L E S )
. f o r f i l e i n $ { S U B _ F I L E S }
. i f ! e x i s t s ( $ { F I L E S D I R } / $ { f i l e } . i n )
2007-03-24 14:02:06 +00:00
@${ ECHO_MSG } " ** Missing ${ FILESDIR } / ${ file } .in for ${ PKGNAME } . " ; exit 1
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
. e l s e
@${ SED } ${ _SUB_LIST_TEMP } -e '/^@comment /d' ${ FILESDIR } /${ file } .in > ${ WRKDIR } /${ file }
. e n d i f
. e n d f o r
. f o r i i n p k g - m e s s a g e p k g - i n s t a l l p k g - d e i n s t a l l p k g - r e q
.if ${SUB_FILES : M ${i }*}!=""
2014-05-05 09:45:36 +00:00
${i : S /-//:tu }= ${WRKDIR }/${SUB_FILES :M ${i }*}
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
. e n d i f
. e n d f o r
. e n d i f
. e n d i f
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.
. i f ! t a r g e t ( g e n e r a t e - p l i s t )
generate-plist :
@${ ECHO_MSG } "===> Generating temporary packing list"
2004-02-04 04:27:04 +00:00
@${ MKDIR } ` ${ DIRNAME } ${ TMPPLIST } `
2007-03-24 14:02:06 +00:00
@if [ ! -f ${ DESCR } ] ; then ${ ECHO_MSG } " ** Missing pkg-descr for ${ PKGNAME } . " ; exit 1; fi
2013-09-24 13:40:09 +00:00
. i f d e f i n e d ( N O _ S T A G E ) | | d e f i n e d ( N E E D _ R O O T )
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 }
2013-09-24 10:07:59 +00:00
. e l s e
@${ ECHO_CMD } -e "@owner root\n@group wheel" >${ TMPPLIST }
2013-09-24 10:24:19 +00:00
. e n d i f
2004-01-20 09:14:10 +00:00
@for file in ${ PLIST_FILES } ; do \
2004-02-04 04:27:04 +00:00
${ ECHO_CMD } $$ { file} | ${ SED } ${ PLIST_SUB : S / $/!g/ : S /^/ -e s!%%/ : S /=/%%!/ } >> ${ TMPPLIST } ; \
2004-01-20 09:14:10 +00:00
done
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
. i f d e f i n e d ( N O _ S T A G E )
1999-07-23 09:36:55 +00:00
@for man in ${ __MANPAGES } ; 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 } $$ { man} >> ${ TMPPLIST } ; \
1999-07-23 09:36:55 +00:00
done
1998-09-10 06:38:02 +00:00
. f o r _ P R E F I X i n $ { P R E F I X }
.if ${_TMLINKS : M ${_PREFIX }*}x != x
2004-01-20 09:14:10 +00:00
@for i in ${ _TMLINKS : M ${ _PREFIX } * : S |^ ${ _PREFIX } /|| } ; 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 } " $$ i " >> ${ TMPPLIST } ; \
1998-09-10 06:38:02 +00:00
done
. e n d i f
.if ${_TMLINKS : N ${_PREFIX }*}x != x
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 } @cwd / >> ${ TMPPLIST }
2004-01-20 09:14:10 +00:00
@for i in ${ _TMLINKS : N ${ _PREFIX } * : S |^/|| } ; 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 } " $$ i " >> ${ TMPPLIST } ; \
1998-09-10 06:38:02 +00:00
done
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 } '@cwd ${PREFIX}' >> ${ TMPPLIST }
1998-09-10 06:38:02 +00:00
. e n d i f
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
. e n d f o r
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
. e n d i f
2004-01-20 09:14:10 +00:00
@if [ -f ${ PLIST } ] ; then \
${ SED } ${ PLIST_SUB : S / $/!g/ : S /^/ -e s!%%/ : S /=/%%!/ } ${ PLIST } >> ${ TMPPLIST } ; \
fi
2013-12-06 08:20:16 +00:00
2004-01-20 09:14:10 +00:00
. f o r d i r i n $ { P L I S T _ D I R S }
2007-04-02 22:44:52 +00:00
@${ ECHO_CMD } ${ dir } | ${ SED } ${ PLIST_SUB : S / $/!g/ : S /^/ -e s!%%/ : S /=/%%!/ } -e 's,^,@dirrm ,' >> ${ TMPPLIST }
2004-01-20 09:14:10 +00:00
. e n d f o r
2010-10-13 09:04:30 +00:00
. f o r d i r i n $ { P L I S T _ D I R S T R Y }
@${ ECHO_CMD } ${ dir } | ${ SED } ${ PLIST_SUB : S / $/!g/ : S /^/ -e s!%%/ : S /=/%%!/ } -e 's,^,@dirrmtry ,' >> ${ TMPPLIST }
. e n d f o r
2010-11-08 16:07:03 +00:00
. f o r r e i n p l a c e i n $ { P L I S T _ R E I N P L A C E }
2014-05-05 09:45:36 +00:00
.if defined(PLIST_REINPLACE_${reinplace : tu })
@${ SED } -i "" -e '${PLIST_REINPLACE_${reinplace:tu}}' ${ TMPPLIST }
2010-11-08 16:07:03 +00:00
. e n d i f
. e n d f o r
2008-03-11 23:45:04 +00:00
. i f d e f i n e d ( U S E _ L I N U X _ P R E F I X )
. i f d e f i n e d ( U S E _ L D C O N F I G )
@${ ECHO_CMD } " @exec ${ LDCONFIG_CMD } " >> ${ TMPPLIST }
@${ ECHO_CMD } " @unexec ${ LDCONFIG_CMD } " >> ${ TMPPLIST }
. e n d i f
. e l s e
* Update default MySQL version from 4.1 to 5.0 [1]
* Update default PHP version from 4 to 5 [2]
* Update default LDAP version from 2.2 to 2.3 [3]
* Add support for LDAP version 2.4 [4]
* Update default linux_base from '8' (Redhat 8) to 'fc4' (Fedora Core 4) [5]
* Switch default Linux X implementation from XFree86 to xorg to track the
above [5]
* Deprecate INSTALLS_SHLIB and replace it by USE_LDCONFIG. If set to "yes",
the old behavior is preserved. Otherwise, it can be set to a list of
directories to be added to ${PREFIX}/libdata/ldconfig/${UNIQUENAME}.
Note that this directory is used by ldconfig startup script, it is meant
to replace ldconfig scripts installed by some ports as (sometimes
000.${UNQUENAME}.sh) [6]
* Adds USE_LDCONFIG32 which is like USE_LDCONFIG but the target file is
${PREFIX}/libdata/ldconfig32/${UNIQUENAME} instead. (Note: this should
only be used on 64-bit architectures) [6]
* Set the default LANG for tr to be C to avoid some build problems [7]
* Include bsd.java.mk in both pre and post sections [8]
* Get rid of remnants of FORCE_PKG_REGISTER [9]
* Always print options with make showconfig [10]
PR: 92805 [1], 92806 [2], 96793 [3], 97515 [4], 96849 [5],
91933 [6], 91381 [7], 97020 [8], 95841 [9], 97133 [10]
Submitted by: ale [1][2], delphij [3][4], netchild [5], flz [6],
Tsurutani Naoki <turutani at scphys dot kyoto-u dot ac dot jp>
[7], hq [8], sem [9], pav [10]
2006-06-16 04:53:43 +00:00
. i f d e f i n e d ( U S E _ L D C O N F I G )
. i f ! d e f i n e d ( I N S T A L L _ A S _ U S E R )
@${ ECHO_CMD } " @exec ${ LDCONFIG } -m ${ USE_LDCONFIG } " >> ${ TMPPLIST }
@${ ECHO_CMD } " @unexec ${ LDCONFIG } -R " >> ${ TMPPLIST }
. e l s e
@${ ECHO_CMD } " @exec ${ LDCONFIG } -m ${ USE_LDCONFIG } || ${ TRUE } " >> ${ TMPPLIST }
@${ ECHO_CMD } " @unexec ${ LDCONFIG } -R || ${ TRUE } " >> ${ TMPPLIST }
. e n d i f
. e n d i f
. i f d e f i n e d ( U S E _ L D C O N F I G 3 2 )
. i f ! d e f i n e d ( I N S T A L L _ A S _ U S E R )
@${ ECHO_CMD } " @exec ${ LDCONFIG } -32 -m ${ USE_LDCONFIG32 } " >> ${ TMPPLIST }
@${ ECHO_CMD } " @unexec ${ LDCONFIG } -32 -R " >> ${ TMPPLIST }
. e l s e
@${ ECHO_CMD } " @exec ${ LDCONFIG } -32 -m ${ USE_LDCONFIG32 } || ${ TRUE } " >> ${ TMPPLIST }
@${ ECHO_CMD } " @unexec ${ LDCONFIG } -32 -R || ${ TRUE } " >> ${ TMPPLIST }
. e n d i f
. e n d i f
1998-10-09 01:27:21 +00:00
. e n d i f
2013-03-06 07:04:45 +00:00
. i f ! d e f i n e d ( W I T H _ P K G N G )
2012-08-21 17:29:11 +00:00
@cd ${ .CURDIR } && { ${ MAKE } pretty-print-config | fold -sw 120 | ${ SED } -e 's/^/@comment OPTIONS:/' ; } >> ${ TMPPLIST }
2014-04-12 03:39:02 +00:00
@${ AWK } -f ${ KEYWORDS } /pkg_install.awk ${ TMPPLIST } > ${ TMPPLIST } .keyword && \
${ MV } -f ${ TMPPLIST } .keyword ${ TMPPLIST }
2008-03-11 23:45:04 +00:00
. e n d i f
2013-03-06 07:04:45 +00:00
. e n d i f
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} :
2011-07-21 15:10:46 +00:00
@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
2012-01-15 22:13:42 +00:00
${TMPPLIST_SORT} : ${TMPPLIST }
@${ SORT } -u ${ TMPPLIST } >${ TMPPLIST_SORT }
2003-11-07 08:51:46 +00:00
. i f ! t a r g e t ( a d d - p l i s t - d o c s )
* Improve documentation of CONFLICTS. [1]
* Fix add-plist-docs target to work correctly with wildcards. [2]
* Fix USE_MYSQL and USE_PGSQL knobs to work in partitial ports tree. [2] [3]
* Introduce 2 new variables: USE_FAM and WANT_FAM_SYSTEM. [4]
* Suppress "Vulnerability check disabled" message if
DISABLE_VULNERABILITIES is defined. [5]
* Switch default MySQL version to 4.1 [6]
* Add support for OpenLDAP v.23. [7]
* Fix add-plist-info and add-plist-post targets to avoid warnings
from ports which redefine them. [8]
* Fix add-plist-docs target to handle NOPORTDOCS knob properly. [9]
* Use INSTALLDIRS="site" in configure for perl ports. [10]
* Fix NO_(CHECKSUM|BUILD|INSTALL|PACKAGE) knobs if OPTIONS are
defined. [11]
* Add an ability to depend on versioned installed package. [12]
Example:
BUILD_DEPENDS=p5-Tree-Simple>=1.12:${PORTSDIR}/devel/p5-Tree-Simple
Please note, it's experimental feature, work is currently in
progress.
PR: ports/81922 [1], ports/77820 [2], ports/80023 [2],
ports/78597 [2], ports/79011 [3], ports/79012 [3],
ports/81168 [4], ports/78607 [5], ports/79604 [6],
ports/80653 [7], ports/80880 [8], ports/81189 [9],
ports/78144 [10], ports/69512 [11], ports/79823 [12]
Submitted by: gerald [1], clement [2], lawrance [2], Jilles
Tjoelker <jilles at stack dot nl> [3], marcus [4],
adamw [5], ale [6], Vsevolod Stakhov <vsevolod at
highsecure.dot.ru> [7], Vasil Dimov <vd at datamax dot bg> [8],
sem [10], leeym [11], tobez [12]
2005-06-09 20:39:43 +00:00
. i f d e f i n e d ( P O R T D O C S ) & & ! d e f i n e d ( N O P O R T D O C S )
2014-01-03 23:01:01 +00:00
add-plist-docs :
2004-01-20 09:14:10 +00:00
@if ${ EGREP } -qe '^@cw?d' ${ TMPPLIST } && \
[ " ` ${ SED } -En -e '/^@cw?d[ ]*/s,,,p' ${ TMPPLIST } | ${ TAIL } -n 1` " != " ${ PREFIX } " ] ; then \
2003-11-07 08:51:46 +00:00
${ ECHO_CMD } " @cwd ${ PREFIX } " >> ${ TMPPLIST } ; \
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
. f o r x i n $ { P O R T D O C S }
* Improve documentation of CONFLICTS. [1]
* Fix add-plist-docs target to work correctly with wildcards. [2]
* Fix USE_MYSQL and USE_PGSQL knobs to work in partitial ports tree. [2] [3]
* Introduce 2 new variables: USE_FAM and WANT_FAM_SYSTEM. [4]
* Suppress "Vulnerability check disabled" message if
DISABLE_VULNERABILITIES is defined. [5]
* Switch default MySQL version to 4.1 [6]
* Add support for OpenLDAP v.23. [7]
* Fix add-plist-info and add-plist-post targets to avoid warnings
from ports which redefine them. [8]
* Fix add-plist-docs target to handle NOPORTDOCS knob properly. [9]
* Use INSTALLDIRS="site" in configure for perl ports. [10]
* Fix NO_(CHECKSUM|BUILD|INSTALL|PACKAGE) knobs if OPTIONS are
defined. [11]
* Add an ability to depend on versioned installed package. [12]
Example:
BUILD_DEPENDS=p5-Tree-Simple>=1.12:${PORTSDIR}/devel/p5-Tree-Simple
Please note, it's experimental feature, work is currently in
progress.
PR: ports/81922 [1], ports/77820 [2], ports/80023 [2],
ports/78597 [2], ports/79011 [3], ports/79012 [3],
ports/81168 [4], ports/78607 [5], ports/79604 [6],
ports/80653 [7], ports/80880 [8], ports/81189 [9],
ports/78144 [10], ports/69512 [11], ports/79823 [12]
Submitted by: gerald [1], clement [2], lawrance [2], Jilles
Tjoelker <jilles at stack dot nl> [3], marcus [4],
adamw [5], ale [6], Vsevolod Stakhov <vsevolod at
highsecure.dot.ru> [7], Vasil Dimov <vd at datamax dot bg> [8],
sem [10], leeym [11], tobez [12]
2005-06-09 20:39:43 +00:00
@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 } ${ DOCSDIR } /${ x } ] ; then \
2007-03-24 14:02:06 +00:00
${ ECHO_CMD } ${ DOCSDIR_REL } /${ x } >> ${ TMPPLIST } ; \
* Improve documentation of CONFLICTS. [1]
* Fix add-plist-docs target to work correctly with wildcards. [2]
* Fix USE_MYSQL and USE_PGSQL knobs to work in partitial ports tree. [2] [3]
* Introduce 2 new variables: USE_FAM and WANT_FAM_SYSTEM. [4]
* Suppress "Vulnerability check disabled" message if
DISABLE_VULNERABILITIES is defined. [5]
* Switch default MySQL version to 4.1 [6]
* Add support for OpenLDAP v.23. [7]
* Fix add-plist-info and add-plist-post targets to avoid warnings
from ports which redefine them. [8]
* Fix add-plist-docs target to handle NOPORTDOCS knob properly. [9]
* Use INSTALLDIRS="site" in configure for perl ports. [10]
* Fix NO_(CHECKSUM|BUILD|INSTALL|PACKAGE) knobs if OPTIONS are
defined. [11]
* Add an ability to depend on versioned installed package. [12]
Example:
BUILD_DEPENDS=p5-Tree-Simple>=1.12:${PORTSDIR}/devel/p5-Tree-Simple
Please note, it's experimental feature, work is currently in
progress.
PR: ports/81922 [1], ports/77820 [2], ports/80023 [2],
ports/78597 [2], ports/79011 [3], ports/79012 [3],
ports/81168 [4], ports/78607 [5], ports/79604 [6],
ports/80653 [7], ports/80880 [8], ports/81189 [9],
ports/78144 [10], ports/69512 [11], ports/79823 [12]
Submitted by: gerald [1], clement [2], lawrance [2], Jilles
Tjoelker <jilles at stack dot nl> [3], marcus [4],
adamw [5], ale [6], Vsevolod Stakhov <vsevolod at
highsecure.dot.ru> [7], Vasil Dimov <vd at datamax dot bg> [8],
sem [10], leeym [11], tobez [12]
2005-06-09 20:39:43 +00:00
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
. e n d f o r
2013-09-23 13:19:39 +00:00
@${ FIND } -P ${ PORTDOCS : S /^/ ${ STAGEDIR } ${ DOCSDIR } \/ / } ! -type d 2>/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
${ SED } -ne 's,^${STAGEDIR}${PREFIX}/,,p' >> ${ TMPPLIST }
2013-09-23 13:19:39 +00:00
@${ FIND } -P -d ${ PORTDOCS : S /^/ ${ STAGEDIR } ${ DOCSDIR } \/ / } -type d 2>/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
${ SED } -ne 's,^${STAGEDIR}${PREFIX}/,@dirrm ,p' >> ${ TMPPLIST }
2007-03-24 14:02:06 +00:00
@${ ECHO_CMD } " @dirrm ${ DOCSDIR_REL } " >> ${ TMPPLIST }
2003-11-07 08:51:46 +00:00
. e n d i f
. e n d i f
* Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]
* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]
* Update the description of fetch-list; add targets fetch-required-list,
fetch-url-list, and fetch-urlall-list. [4]
* Make 'make search' also search in ports/MOVED. [5]
* Move several Makevar definitions to the pre-makefile section:
DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]
* The target 'ignorelist-verbose' was added for portsmon. [7]
PR: 69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]
Submitted by: Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
jylefort [3], edwin [4], Lars Engels <lars dot engels
at 0x20 dot net> [5], Alexander Logvinov <ports at
logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +00:00
. i f ! t a r g e t ( a d d - p l i s t - e x a m p l e s )
. i f d e f i n e d ( P O R T E X A M P L E S ) & & ! d e f i n e d ( N O P O R T E X A M P L E S )
2014-01-03 23:01:01 +00:00
add-plist-examples :
* Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]
* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]
* Update the description of fetch-list; add targets fetch-required-list,
fetch-url-list, and fetch-urlall-list. [4]
* Make 'make search' also search in ports/MOVED. [5]
* Move several Makevar definitions to the pre-makefile section:
DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]
* The target 'ignorelist-verbose' was added for portsmon. [7]
PR: 69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]
Submitted by: Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
jylefort [3], edwin [4], Lars Engels <lars dot engels
at 0x20 dot net> [5], Alexander Logvinov <ports at
logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +00:00
@if ${ EGREP } -qe '^@cw?d' ${ TMPPLIST } && \
[ " ` ${ SED } -En -e '/^@cw?d[ ]*/s,,,p' ${ TMPPLIST } | ${ TAIL } -n 1` " != " ${ PREFIX } " ] ; then \
${ ECHO_CMD } " @cwd ${ PREFIX } " >> ${ TMPPLIST } ; \
fi
. f o r x i n $ { P O R T E X A M P L E S }
@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 } ${ EXAMPLESDIR } /${ x } ] ; then \
* Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]
* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]
* Update the description of fetch-list; add targets fetch-required-list,
fetch-url-list, and fetch-urlall-list. [4]
* Make 'make search' also search in ports/MOVED. [5]
* Move several Makevar definitions to the pre-makefile section:
DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]
* The target 'ignorelist-verbose' was added for portsmon. [7]
PR: 69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]
Submitted by: Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
jylefort [3], edwin [4], Lars Engels <lars dot engels
at 0x20 dot net> [5], Alexander Logvinov <ports at
logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +00:00
${ ECHO_CMD } ${ EXAMPLESDIR } /${ x } | \
${ SED } -e 's,^${PREFIX}/,,' >> ${ TMPPLIST } ; \
fi ; fi
. e n d f o r
2013-09-23 13:19:39 +00:00
@${ FIND } -P ${ PORTEXAMPLES : S /^/ ${ STAGEDIR } ${ EXAMPLESDIR } \/ / } ! -type d 2>/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
${ SED } -ne 's,^${STAGEDIR}${PREFIX}/,,p' >> ${ TMPPLIST }
2013-09-23 13:19:39 +00:00
@${ FIND } -P -d ${ PORTEXAMPLES : S /^/ ${ STAGEDIR } ${ EXAMPLESDIR } \/ / } -type d 2>/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
${ SED } -ne 's,^${STAGEDIR}${PREFIX}/,@dirrm ,p' >> ${ TMPPLIST }
@${ ECHO_CMD } " @dirrm ${ EXAMPLESDIR_REL } " >> ${ TMPPLIST }
* Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]
* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]
* Update the description of fetch-list; add targets fetch-required-list,
fetch-url-list, and fetch-urlall-list. [4]
* Make 'make search' also search in ports/MOVED. [5]
* Move several Makevar definitions to the pre-makefile section:
DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]
* The target 'ignorelist-verbose' was added for portsmon. [7]
PR: 69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]
Submitted by: Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
jylefort [3], edwin [4], Lars Engels <lars dot engels
at 0x20 dot net> [5], Alexander Logvinov <ports at
logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +00:00
. e n d i f
. e n d i f
. i f ! t a r g e t ( a d d - p l i s t - d a t a )
. i f d e f i n e d ( P O R T D A T A ) & & ! d e f i n e d ( N O P O R T D A T A )
2014-01-03 23:01:01 +00:00
add-plist-data :
* Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]
* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]
* Update the description of fetch-list; add targets fetch-required-list,
fetch-url-list, and fetch-urlall-list. [4]
* Make 'make search' also search in ports/MOVED. [5]
* Move several Makevar definitions to the pre-makefile section:
DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]
* The target 'ignorelist-verbose' was added for portsmon. [7]
PR: 69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]
Submitted by: Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
jylefort [3], edwin [4], Lars Engels <lars dot engels
at 0x20 dot net> [5], Alexander Logvinov <ports at
logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +00:00
@if ${ EGREP } -qe '^@cw?d' ${ TMPPLIST } && \
[ " ` ${ SED } -En -e '/^@cw?d[ ]*/s,,,p' ${ TMPPLIST } | ${ TAIL } -n 1` " != " ${ PREFIX } " ] ; then \
${ ECHO_CMD } " @cwd ${ PREFIX } " >> ${ TMPPLIST } ; \
fi
. f o r x i n $ { P O R T D A T A }
@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 \
* Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]
* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]
* Update the description of fetch-list; add targets fetch-required-list,
fetch-url-list, and fetch-urlall-list. [4]
* Make 'make search' also search in ports/MOVED. [5]
* Move several Makevar definitions to the pre-makefile section:
DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]
* The target 'ignorelist-verbose' was added for portsmon. [7]
PR: 69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]
Submitted by: Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
jylefort [3], edwin [4], Lars Engels <lars dot engels
at 0x20 dot net> [5], Alexander Logvinov <ports at
logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +00:00
${ ECHO_CMD } ${ DATADIR } /${ x } | \
${ SED } -e 's,^${PREFIX}/,,' >> ${ TMPPLIST } ; \
fi ; fi
. e n d f o r
2013-09-23 13:19:39 +00:00
@${ FIND } -P ${ PORTDATA : S /^/ ${ STAGEDIR } ${ DATADIR } \/ / } ! -type d 2>/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
${ SED } -ne 's,^${STAGEDIR}${PREFIX}/,,p' >> ${ TMPPLIST }
2013-09-23 13:19:39 +00:00
@${ FIND } -P -d ${ PORTDATA : S /^/ ${ STAGEDIR } ${ DATADIR } \/ / } -type d 2>/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
${ SED } -ne 's,^${STAGEDIR}${PREFIX}/,@dirrm ,p' >> ${ TMPPLIST }
@${ ECHO_CMD } " @dirrm ${ DATADIR_REL } " >> ${ TMPPLIST }
* Make 'make-deinstall-all' check for moved ports. [1]
* Defined the installation directories PORTEXAMPLES and PORTDATA. [2]
* Add USE_MAKESELF knob is added for ports that use the makeself archiver. [3]
* Update the description of fetch-list; add targets fetch-required-list,
fetch-url-list, and fetch-urlall-list. [4]
* Make 'make search' also search in ports/MOVED. [5]
* Move several Makevar definitions to the pre-makefile section:
DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. [6]
* The target 'ignorelist-verbose' was added for portsmon. [7]
PR: 69965 [1], 78490 [2], 79398 [3], 86776 [4], 104161 [5], 110781 [6]
Submitted by: Dancho Penev <dpenev at mnet dot bg> [1], mnag [2],
jylefort [3], edwin [4], Lars Engels <lars dot engels
at 0x20 dot net> [5], Alexander Logvinov <ports at
logvinov dot com> [6], linimon [7]
2007-05-25 00:09:37 +00:00
. e n d i f
. e n d i f
2012-09-06 20:59:27 +00:00
. i f ! t a r g e t ( a d d - p l i s t - b u i l d i n f o )
add-plist-buildinfo :
2012-09-07 00:05:58 +00:00
. i f d e f i n e d ( P A C K A G E _ B U I L D I N G )
2012-09-06 20:59:27 +00:00
@${ ECHO_CMD } " @comment Build details: ${ BUILDHOST } | ${ JAIL } | ${ BUILD } | ${ PORTSTREE } | ${ BUILDDATE } " >> ${ TMPPLIST }
. e n d i f
. e n d i f
* Improve documentation of CONFLICTS. [1]
* Fix add-plist-docs target to work correctly with wildcards. [2]
* Fix USE_MYSQL and USE_PGSQL knobs to work in partitial ports tree. [2] [3]
* Introduce 2 new variables: USE_FAM and WANT_FAM_SYSTEM. [4]
* Suppress "Vulnerability check disabled" message if
DISABLE_VULNERABILITIES is defined. [5]
* Switch default MySQL version to 4.1 [6]
* Add support for OpenLDAP v.23. [7]
* Fix add-plist-info and add-plist-post targets to avoid warnings
from ports which redefine them. [8]
* Fix add-plist-docs target to handle NOPORTDOCS knob properly. [9]
* Use INSTALLDIRS="site" in configure for perl ports. [10]
* Fix NO_(CHECKSUM|BUILD|INSTALL|PACKAGE) knobs if OPTIONS are
defined. [11]
* Add an ability to depend on versioned installed package. [12]
Example:
BUILD_DEPENDS=p5-Tree-Simple>=1.12:${PORTSDIR}/devel/p5-Tree-Simple
Please note, it's experimental feature, work is currently in
progress.
PR: ports/81922 [1], ports/77820 [2], ports/80023 [2],
ports/78597 [2], ports/79011 [3], ports/79012 [3],
ports/81168 [4], ports/78607 [5], ports/79604 [6],
ports/80653 [7], ports/80880 [8], ports/81189 [9],
ports/78144 [10], ports/69512 [11], ports/79823 [12]
Submitted by: gerald [1], clement [2], lawrance [2], Jilles
Tjoelker <jilles at stack dot nl> [3], marcus [4],
adamw [5], ale [6], Vsevolod Stakhov <vsevolod at
highsecure.dot.ru> [7], Vasil Dimov <vd at datamax dot bg> [8],
sem [10], leeym [11], tobez [12]
2005-06-09 20:39:43 +00:00
. i f ! t a r g e t ( a d d - p l i s t - i n f o )
2014-01-03 23:01:01 +00:00
. i f d e f i n e d ( I N F O )
* Remove some obsolete options: BROKEN_ELF, USE_DGS, NO_WRKDIR,
NO_EXTRACT, NO_CONFIGURE, NO_PATCH. [1]
* Remove support for USE_KDE{BASE,LIBS}_VER=2, since KDE 2.x is no
longer in the ports collection [2]
* Add support for semi-automatic processing of GNU info files; they
should be listed in the INFO variable (without the trailing .info),
and appropriate installation/deinstallation code will be automatically
added to the temporary pkg-plist before package registration. [3]
Submitted by: arved [1][2], gerald [3]
PR: ports/54782 [1][2], ports/54883 [3]
2003-08-04 01:17:39 +00:00
add-plist-info :
# Process GNU INFO files at package install/deinstall time
. f o r i i n $ { I N F O }
2013-11-23 09:48:42 +00:00
. i f d e f i n e d ( N O _ S T A G E )
2007-08-04 11:37:24 +00:00
install-info --quiet ${ PREFIX } /${ INFO_PATH } /$i .info ${ PREFIX } /${ INFO_PATH } /dir
2013-11-23 09:48:42 +00:00
. e n d i f
2013-03-14 10:11:19 +00:00
. i f ! d e f i n e d ( W I T H _ P K G N G )
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
@${ ECHO_CMD } " @unexec install-info --quiet --delete %D/ ${ INFO_PATH } / $i .info %D/ ${ INFO_PATH } /dir " \
* Remove some obsolete options: BROKEN_ELF, USE_DGS, NO_WRKDIR,
NO_EXTRACT, NO_CONFIGURE, NO_PATCH. [1]
* Remove support for USE_KDE{BASE,LIBS}_VER=2, since KDE 2.x is no
longer in the ports collection [2]
* Add support for semi-automatic processing of GNU info files; they
should be listed in the INFO variable (without the trailing .info),
and appropriate installation/deinstallation code will be automatically
added to the temporary pkg-plist before package registration. [3]
Submitted by: arved [1][2], gerald [3]
PR: ports/54782 [1][2], ports/54883 [3]
2003-08-04 01:17:39 +00:00
>> ${ TMPPLIST }
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_CMD } " @unexec [ \`info -d %D/ ${ INFO_PATH } --output - 2>/dev/null | grep -c '^*'\` -eq 1 ] && rm -f %D/ ${ INFO_PATH } /dir || : " \
>> ${ TMPPLIST }
2013-11-29 08:39:03 +00:00
@${ LS } ${ STAGEDIR } ${ PREFIX } /${ INFO_PATH } /$i .info* | ${ SED } -e s:${ STAGEDIR } ${ PREFIX } /::g >> ${ TMPPLIST }
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
@${ ECHO_CMD } " @exec install-info --quiet %D/ ${ INFO_PATH } / $i .info %D/ ${ INFO_PATH } /dir " \
* Remove some obsolete options: BROKEN_ELF, USE_DGS, NO_WRKDIR,
NO_EXTRACT, NO_CONFIGURE, NO_PATCH. [1]
* Remove support for USE_KDE{BASE,LIBS}_VER=2, since KDE 2.x is no
longer in the ports collection [2]
* Add support for semi-automatic processing of GNU info files; they
should be listed in the INFO variable (without the trailing .info),
and appropriate installation/deinstallation code will be automatically
added to the temporary pkg-plist before package registration. [3]
Submitted by: arved [1][2], gerald [3]
PR: ports/54782 [1][2], ports/54883 [3]
2003-08-04 01:17:39 +00:00
>> ${ TMPPLIST }
2013-03-14 10:11:19 +00:00
. e l s e
2013-12-06 12:19:21 +00:00
@${ LS } ${ STAGEDIR } ${ PREFIX } /${ INFO_PATH } /$i .info* 2>/dev/null | ${ SED } -e s:${ STAGEDIR } ${ PREFIX } /:@info\ :g >> ${ TMPPLIST }
2013-03-14 10:11:19 +00:00
. e n d i f
* Remove some obsolete options: BROKEN_ELF, USE_DGS, NO_WRKDIR,
NO_EXTRACT, NO_CONFIGURE, NO_PATCH. [1]
* Remove support for USE_KDE{BASE,LIBS}_VER=2, since KDE 2.x is no
longer in the ports collection [2]
* Add support for semi-automatic processing of GNU info files; they
should be listed in the INFO variable (without the trailing .info),
and appropriate installation/deinstallation code will be automatically
added to the temporary pkg-plist before package registration. [3]
Submitted by: arved [1][2], gerald [3]
PR: ports/54782 [1][2], ports/54883 [3]
2003-08-04 01:17:39 +00:00
. e n d f o r
2007-07-23 09:36:51 +00:00
. i f d e f i n e d ( I N F O _ S U B D I R )
2013-11-23 09:48:42 +00:00
. i f ! d e f i n e d ( W I T H _ P K G N G )
2007-07-23 09:36:51 +00:00
@${ ECHO_CMD } " @unexec ${ RMDIR } %D/ ${ INFO_PATH } / ${ INFO_SUBDIR } 2> /dev/null || true " >> ${ TMPPLIST }
2013-11-23 09:48:42 +00:00
. e l s e
@${ ECHO_CMD } " @dirrmtry ${ INFO_PATH } / ${ INFO_SUBDIR } " >> ${ TMPPLIST }
. e n d i f
2007-07-23 09:36:51 +00:00
. e n d i f
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
. i f (${PREFIX} != "/usr" )
* 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_CMD } " @unexec if [ -f %D/ ${ INFO_PATH } /dir ]; then if sed -e '1,/Menu:/d' %D/ ${ INFO_PATH } /dir | grep -q '^[*] '; then true; else rm %D/ ${ INFO_PATH } /dir; fi; fi " >> ${ TMPPLIST }
2012-01-13 02:17:01 +00:00
. i f (${PREFIX} != ${ LOCALBASE } && ${ PREFIX } != ${ LINUXBASE } )
2007-07-23 09:36:51 +00:00
@${ ECHO_CMD } " @unexec rmdir %D/ ${ INFO_PATH } 2>/dev/null || true " >> ${ TMPPLIST }
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
. e n d i f
. e n d i f
* Add info files to TMPPLIST, only if INFO is specified. [1]
* Fix PATH problems during README.html generation if "make
-DPORTSTOP readmes" is defined. [2]
* Add support for early rcNG startup scripts. [3]
* Remove duplicate USE_XLIB handling. [4]
* Add check for USE_PYTHON_(BUILD|RUN), and include bsd.python.mk if
both are specified. [5]
* Use PRE-INSTALL target for SUB_FILES and SUB_LIST. [6]
* Introduce bsd.gstreamer.mk and utilize new macros:
USE_GSTREAMER/WANT_GSTREAMER. [7]
PR: ports/77634 [1], ports/77592 [2], ports/77385 [3],
ports/77557 [4], ports/77344 [5], ports/77211 [6],
ports/77838 [7]
Submitted by: krion [1] [2], Florent Thoumie <flz@xbsd.org> [3] [6],
pav [4], lofi [5], ahze [7]
2005-02-28 21:09:05 +00:00
. e n d i f
* Improve documentation of CONFLICTS. [1]
* Fix add-plist-docs target to work correctly with wildcards. [2]
* Fix USE_MYSQL and USE_PGSQL knobs to work in partitial ports tree. [2] [3]
* Introduce 2 new variables: USE_FAM and WANT_FAM_SYSTEM. [4]
* Suppress "Vulnerability check disabled" message if
DISABLE_VULNERABILITIES is defined. [5]
* Switch default MySQL version to 4.1 [6]
* Add support for OpenLDAP v.23. [7]
* Fix add-plist-info and add-plist-post targets to avoid warnings
from ports which redefine them. [8]
* Fix add-plist-docs target to handle NOPORTDOCS knob properly. [9]
* Use INSTALLDIRS="site" in configure for perl ports. [10]
* Fix NO_(CHECKSUM|BUILD|INSTALL|PACKAGE) knobs if OPTIONS are
defined. [11]
* Add an ability to depend on versioned installed package. [12]
Example:
BUILD_DEPENDS=p5-Tree-Simple>=1.12:${PORTSDIR}/devel/p5-Tree-Simple
Please note, it's experimental feature, work is currently in
progress.
PR: ports/81922 [1], ports/77820 [2], ports/80023 [2],
ports/78597 [2], ports/79011 [3], ports/79012 [3],
ports/81168 [4], ports/78607 [5], ports/79604 [6],
ports/80653 [7], ports/80880 [8], ports/81189 [9],
ports/78144 [10], ports/69512 [11], ports/79823 [12]
Submitted by: gerald [1], clement [2], lawrance [2], Jilles
Tjoelker <jilles at stack dot nl> [3], marcus [4],
adamw [5], ale [6], Vsevolod Stakhov <vsevolod at
highsecure.dot.ru> [7], Vasil Dimov <vd at datamax dot bg> [8],
sem [10], leeym [11], tobez [12]
2005-06-09 20:39:43 +00:00
. e n d i f
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
# If we're installing into a non-standard PREFIX, we need to remove that directory at
# deinstall-time
* Improve documentation of CONFLICTS. [1]
* Fix add-plist-docs target to work correctly with wildcards. [2]
* Fix USE_MYSQL and USE_PGSQL knobs to work in partitial ports tree. [2] [3]
* Introduce 2 new variables: USE_FAM and WANT_FAM_SYSTEM. [4]
* Suppress "Vulnerability check disabled" message if
DISABLE_VULNERABILITIES is defined. [5]
* Switch default MySQL version to 4.1 [6]
* Add support for OpenLDAP v.23. [7]
* Fix add-plist-info and add-plist-post targets to avoid warnings
from ports which redefine them. [8]
* Fix add-plist-docs target to handle NOPORTDOCS knob properly. [9]
* Use INSTALLDIRS="site" in configure for perl ports. [10]
* Fix NO_(CHECKSUM|BUILD|INSTALL|PACKAGE) knobs if OPTIONS are
defined. [11]
* Add an ability to depend on versioned installed package. [12]
Example:
BUILD_DEPENDS=p5-Tree-Simple>=1.12:${PORTSDIR}/devel/p5-Tree-Simple
Please note, it's experimental feature, work is currently in
progress.
PR: ports/81922 [1], ports/77820 [2], ports/80023 [2],
ports/78597 [2], ports/79011 [3], ports/79012 [3],
ports/81168 [4], ports/78607 [5], ports/79604 [6],
ports/80653 [7], ports/80880 [8], ports/81189 [9],
ports/78144 [10], ports/69512 [11], ports/79823 [12]
Submitted by: gerald [1], clement [2], lawrance [2], Jilles
Tjoelker <jilles at stack dot nl> [3], marcus [4],
adamw [5], ale [6], Vsevolod Stakhov <vsevolod at
highsecure.dot.ru> [7], Vasil Dimov <vd at datamax dot bg> [8],
sem [10], leeym [11], tobez [12]
2005-06-09 20:39:43 +00:00
. i f ! t a r g e t ( a d d - p l i s t - p o s t )
2014-04-02 15:33:18 +00:00
. i f (${PREFIX} != ${ LOCALBASE } && ${ PREFIX } != ${ LINUXBASE } && \
${ PREFIX } != "/usr" && !defined( NO_PREFIX_RMDIR) )
2014-01-03 23:01:01 +00:00
add-plist-post :
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
2004-12-09 21:44:48 +00:00
@${ ECHO_CMD } "@unexec rmdir %D 2> /dev/null || true" >> ${ 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
. e n d i f
* Improve documentation of CONFLICTS. [1]
* Fix add-plist-docs target to work correctly with wildcards. [2]
* Fix USE_MYSQL and USE_PGSQL knobs to work in partitial ports tree. [2] [3]
* Introduce 2 new variables: USE_FAM and WANT_FAM_SYSTEM. [4]
* Suppress "Vulnerability check disabled" message if
DISABLE_VULNERABILITIES is defined. [5]
* Switch default MySQL version to 4.1 [6]
* Add support for OpenLDAP v.23. [7]
* Fix add-plist-info and add-plist-post targets to avoid warnings
from ports which redefine them. [8]
* Fix add-plist-docs target to handle NOPORTDOCS knob properly. [9]
* Use INSTALLDIRS="site" in configure for perl ports. [10]
* Fix NO_(CHECKSUM|BUILD|INSTALL|PACKAGE) knobs if OPTIONS are
defined. [11]
* Add an ability to depend on versioned installed package. [12]
Example:
BUILD_DEPENDS=p5-Tree-Simple>=1.12:${PORTSDIR}/devel/p5-Tree-Simple
Please note, it's experimental feature, work is currently in
progress.
PR: ports/81922 [1], ports/77820 [2], ports/80023 [2],
ports/78597 [2], ports/79011 [3], ports/79012 [3],
ports/81168 [4], ports/78607 [5], ports/79604 [6],
ports/80653 [7], ports/80880 [8], ports/81189 [9],
ports/78144 [10], ports/69512 [11], ports/79823 [12]
Submitted by: gerald [1], clement [2], lawrance [2], Jilles
Tjoelker <jilles at stack dot nl> [3], marcus [4],
adamw [5], ale [6], Vsevolod Stakhov <vsevolod at
highsecure.dot.ru> [7], Vasil Dimov <vd at datamax dot bg> [8],
sem [10], leeym [11], tobez [12]
2005-06-09 20:39:43 +00:00
. e n d i f
* Remove some obsolete options: BROKEN_ELF, USE_DGS, NO_WRKDIR,
NO_EXTRACT, NO_CONFIGURE, NO_PATCH. [1]
* Remove support for USE_KDE{BASE,LIBS}_VER=2, since KDE 2.x is no
longer in the ports collection [2]
* Add support for semi-automatic processing of GNU info files; they
should be listed in the INFO variable (without the trailing .info),
and appropriate installation/deinstallation code will be automatically
added to the temporary pkg-plist before package registration. [3]
Submitted by: arved [1][2], gerald [3]
PR: ports/54782 [1][2], ports/54883 [3]
2003-08-04 01:17:39 +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
. i f ! t a r g e t ( i n s t a l l - r c - s c r i p t )
2014-05-05 09:45:36 +00:00
.if defined(USE_RCORDER) || defined(USE_RC_SUBR) && ${USE_RC_SUBR : tu } != "YES "
2014-01-03 23:01:01 +00:00
install-rc-script :
* Add info files to TMPPLIST, only if INFO is specified. [1]
* Fix PATH problems during README.html generation if "make
-DPORTSTOP readmes" is defined. [2]
* Add support for early rcNG startup scripts. [3]
* Remove duplicate USE_XLIB handling. [4]
* Add check for USE_PYTHON_(BUILD|RUN), and include bsd.python.mk if
both are specified. [5]
* Use PRE-INSTALL target for SUB_FILES and SUB_LIST. [6]
* Introduce bsd.gstreamer.mk and utilize new macros:
USE_GSTREAMER/WANT_GSTREAMER. [7]
PR: ports/77634 [1], ports/77592 [2], ports/77385 [3],
ports/77557 [4], ports/77344 [5], ports/77211 [6],
ports/77838 [7]
Submitted by: krion [1] [2], Florent Thoumie <flz@xbsd.org> [3] [6],
pav [4], lofi [5], ahze [7]
2005-02-28 21:09:05 +00:00
. i f d e f i n e d ( U S E _ R C O R D E R )
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 early rc.d startup script(s)"
* Add info files to TMPPLIST, only if INFO is specified. [1]
* Fix PATH problems during README.html generation if "make
-DPORTSTOP readmes" is defined. [2]
* Add support for early rcNG startup scripts. [3]
* Remove duplicate USE_XLIB handling. [4]
* Add check for USE_PYTHON_(BUILD|RUN), and include bsd.python.mk if
both are specified. [5]
* Use PRE-INSTALL target for SUB_FILES and SUB_LIST. [6]
* Introduce bsd.gstreamer.mk and utilize new macros:
USE_GSTREAMER/WANT_GSTREAMER. [7]
PR: ports/77634 [1], ports/77592 [2], ports/77385 [3],
ports/77557 [4], ports/77344 [5], ports/77211 [6],
ports/77838 [7]
Submitted by: krion [1] [2], Florent Thoumie <flz@xbsd.org> [3] [6],
pav [4], lofi [5], ahze [7]
2005-02-28 21:09:05 +00:00
@${ ECHO_CMD } "@cwd /" >> ${ TMPPLIST }
@for i in ${ USE_RCORDER } ; do \
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
${ INSTALL_SCRIPT } ${ WRKDIR } /$$ { i} ${ STAGEDIR } /etc/rc.d/$$ { i%.sh} ; \
* Add info files to TMPPLIST, only if INFO is specified. [1]
* Fix PATH problems during README.html generation if "make
-DPORTSTOP readmes" is defined. [2]
* Add support for early rcNG startup scripts. [3]
* Remove duplicate USE_XLIB handling. [4]
* Add check for USE_PYTHON_(BUILD|RUN), and include bsd.python.mk if
both are specified. [5]
* Use PRE-INSTALL target for SUB_FILES and SUB_LIST. [6]
* Introduce bsd.gstreamer.mk and utilize new macros:
USE_GSTREAMER/WANT_GSTREAMER. [7]
PR: ports/77634 [1], ports/77592 [2], ports/77385 [3],
ports/77557 [4], ports/77344 [5], ports/77211 [6],
ports/77838 [7]
Submitted by: krion [1] [2], Florent Thoumie <flz@xbsd.org> [3] [6],
pav [4], lofi [5], ahze [7]
2005-02-28 21:09:05 +00:00
${ ECHO_CMD } " etc/rc.d/ $$ {i%.sh} " >> ${ TMPPLIST } ; \
done
@${ ECHO_CMD } " @cwd ${ PREFIX } " >> ${ TMPPLIST }
. e n d i f
2014-05-05 09:45:36 +00:00
.if defined(USE_RC_SUBR) && ${USE_RC_SUBR : tu } != "YES "
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)"
* Add info files to TMPPLIST, only if INFO is specified. [1]
* Fix PATH problems during README.html generation if "make
-DPORTSTOP readmes" is defined. [2]
* Add support for early rcNG startup scripts. [3]
* Remove duplicate USE_XLIB handling. [4]
* Add check for USE_PYTHON_(BUILD|RUN), and include bsd.python.mk if
both are specified. [5]
* Use PRE-INSTALL target for SUB_FILES and SUB_LIST. [6]
* Introduce bsd.gstreamer.mk and utilize new macros:
USE_GSTREAMER/WANT_GSTREAMER. [7]
PR: ports/77634 [1], ports/77592 [2], ports/77385 [3],
ports/77557 [4], ports/77344 [5], ports/77211 [6],
ports/77838 [7]
Submitted by: krion [1] [2], Florent Thoumie <flz@xbsd.org> [3] [6],
pav [4], lofi [5], ahze [7]
2005-02-28 21:09:05 +00:00
@${ ECHO_CMD } " @cwd ${ PREFIX } " >> ${ 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
@for i in ${ USE_RC_SUBR } ; do \
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
${ INSTALL_SCRIPT } ${ WRKDIR } /$$ { i} ${ STAGEDIR } ${ PREFIX } /etc/rc.d/$$ { i%.sh} ; \
2010-04-16 07:18:28 +00:00
${ ECHO_CMD } " 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
. e n d i f
. e n d i f
. e n d i f
1998-09-10 06:38:02 +00:00
# Compress (or uncompress) and symlink manpages.
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
. i f ! t a r g e t ( c o m p r e s s - m a n )
2002-03-25 08:48:47 +00:00
. i f d e f i n e d ( _ M A N P A G E S ) | | d e f i n e d ( _ M L I N K S )
2014-01-03 23:01:01 +00:00
compress-man :
2009-12-29 10:25:55 +00:00
. i f ${MANCOMPRESSED} = = yes && defined( NO_MANCOMPRESS)
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 } " ===> Uncompressing manual pages for ${ PKGNAME } "
2003-09-03 19:50:24 +00:00
@_manpages= '${_MANPAGES:S/' /'\' '/g}' && [ " $$ {_manpages} " != "" ] && ( eval ${ GUNZIP_CMD } $$ { _manpages} ) || ${ TRUE }
2009-12-29 10:25:55 +00:00
. e l i f ${MANCOMPRESSED} = = no && !defined( NO_MANCOMPRESS)
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 } " ===> Compressing manual pages for ${ PKGNAME } "
2003-09-03 19:50:24 +00:00
@_manpages= '${_MANPAGES:S/' /'\' '/g}' && [ " $$ {_manpages} " != "" ] && ( eval ${ GZIP_CMD } $$ { _manpages} ) || ${ TRUE }
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
. e n d i f
1998-09-10 06:38:02 +00:00
. i f d e f i n e d ( _ M L I N K S )
* Add missing '|| true' to silence an @unexec rmdir [1]
* Repair CONFLICTS, which was broken by previous DESTDIR changes [2]
* Use "set --" instead of "set" for better robustness [3]
* Avoid :L modifier in ${USE_LDCONFIG} which broke e.g. /usr/X11R6
ports [4]
* Correct a comment typo [4]
* Force passive FTP mode by default (this is already the default with
the standard login class, so this is a NOP for most users) [5].
PR: ports/101809 [1], ports/102300 [2], ports/102514 [3],
ports/102750 [4], ports/96088 [5]
Submitted by: bsam [1], Matthias Andree <matthias.andree@gmx.de> [2],
infofarmer [3], flz [4],
Darren Pilgrim <darren.pilgrim@bitfreak.org> [5]
2006-09-20 04:02:09 +00:00
@set -- ${ _MLINKS } ; \
1998-09-10 06:38:02 +00:00
while :; do \
[ $$ # -eq 0 ] && break || ${TRUE}; \
2003-09-03 19:50:24 +00:00
${ RM } -f $$ { 2%.gz} ; ${ RM } -f $$ 2.gz; \
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
${ LN } -fs ` ${ ECHO_CMD } $$ 1 $$ 2 | ${ AWK } ' { \
1998-09-10 06:38:02 +00:00
z = split( $$ 1, a, /\/ /) ; x = split( $$ 2, b, /\/ /) ; \
while ( a[ i] = = b[ i] ) i++; \
for ( q = i; q<x; q++) printf "../" ; \
for ( ; i<z; i++) printf a[ i] "/" ; printf a[ z] ; } ' ` $$ 2; \
shift; shift; \
done
. e n d i f
2002-03-25 08:48:47 +00:00
. e n d i f
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
. e n d i f
1995-04-20 18:03:02 +00:00
# Fake installation of package so that user can pkg_delete it later.
# Also, make sure that an installed port is recognized correctly in
# accordance to the @pkgdep directive in the packing lists
. i f ! t a r g e t ( f a k e - p k g )
2002-03-25 08:48:47 +00:00
. i f ! d e f i n e d ( N O _ P K G _ R E G I S T E R )
2014-01-03 23:01:01 +00:00
fake-pkg :
1996-11-01 07:22:37 +00:00
@if [ ! -d ${ PKG_DBDIR } ] ; then ${ RM } -f ${ PKG_DBDIR } ; ${ MKDIR } ${ PKG_DBDIR } ; fi
1999-11-11 02:36:15 +00:00
@${ RM } -f /tmp/${ PKGNAME } -required-by
1995-05-10 09:30:09 +00:00
. i f d e f i n e d ( F O R C E _ P K G _ R E G I S T E R )
1999-11-11 02:36:15 +00:00
@if [ -e ${ PKG_DBDIR } /${ PKGNAME } /+REQUIRED_BY ] ; then \
${ CP } ${ PKG_DBDIR } /${ PKGNAME } /+REQUIRED_BY /tmp/${ PKGNAME } -required-by; \
fi
1996-03-06 08:08:16 +00:00
@${ RM } -rf ${ PKG_DBDIR } /${ PKGNAME }
1995-05-10 09:30:09 +00:00
. e n d i f
2006-08-14 13:24:18 +00:00
@if [ ! -d ${ PKG_DBDIR } /${ PKGNAME } ] ; then \
2007-08-04 11:37:24 +00:00
${ ECHO_MSG } " ===> Registering installation for ${ PKGNAME } " ; \
2006-08-14 13:24:18 +00:00
${ MKDIR } ${ PKG_DBDIR } /${ PKGNAME } ; \
1995-04-22 00:01:26 +00:00
${ PKG_CMD } ${ PKG_ARGS } -O ${ PKGFILE } > ${ PKG_DBDIR } /${ PKGNAME } /+CONTENTS; \
1997-03-06 08:28:15 +00:00
${ CP } ${ DESCR } ${ PKG_DBDIR } /${ PKGNAME } /+DESC; \
2003-05-06 05:15:18 +00:00
${ ECHO_CMD } ${ COMMENT : Q } > ${ PKG_DBDIR } /${ PKGNAME } /+COMMENT; \
1998-12-12 07:39:30 +00:00
if [ -f ${ PKGINSTALL } ] ; then \
${ CP } ${ PKGINSTALL } ${ PKG_DBDIR } /${ PKGNAME } /+INSTALL; \
1995-06-26 07:01:20 +00:00
fi ; \
1998-12-12 07:39:30 +00:00
if [ -f ${ PKGDEINSTALL } ] ; then \
${ CP } ${ PKGDEINSTALL } ${ PKG_DBDIR } /${ PKGNAME } /+DEINSTALL; \
1995-06-26 07:01:20 +00:00
fi ; \
1998-12-12 07:39:30 +00:00
if [ -f ${ PKGREQ } ] ; then \
${ CP } ${ PKGREQ } ${ PKG_DBDIR } /${ PKGNAME } /+REQUIRE; \
1995-06-26 07:01:20 +00:00
fi ; \
1998-12-12 07:39:30 +00:00
if [ -f ${ PKGMESSAGE } ] ; then \
${ CP } ${ PKGMESSAGE } ${ PKG_DBDIR } /${ PKGNAME } /+DISPLAY; \
2010-11-30 21:36:42 +00:00
${ ECHO_CMD } "@display +DISPLAY" >> ${ PKG_DBDIR } /${ PKGNAME } /+CONTENTS; \
1997-10-08 05:04:48 +00:00
fi ; \
2007-04-02 22:44:52 +00:00
for dep in ` ${ PKG_INFO } -qf ${ PKGNAME } | ${ AWK } '/^@pkgdep / {print $$2}' | ${ SORT } -u` ; do \
* 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 [ -d ${ PKG_DBDIR } /$$ dep -a -z ` ${ ECHO_CMD } $$ dep | ${ GREP } -E ${ PKG_IGNORE_DEPENDS } ` ] ; then \
1997-01-25 02:45:09 +00:00
if ! ${ GREP } ^${ PKGNAME } $$ ${ PKG_DBDIR } /$$ dep/+REQUIRED_BY \
>/dev/null 2>& 1; 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 } ${ PKGNAME } >> ${ PKG_DBDIR } /$$ dep/+REQUIRED_BY; \
1997-01-25 02:45:09 +00:00
fi ; \
fi ; \
2006-08-14 13:24:18 +00:00
done ; \
fi
* 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
. i f ! d e f i n e d ( N O _ M T R E E )
2002-10-02 07:18:17 +00:00
@if [ -f ${ MTREE_FILE } ] ; then \
${ CP } ${ MTREE_FILE } ${ PKG_DBDIR } /${ PKGNAME } /+MTREE_DIRS; \
* 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
fi
. e n d i f
1999-11-11 02:36:15 +00:00
@if [ -e /tmp/${ PKGNAME } -required-by ] ; then \
${ CAT } /tmp/${ PKGNAME } -required-by >> ${ PKG_DBDIR } /${ PKGNAME } /+REQUIRED_BY; \
${ RM } -f /tmp/${ PKGNAME } -required-by; \
fi
2002-03-25 08:48:47 +00:00
. e n d i f
1995-04-20 18:03:02 +00:00
. e n d i f
1994-08-28 14:41:34 +00:00
1994-08-22 10:46:38 +00:00
# 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.
#
. i f ! t a r g e t ( d e p e n d )
depend :
1994-08-21 13:12:57 +00:00
. e n d i f
1994-08-22 11:20:07 +00:00
# Same goes for tags
. i f ! t a r g e t ( t a g s )
tags :
. e n d i f
1998-11-11 05:21:29 +00:00
2004-08-03 19:03:58 +00:00
. i f ! d e f i n e d ( N O P R E C I O U S M A K E V A R S )
1999-07-23 09:36:55 +00:00
# These won't change, so we can pass them through the environment
.MAKEFLAGS : \
ARCH = " ${ ARCH : S / "/" '"' "/g:S/\$/\$\$/g:S/\\/\\\\/g}" \
OPSYS = " ${ OPSYS : S / "/" '"' "/g:S/\$/\$\$/g:S/\\/\\\\/g}" \
OSREL = " ${ OSREL : S / "/" '"' "/g:S/\$/\$\$/g:S/\\/\\\\/g}" \
OSVERSION = " ${ OSVERSION : S / "/" '"' "/g:S/\$/\$\$/g:S/\\/\\\\/g}" \
SYSTEMVERSION = " ${ SYSTEMVERSION : S / "/" '"' "/g:S/\$/\$\$/g:S/\\/\\\\/g}"
. e n d i f
2012-05-29 09:54:27 +00:00
. i f ! t a r g e t ( p r e - c h e c k - c o n f i g )
pre-check-config :
. f o r s i n g l e i n $ { O P T I O N S _ S I N G L E }
. f o r o p t i n $ { O P T I O N S _ S I N G L E _ $ { s i n g l e } }
. if empty(ALL_OPTIONS : M ${single }) | | !empty (PORT_OPTIONS :M ${single })
. if !empty(PORT_OPTIONS : M ${opt })
. i f d e f i n e d ( O P T F O U N D )
OPTIONS_WRONG_SINGLE += ${ single }
. e l s e
OPTFOUND = true
. e n d i f
. e n d i f
. e l s e
# if conditional and if the condition is unchecked, remove opt from the list of
# set options
PORT_OPTIONS := ${ PORT_OPTIONS : N ${ opt } }
OPTNOCHECK = true
. e n d i f
. e n d f o r
. i f ! d e f i n e d ( O P T F O U N D ) & & ! d e f i n e d ( O P T N O C H E C K )
OPTIONS_WRONG_SINGLE += ${ single }
. e n d i f
. u n d e f O P T F O U N D
. u n d e f O P T N O C H E C K
. e n d f o r
. u n d e f s i n g l e
2012-12-10 10:14:05 +00:00
. f o r r a d i o i n $ { O P T I O N S _ R A D I O }
. f o r o p t i n $ { O P T I O N S _ R A D I O _ $ { r a d i o } }
. if !empty(PORT_OPTIONS : M ${opt })
. i f d e f i n e d ( O P T F O U N D )
OPTIONS_WRONG_RADIO += ${ radio }
. e l s e
OPTFOUND = true
. e n d i f
. e n d i f
. e n d f o r
. u n d e f O P T F O U N D
. e n d f o r
2012-05-29 09:54:27 +00:00
. f o r m u l t i i n $ { O P T I O N S _ M U L T I }
. f o r o p t i n $ { O P T I O N S _ M U L T I _ $ { m u l t i } }
. if empty(ALL_OPTIONS : M ${multi }) | | !empty (PORT_OPTIONS :M ${multi })
. if !empty(PORT_OPTIONS : M ${opt })
OPTFOUND = true
. e n d i f
. e l s e
# if conditional and if the condition is unchecked, remove opt from the list of
# set options
PORT_OPTIONS := ${ PORT_OPTIONS : N ${ opt } }
OPTNOCHECK = true
. e n d i f
. e n d f o r
. i f ! d e f i n e d ( O P T F O U N D ) & & ! d e f i n e d ( O P T N O C H E C K )
2012-05-31 14:27:23 +00:00
OPTIONS_WRONG_MULTI += ${ multi }
2012-05-29 09:54:27 +00:00
. e n d i f
. u n d e f O P T F O U N D
. u n d e f O P T N O C H E C K
. e n d f o r
. u n d e f m u l t i
. u n d e f o p t
. e n d i f #pre-check-config
2012-06-09 12:19:12 +00:00
. i f ! t a r g e t ( _ c h e c k - c o n f i g )
_check-config : pre -check -config
2012-05-29 09:54:27 +00:00
. f o r m u l t i i n $ { O P T I O N S _ W R O N G _ M U L T I }
@${ ECHO_MSG } " ====> You must check at least one option in the ${ multi } multi "
. e n d f o r
. f o r s i n g l e i n $ { O P T I O N S _ W R O N G _ S I N G L E }
@${ ECHO_MSG } " ====> You must select one and only one option from the ${ single } single "
. e n d f o r
2012-12-10 10:14:05 +00:00
. f o r r a d i o i n $ { O P T I O N S _ W R O N G _ R A D I O }
@${ ECHO_MSG } " ====> You cannot select multiple options from the ${ radio } radio "
. e n d f o r
. i f ! e m p t y ( O P T I O N S _ W R O N G _ M U L T I ) | | ! e m p t y ( O P T I O N S _ W R O N G _ S I N G L E ) | | ! e m p t y ( O P T I O N S _ W R O N G _ R A D I O )
2012-06-09 12:19:12 +00:00
_CHECK_CONFIG_ERROR = true
. e n d i f
. e n d i f # _check-config
. i f ! t a r g e t ( c h e c k - c o n f i g )
check-config : _check -config
. i f ! e m p t y ( _ C H E C K _ C O N F I G _ E R R O R )
2014-04-10 17:03:54 +00:00
@${ FALSE }
2012-06-09 12:19:12 +00:00
. e n d i f
2012-05-29 09:54:27 +00:00
. e n d i f # check-config
2012-06-09 12:19:12 +00:00
. i f ! t a r g e t ( s a n i t y - c o n f i g )
sanity-config : _check -config
. i f ! e m p t y ( _ C H E C K _ C O N F I G _ E R R O R )
2013-03-13 00:31:27 +00:00
@echo -n "Config is invalid. Re-edit? [Y/n] " ; \
2012-06-09 12:19:12 +00:00
read answer; \
case $$ answer in \
[ Nn] | [ Nn] [ Oo] ) \
exit 0; \
esac ; \
2012-06-15 12:04:52 +00:00
cd ${ .CURDIR } && ${ MAKE } config
2012-06-09 12:19:12 +00:00
. e n d i f
. e n d i f # sanity-config
2012-05-29 09:54:27 +00:00
. i f ! t a r g e t ( p r e - c o n f i g )
pre-config :
2013-03-19 09:27:52 +00:00
D4P_ENV = PKGNAME = " ${ PKGNAME } " \
PORT_OPTIONS = " ${ PORT_OPTIONS } " \
ALL_OPTIONS = " ${ ALL_OPTIONS } " \
OPTIONS_MULTI = " ${ OPTIONS_MULTI } " \
OPTIONS_SINGLE = " ${ OPTIONS_SINGLE } " \
OPTIONS_RADIO = " ${ OPTIONS_RADIO } " \
2013-03-21 02:55:32 +00:00
OPTIONS_GROUP = " ${ OPTIONS_GROUP } " \
2013-06-17 11:12:22 +00:00
NEW_OPTIONS = " ${ NEW_OPTIONS } " \
2013-03-21 02:55:32 +00:00
DIALOG4PORTS = " ${ DIALOG4PORTS } " \
2013-03-21 11:13:49 +00:00
PREFIX = " ${ PREFIX } " \
LOCALBASE = " ${ LOCALBASE } " \
2013-03-21 02:55:32 +00:00
PORTSDIR = " ${ PORTSDIR } " \
MAKE = " ${ MAKE } " \
D4PHEIGHT = " ${ D4PHEIGHT } " \
D4PWIDTH = " ${ D4PWIDTH } " \
D4PFULLSCREEN = " ${ D4PFULLSCREEN } "
2013-03-19 09:27:52 +00:00
. i f e x i s t s ( $ { P K G H E L P } )
D4P_ENV += PKGHELP = " ${ PKGHELP } "
. e n d i f
2012-05-29 09:54:27 +00:00
. f o r o p t i n $ { A L L _ O P T I O N S }
2013-03-19 09:27:52 +00:00
D4P_ENV += ${ opt } _DESC = "" ${ ${ opt } _DESC : Q } ""
2012-05-29 09:54:27 +00:00
. e n d f o r
2013-06-10 06:40:45 +00:00
. f o r o t y p e i n M U L T I G R O U P S I N G L E R A D I O
. f o r m i n $ { O P T I O N S _ $ { o t y p e } }
D4P_ENV += OPTIONS_${ otype } _${ m } = " ${ OPTIONS_ ${ otype } _ ${ m } } " \
${ m } _DESC = "" ${ ${ m } _DESC : Q } ""
. f o r o p t i n $ { O P T I O N S _ $ { o t y p e } _ $ { m } }
2013-03-19 09:27:52 +00:00
D4P_ENV += ${ opt } _DESC = "" ${ ${ opt } _DESC : Q } ""
2013-06-10 06:40:45 +00:00
. e n d f o r
2012-05-29 09:54:27 +00:00
. e n d f o r
. e n d f o r
2013-06-10 06:40:45 +00:00
. u n d e f m
. u n d e f o t y p e
2012-05-29 09:54:27 +00:00
. u n d e f o p t
. e n d i f # pre-config
2012-09-20 19:51:30 +00:00
. i f ! t a r g e t ( d o - c o n f i g )
do-config :
2012-12-10 10:14:05 +00:00
. i f e m p t y ( A L L _ O P T I O N S ) & & e m p t y ( O P T I O N S _ S I N G L E ) & & e m p t y ( O P T I O N S _ M U L T I ) & & e m p t y ( O P T I O N S _ R A D I O ) & & e m p t y ( O P T I O N S _ G R O U P )
2004-01-20 09:14:10 +00:00
@${ ECHO_MSG } "===> No options to configure"
. e l s e
2004-02-04 04:27:04 +00:00
. i f ${UID} != 0 && !defined( INSTALL_AS_USER)
2013-06-26 07:22:06 +00:00
@optionsdir= ${ OPTIONS_FILE } ; optionsdir = $$ { optionsdir%/*} ; \
oldoptionsdir = ${ OPTIONSFILE } ; oldoptionsdir = $$ { oldoptionsdir%/*} ; \
2007-10-03 22:24:59 +00:00
${ ECHO_MSG } " ===> Switching to root credentials to create $$ {optionsdir} " ; \
2013-06-26 07:22:06 +00:00
( ${ SU_CMD } " ${ SH } -c \"if [ -d $$ {oldoptionsdir} -a ! -d $$ {optionsdir} ]; then ${ MV } $$ {oldoptionsdir} $$ {optionsdir}; elif [ -d $$ {oldoptionsdir} -a -d $$ {optionsdir} ]; then ${ RM } -rf $$ {oldoptionsdir} ; fi ; ${ MKDIR } $$ {optionsdir} 2> /dev/null\" " ) || \
2007-10-03 22:24:59 +00:00
( ${ ECHO_MSG } " ===> Cannot create $$ {optionsdir}, check permissions " ; exit 1) ; \
${ ECHO_MSG } "===> Returning to user credentials"
2004-02-04 04:27:04 +00:00
. e l s e
2013-07-10 06:44:19 +00:00
@optionsdir= ${ OPTIONS_FILE } ; optionsdir = $$ { optionsdir%/*} ; \
2013-06-26 07:22:06 +00:00
oldoptionsdir = ${ OPTIONSFILE } ; oldoptionsdir = $$ { oldoptionsdir%/*} ; \
if [ -d $$ { oldoptionsdir} -a ! -d $$ { optionsdir} ] ; then \
${ MV } $$ { oldoptionsdir} $$ { optionsdir} ; \
elif [ -d $$ { oldoptionsdir} -a -d $$ { optionsdir} ] ; then \
${ RM } -rf $$ { oldoptionsdir} ; \
fi ; \
2013-07-10 06:44:19 +00:00
${ MKDIR } $$ { optionsdir} 2> /dev/null || \
2012-05-29 09:54:27 +00:00
( ${ ECHO_MSG } " ===> Cannot create $$ {optionsdir}, check permissions " ; exit 1)
2004-02-04 04:27:04 +00:00
. e n d i f
2012-05-29 14:25:13 +00:00
@TMPOPTIONSFILE= $$ ( mktemp -t portoptions) ; \
2004-01-20 09:14:10 +00:00
trap " ${ RM } -f $$ {TMPOPTIONSFILE}; exit 1 " 1 2 3 5 10 13 15; \
2013-10-09 23:01:54 +00:00
${ SETENV } ${ D4P_ENV } ${ SH } ${ SCRIPTSDIR } /dialog4ports.sh $$ { TMPOPTIONSFILE} || { \
2004-01-20 09:14:10 +00:00
${ RM } -f $$ { TMPOPTIONSFILE} ; \
${ ECHO_MSG } "===> Options unchanged" ; \
exit 0; \
2012-05-29 16:55:02 +00:00
} ; \
2013-03-21 02:55:32 +00:00
${ ECHO_CMD } ; \
2012-05-29 09:54:27 +00:00
if [ ! -e $$ { TMPOPTIONSFILE} ] ; then \
2004-02-04 04:27:04 +00:00
${ ECHO_MSG } " ===> No user-specified options to save for ${ PKGNAME } " ; \
2004-01-20 09:14:10 +00:00
exit 0; \
fi ; \
SELOPTIONS = $$ ( ${ CAT } $$ { TMPOPTIONSFILE} ) ; \
2012-05-30 19:04:55 +00:00
${ RM } -f $$ { TMPOPTIONSFILE} ; \
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} ; \
2012-07-16 22:36:44 +00:00
${ ECHO_CMD } " _FILE_COMPLETE_OPTIONS_LIST= ${ COMPLETE_OPTIONS_LIST } " >> $$ { TMPOPTIONSFILE} ; \
for i in ${ COMPLETE_OPTIONS_LIST } ; do \
2012-05-29 09:54:27 +00:00
if ${ ECHO_CMD } $$ { SELOPTIONS} | ${ GREP } -qw $$ { i} ; then \
${ ECHO_CMD } " OPTIONS_FILE_SET+= $$ {i} " >> $$ { TMPOPTIONSFILE} ; \
2004-01-20 09:14:10 +00:00
else \
2012-05-29 09:54:27 +00:00
${ ECHO_CMD } " OPTIONS_FILE_UNSET+= $$ {i} " >> $$ { TMPOPTIONSFILE} ; \
2004-01-20 09:14:10 +00:00
fi ; \
2004-02-04 04:27:04 +00:00
done ; \
2011-03-19 21:30:34 +00:00
if [ ${ UID } != 0 -a " x ${ INSTALL_AS_USER } " = "x" ] ; then \
2013-06-26 07:22:06 +00:00
${ ECHO_MSG } " ===> Switching to root credentials to write ${ OPTIONS_FILE } " ; \
${ SU_CMD } " ${ CAT } $$ {TMPOPTIONSFILE} > ${ OPTIONS_FILE } " ; \
2004-02-04 04:27:04 +00:00
${ ECHO_MSG } "===> Returning to user credentials" ; \
else \
2013-06-26 07:22:06 +00:00
${ CAT } $$ { TMPOPTIONSFILE} > ${ OPTIONS_FILE } ; \
2004-02-04 04:27:04 +00:00
fi ; \
${ RM } -f $$ { TMPOPTIONSFILE}
2012-06-15 12:04:52 +00:00
@cd ${ .CURDIR } && ${ MAKE } sanity-config
2004-01-20 09:14:10 +00:00
. e n d i f
2012-09-20 19:51:30 +00:00
. e n d i f # do-config
. i f ! t a r g e t ( c o n f i g )
2013-03-21 02:55:32 +00:00
. i f ! d e f i n e d ( N O _ D I A L O G )
config : pre -config do -config
. e l s e
config :
@${ ECHO_MSG } "===> Skipping 'config' as NO_DIALOG is defined"
. e n d i f
2012-05-29 09:54:27 +00:00
. e n d i f # config
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
. i f ! t a r g e t ( c o n f i g - r e c u r s i v e )
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
2012-05-29 09:54:27 +00:00
. e n d i f # 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
. i f ! t a r g e t ( c o n f i g - c o n d i t i o n a l )
2013-06-14 12:59:02 +00:00
config-conditional :
. i f ! e m p t y ( N E W _ O P T I O N S )
@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
. e n d i f
2012-05-29 09:54:27 +00:00
. e n d i f # 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
2004-01-20 09:14:10 +00:00
. i f ! t a r g e t ( s h o w c o n f i g )
2012-05-29 09:54:27 +00:00
. i n c l u d e "${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
2004-01-20 09:14:10 +00:00
showconfig :
2013-06-10 06:42:37 +00:00
. i f ! e m p t y ( C O M P L E T E _ O P T I O N S _ L I S T )
2012-05-29 09:54:27 +00:00
@${ ECHO_MSG } " ===> The following configuration options are available for ${ PKGNAME } " :
. f o r o p t i n $ { A L L _ O P T I O N S }
2013-06-14 06:56:16 +00:00
@[ -z " ${ PORT_OPTIONS : M ${ opt } } " ] || match = "on" ; ${ ECHO_MSG } -n " ${ opt } = $$ {match:-off} "
2012-05-29 09:54:27 +00:00
. i f ! e m p t y ( $ { o p t } _ D E S C )
2012-05-30 20:50:05 +00:00
@${ ECHO_MSG } -n ": " ${ ${ opt } _DESC : Q }
2012-05-29 09:54:27 +00:00
. e n d i f
@${ ECHO_MSG } ""
. e n d f o r
2013-06-10 06:22:49 +00:00
#multi and conditional multis
. f o r o t y p e i n M U L T I G R O U P S I N G L E R A D I O
. f o r m i n $ { O P T I O N S _ $ { o t y p e } }
. i f e m p t y ( $ { m } _ D E S C )
2014-05-05 09:45:36 +00:00
@${ ECHO_MSG } " ====> Options available for the ${ otype : tl } ${ m } ${ ${ otype } _EOL } "
2012-12-10 10:14:05 +00:00
. e l s e
2013-06-10 06:22:49 +00:00
@${ ECHO_MSG } " ====> ${ ${ m } _DESC } ${ ${ otype } _EOL } "
2012-12-10 10:14:05 +00:00
. e n d i f
2013-06-10 06:22:49 +00:00
. f o r o p t i n $ { O P T I O N S _ $ { o t y p e } _ $ { m } }
2013-06-14 06:56:16 +00:00
@[ -z " ${ PORT_OPTIONS : M ${ opt } } " ] || match = "on" ; ${ ECHO_MSG } -n " ${ opt } = $$ {match:-off} "
2013-06-10 06:22:49 +00:00
. i f ! e m p t y ( $ { o p t } _ D E S C )
2012-12-10 10:14:05 +00:00
@${ ECHO_MSG } -n ": " ${ ${ opt } _DESC : Q }
2013-06-10 06:22:49 +00:00
. e n d i f
2012-12-10 10:14:05 +00:00
@${ ECHO_MSG } ""
2013-06-10 06:22:49 +00:00
. e n d f o r
2012-12-10 10:14:05 +00:00
. e n d f o r
. e n d f o r
2013-06-10 06:22:49 +00:00
. u n d e f o t y p e
. u n d e f m
2012-05-29 09:54:27 +00:00
. u n d e f o p t
* Update default MySQL version from 4.1 to 5.0 [1]
* Update default PHP version from 4 to 5 [2]
* Update default LDAP version from 2.2 to 2.3 [3]
* Add support for LDAP version 2.4 [4]
* Update default linux_base from '8' (Redhat 8) to 'fc4' (Fedora Core 4) [5]
* Switch default Linux X implementation from XFree86 to xorg to track the
above [5]
* Deprecate INSTALLS_SHLIB and replace it by USE_LDCONFIG. If set to "yes",
the old behavior is preserved. Otherwise, it can be set to a list of
directories to be added to ${PREFIX}/libdata/ldconfig/${UNIQUENAME}.
Note that this directory is used by ldconfig startup script, it is meant
to replace ldconfig scripts installed by some ports as (sometimes
000.${UNQUENAME}.sh) [6]
* Adds USE_LDCONFIG32 which is like USE_LDCONFIG but the target file is
${PREFIX}/libdata/ldconfig32/${UNIQUENAME} instead. (Note: this should
only be used on 64-bit architectures) [6]
* Set the default LANG for tr to be C to avoid some build problems [7]
* Include bsd.java.mk in both pre and post sections [8]
* Get rid of remnants of FORCE_PKG_REGISTER [9]
* Always print options with make showconfig [10]
PR: 92805 [1], 92806 [2], 96793 [3], 97515 [4], 96849 [5],
91933 [6], 91381 [7], 97020 [8], 95841 [9], 97133 [10]
Submitted by: ale [1][2], delphij [3][4], netchild [5], flz [6],
Tsurutani Naoki <turutani at scphys dot kyoto-u dot ac dot jp>
[7], hq [8], sem [9], pav [10]
2006-06-16 04:53:43 +00:00
@${ ECHO_MSG } "===> Use 'make config' to modify these settings"
2012-05-30 21:02:49 +00:00
. e n d i f
2012-05-29 09:54:27 +00:00
. e n d i f # showconfig
2004-01-20 09:14:10 +00:00
2009-01-11 11:04:05 +00:00
. i f ! t a r g e t ( s h o w c o n f i g - r e c u r s i v e )
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
2012-05-29 09:54:27 +00:00
. e n d i f # showconfig-recursive
2009-01-11 11:04:05 +00:00
2004-01-20 09:14:10 +00:00
. i f ! t a r g e t ( r m c o n f i g )
rmconfig :
2012-06-06 14:23:17 +00:00
. i f e x i s t s ( $ { O P T I O N S F I L E } )
2004-02-04 04:27:04 +00:00
-@${ ECHO_MSG } " ===> Removing user-configured options for ${ PKGNAME } " ; \
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
optionsdir = ${ OPTIONSFILE } ; optionsdir = $$ { optionsdir%/*} ; \
2011-03-19 21:30:34 +00:00
if [ ${ UID } != 0 -a " x ${ INSTALL_AS_USER } " = "x" ] ; then \
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_MSG } " ===> Switching to root credentials to remove ${ OPTIONSFILE } and $$ {optionsdir} " ; \
${ SU_CMD } " ${ RM } -f ${ OPTIONSFILE } ; \
2007-10-03 22:24:59 +00:00
${ RMDIR } $$ { optionsdir} " ; \
2004-02-04 04:27:04 +00:00
${ ECHO_MSG } "===> Returning to user credentials" ; \
else \
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
${ RM } -f ${ OPTIONSFILE } ; \
2012-06-06 14:23:17 +00:00
${ RMDIR } $$ { optionsdir} 2>/dev/null || return 0; \
2004-02-04 04:27:04 +00:00
fi
2013-06-26 07:22:06 +00:00
. e n d i f
. i f e x i s t s ( $ { O P T I O N S _ F I L E } )
-@${ ECHO_MSG } " ===> Removing user-configured options for ${ PKGNAME } " ; \
optionsdir = ${ OPTIONS_FILE } ; optionsdir = $$ { optionsdir%/*} ; \
if [ ${ UID } != 0 -a " x ${ INSTALL_AS_USER } " = "x" ] ; 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
2004-01-20 09:14:10 +00:00
. e l s e
2004-02-04 04:27:04 +00:00
@${ ECHO_MSG } " ===> No user-specified options configured for ${ PKGNAME } "
2004-01-20 09:14:10 +00:00
. e n d i f
2012-05-29 09:54:27 +00:00
. e n d i f # rmconfig
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
. i f ! t a r g e t ( r m c o n f i g - r e c u r s i v e )
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
2012-05-29 09:54:27 +00:00
. e n d i f # rmconfig-recursive
. i f ! t a r g e t ( p r e t t y - p r i n t - c o n f i g )
2013-06-10 06:30:30 +00:00
MULTI_START = [
MULTI_END = ]
GROUP_START = [
GROUP_END = ]
SINGLE_START = (
SINGLE_END = )
RADIO_START = (
RADIO_END = )
2012-05-29 09:54:27 +00:00
pretty-print-config :
. f o r o p t i n $ { A L L _ O P T I O N S }
2013-06-14 06:56:16 +00:00
@[ -z " ${ PORT_OPTIONS : M ${ opt } } " ] || match = "+" ; ${ ECHO_MSG } -n " $$ {match:--} ${ opt } "
2012-05-29 09:54:27 +00:00
. e n d f o r
2013-06-10 06:30:30 +00:00
. f o r o t y p e i n M U L T I G R O U P S I N G L E R A D I O
. f o r m i n $ { O P T I O N S _ $ { o t y p e } }
@${ ECHO_MSG } -n " ${ m } ${ ${ otype } _START } "
. f o r o p t i n $ { O P T I O N S _ $ { o t y p e } _ $ { m } }
2013-06-14 06:56:16 +00:00
@[ -z " ${ PORT_OPTIONS : M ${ opt } } " ] || match = "+" ; ${ ECHO_MSG } -n " $$ {match:--} ${ opt } "
. e n d f o r
2013-06-10 06:30:30 +00:00
@${ ECHO_MSG } -n " ${ ${ otype } _END } "
2012-12-10 10:14:05 +00:00
. e n d f o r
. e n d f o r
2013-06-10 06:30:30 +00:00
. u n d e f o t y p e
. u n d e f m
2012-05-29 09:54:27 +00:00
. u n d e f o p t
@${ ECHO_MSG } ""
. e n d i f # 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
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
desktop-categories :
@categories= "" ; \
for native_category in ${ CATEGORIES } ; do \
c = "" ; \
case $$ native_category in \
2013-01-23 14:32:20 +00:00
accessibility) c = "Utility Accessibility" ; ; \
archivers) c = "Utility Archiving" ; ; \
astro) c = "Education Science Astronomy" ; ; \
audio) c = "AudioVideo Audio" ; ; \
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
benchmarks) c = "System" ; ; \
2013-01-23 14:32:20 +00:00
biology) c = "Education Science Biology" ; ; \
cad) c = "Graphics Engineering" ; ; \
comms) c = "Utility" ; ; \
converters) c = "Utility" ; ; \
databases) c = "Office Database" ; ; \
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
deskutils) c = "Utility" ; ; \
devel) c = "Development" ; ; \
dns) c = "Network" ; ; \
elisp) c = "Development" ; ; \
2013-01-23 14:32:20 +00:00
editors) c = "Utility" ; ; \
emulators) c = "System Emulator" ; ; \
finance) c = "Office Finance" ; ; \
ftp) c = "Network FileTransfer" ; ; \
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
games) c = "Game" ; ; \
2013-01-23 14:32:20 +00:00
geography) c = "Education Science Geography" ; ; \
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
gnome) c = "GNOME GTK" ; ; \
graphics) c = "Graphics" ; ; \
hamradio) c = "HamRadio" ; ; \
haskell) c = "Development" ; ; \
2013-01-23 14:32:20 +00:00
irc) c = "Network IRCClient" ; ; \
java) c = "Development Java" ; ; \
kde) c = "KDE Qt" ; ; \
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
lang) c = "Development" ; ; \
lisp) c = "Development" ; ; \
2013-01-23 14:32:20 +00:00
mail) c = "Office Email" ; ; \
2013-11-23 11:39:07 +00:00
mate) c = "MATE GTK" ; ; \
2013-01-23 14:32:20 +00:00
math) c = "Education Science Math" ; ; \
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
mbone) c = "Network AudioVideo" ; ; \
multimedia) c = "AudioVideo" ; ; \
net) c = "Network" ; ; \
2013-01-23 14:32:20 +00:00
net-im) c = "Network InstantMessaging" ; ; \
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
net-mgmt) c = "Network" ; ; \
2013-01-23 14:32:20 +00:00
net-p2p) c = "Network P2P" ; ; \
news) c = "Network News" ; ; \
palm) c = "Office PDA" ; ; \
parallel) c = "ParallelComputing" ; ; \
pear) c = "Development WebDevelopment" ; ; \
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
perl5) c = "Development" ; ; \
python) c = "Development" ; ; \
ruby) c = "Development" ; ; \
rubygems) c = "Development" ; ; \
scheme) c = "Development" ; ; \
science) c = "Science Education" ; ; \
2013-01-23 14:32:20 +00:00
security) c = "System Security" ; ; \
shells) c = "System Shell" ; ; \
sysutils) c = "System" ; ; \
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
tcl*| tk*) c = "Development" ; ; \
2013-01-23 14:32:20 +00:00
textproc) c = "Utility TextTools" ; ; \
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
www) c = "Network" ; ; \
2013-01-23 14:32:20 +00:00
x11-clocks) c = "Utility Clock" ; ; \
x11-fm) c = "System FileManager" ; ; \
xfce) c = "GTK XFCE" ; ; \
zope) c = "Development WebDevelopment" ; ; \
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
esac ; \
if [ -n " $$ c " ] ; then \
categories = " $$ categories $$ c " ; \
fi ; \
done ; \
if [ -n " $$ categories " ] ; then \
2013-01-23 14:32:20 +00:00
for c in $$ categories; do ${ ECHO_MSG } " $$ c " ; done \
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
| ${ SORT } -u | ${ TR } '\n' ';' ; \
${ ECHO_MSG } ; \
fi
2013-01-23 14:32:20 +00:00
# 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 \
2013-11-23 11:39:07 +00:00
Core KDE GNOME MATE XFCE GTK Qt Motif Java ConsoleOnly
2013-01-23 14:32:20 +00:00
DESKTOP_CATEGORIES_RESERVED = Screensaver TrayIcon Applet Shell
VALID_DESKTOP_CATEGORIES += ${ DESKTOP_CATEGORIES_MAIN } \
${ DESKTOP_CATEGORIES_ADDITIONAL } \
${ DESKTOP_CATEGORIES_RESERVED }
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
. i f d e f i n e d ( D E S K T O P _ E N T R I E S )
2014-01-03 23:01:01 +00:00
check-desktop-entries :
* Add missing '|| true' to silence an @unexec rmdir [1]
* Repair CONFLICTS, which was broken by previous DESTDIR changes [2]
* Use "set --" instead of "set" for better robustness [3]
* Avoid :L modifier in ${USE_LDCONFIG} which broke e.g. /usr/X11R6
ports [4]
* Correct a comment typo [4]
* Force passive FTP mode by default (this is already the default with
the standard login class, so this is a NOP for most users) [5].
PR: ports/101809 [1], ports/102300 [2], ports/102514 [3],
ports/102750 [4], ports/96088 [5]
Submitted by: bsam [1], Matthias Andree <matthias.andree@gmx.de> [2],
infofarmer [3], flz [4],
Darren Pilgrim <darren.pilgrim@bitfreak.org> [5]
2006-09-20 04:02:09 +00:00
@set -- ${ DESKTOP_ENTRIES } XXX; \
* Change all bogus uses of BROKEN to IGNORE. Note: the BROKEN_WITH_*
forms are retained for compatibility but deprecated [1]
* Add sha256 to CHECKSUM_ALGORITHMS [2]
* Remove some whitespace [2]
* Add USE_SCONS and bsd.scons.mk for the Python-based SCons build system [3]
* Fix USE_LDCONFIG with non-default PREFIX [4]
* Add USE_WX and friends, and bsd.wx.mk, for common code for WxWidgets
support [5]
* Add 'make missing' to show missing dependencies [6]
* Fix DESKTOP_ENTRIES processing on 4.x [7]
PR: 92445 [1], 98206 [2], 98731 [3], 99370 [4], 89398 [5],
93601 [6], 98891 [7]
Submitted by: linimon [1], edwin [2], alex at foxybanana dot com [3],
gerald [4], flz [4], alepulver [5], alex at fafula dot com [6],
shaun [7]
2006-07-05 02:18:09 +00:00
if [ ` ${ EXPR } \( $$ # - 1 \) % 6` -ne 0 ]; then \
2006-08-04 12:34:50 +00:00
${ ECHO_MSG } " ${ PKGNAME } : Makefile error: the DESKTOP_ENTRIES list must contain one or more groups of 6 elements " ; \
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
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 \
2007-03-24 14:02:06 +00:00
${ ECHO_MSG } " ${ PKGNAME } : Makefile error: in desktop entry $$ entry: field 1 (Name) is empty " ; \
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
exit 1; \
fi ; \
2013-01-23 14:32:20 +00:00
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 ; \
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
if [ -z " $$ 4 " ] ; then \
2007-03-24 14:02:06 +00:00
${ ECHO_MSG } " ${ PKGNAME } : Makefile error: in desktop entry $$ entry: field 4 (Exec) is empty " ; \
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
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 \
2013-01-23 14:32:20 +00:00
${ ECHO_CMD } " ${ PKGNAME } : Makefile warning: in desktop entry $$ entry: category $$ c is not a valid desktop category " ; \
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
fi ; \
done ; \
2013-01-23 14:32:20 +00:00
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 ; \
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
if ! ${ ECHO_CMD } " $$ 5 " | ${ GREP } -q ';$$' ; then \
2007-03-24 14:02:06 +00:00
${ ECHO_MSG } " ${ PKGNAME } : Makefile error: in desktop entry $$ entry: field 5 (Categories) does not end with a semicolon " ; \
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
exit 1; \
fi ; \
else \
2011-07-21 15:10:46 +00:00
if [ -z " `cd ${ .CURDIR } && ${ MAKE } desktop-categories` " ] ; then \
2007-03-24 14:02:06 +00:00
${ ECHO_MSG } " ${ PKGNAME } : Makefile error: in desktop entry $$ entry: field 5 (Categories) is empty and could not be deduced from the CATEGORIES variable " ; \
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
exit 1; \
fi ; \
fi ; \
2013-01-23 14:32:20 +00:00
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) " ; \
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
exit 1; \
fi ; \
shift 6; \
* Change all bogus uses of BROKEN to IGNORE. Note: the BROKEN_WITH_*
forms are retained for compatibility but deprecated [1]
* Add sha256 to CHECKSUM_ALGORITHMS [2]
* Remove some whitespace [2]
* Add USE_SCONS and bsd.scons.mk for the Python-based SCons build system [3]
* Fix USE_LDCONFIG with non-default PREFIX [4]
* Add USE_WX and friends, and bsd.wx.mk, for common code for WxWidgets
support [5]
* Add 'make missing' to show missing dependencies [6]
* Fix DESKTOP_ENTRIES processing on 4.x [7]
PR: 92445 [1], 98206 [2], 98731 [3], 99370 [4], 89398 [5],
93601 [6], 98891 [7]
Submitted by: linimon [1], edwin [2], alex at foxybanana dot com [3],
gerald [4], flz [4], alepulver [5], alex at fafula dot com [6],
shaun [7]
2006-07-05 02:18:09 +00:00
num = ` ${ EXPR } $$ num + 1` ; \
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
done
. e n d i f
* 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
. i f ! t a r g e t ( i n s t a l l - d e s k t o p - e n t r i e s )
. i f d e f i n e d ( D E S K T O P _ E N T R I E S )
2014-01-03 23:01:01 +00:00
install-desktop-entries :
* Add missing '|| true' to silence an @unexec rmdir [1]
* Repair CONFLICTS, which was broken by previous DESTDIR changes [2]
* Use "set --" instead of "set" for better robustness [3]
* Avoid :L modifier in ${USE_LDCONFIG} which broke e.g. /usr/X11R6
ports [4]
* Correct a comment typo [4]
* Force passive FTP mode by default (this is already the default with
the standard login class, so this is a NOP for most users) [5].
PR: ports/101809 [1], ports/102300 [2], ports/102514 [3],
ports/102750 [4], ports/96088 [5]
Submitted by: bsam [1], Matthias Andree <matthias.andree@gmx.de> [2],
infofarmer [3], flz [4],
Darren Pilgrim <darren.pilgrim@bitfreak.org> [5]
2006-09-20 04:02:09 +00:00
@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
if [ -z " ${ _DESKTOPDIR_REL } " ] ; then \
${ ECHO_CMD } " @cwd ${ DESKTOPDIR } " >> ${ TMPPLIST } ; \
fi ; \
while [ $$ # -gt 6 ]; do \
2013-01-23 14:32:20 +00:00
filename = " ` ${ ECHO_CMD } " $$ 4" | ${ SED } -e 's,^/,,g;s,[/ ],_,g;s,[^_[:alnum:]],,g'`.desktop " ; \
2013-09-23 21:21:05 +00:00
pathname = " ${ STAGEDIR } ${ DESKTOPDIR } / $$ filename " ; \
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
categories = " $$ 5 " ; \
if [ -z " $$ categories " ] ; then \
2011-07-21 15:10:46 +00:00
categories = " `cd ${ .CURDIR } && ${ MAKE } desktop-categories` " ; \
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
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
${ ECHO_CMD } " ${ _DESKTOPDIR_REL } $$ filename " >> ${ TMPPLIST } ; \
${ ECHO_CMD } "[Desktop Entry]" > $$ pathname; \
${ ECHO_CMD } "Type=Application" >> $$ pathname; \
2013-01-23 14:32:20 +00:00
${ 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; \
2013-01-23 14:32:20 +00:00
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 ; \
2013-01-23 14:32:20 +00:00
${ 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; \
* Avoid .if syntax that causes syntax error on old 4.x make [1]
* Cleanup comments [2] [3] [4]
* include bsd.emacs.mk only when USE_EMACS is set [5]
* Silence the install-info target [6] [7]
* Correct the implementation of pretty-print-run-depends-list [8]
* Use a consistent name for the cookies file when PKGNAMEPREFIX/SUFFIX
are set after bsd.port.pre.mk. [9]
* Include bsd.tcl.mk if USE_TCL_BUILD is defined [10]
* Set PERL_MM_USE_DEFAULT in BATCH mode [11]
* Add the {ONLY,NOT}_FOR_ARCH_REASON and
{ONLY,NOT}_FOR_ARCH_REASON_${ARCH} variables to allow better
customization of the error string reported to users when they
attempt a build on an unsupported architecture. [12]
* Avoid errors from duplicated targets when parsing MLINKS on ports
without a default value set. [13]
* Fix handling of MLINKS when invalid entries are listed [14]
* Enforce sanity of DESKTOP_ENTRIES. If the Categories field is
omitted, try to map ports categories to their freedesktop.org
counterpart [15]
PR: 93873 [1], 92923 [2], 93234 [3], 95680 [4], 95238 [5],
91621 [6], 94035 [7], 94164 [8], 94219 [9], 92355 [10],
95579 [11], 94675 [12], 66109 [13], 66110 [14], 95603 [15]
Submitted by: Eric Cronin <ecronin@gizmolabs.org> [1],
edwin [2][12], pav [3], vd [4][8], nobutaka [5],
anray [6], krion [7],
Andrey Deynega <licedey@gmail.com> [9], mnag [9],
garga [10], skv [11], eik [13][14], jylefort [15]
2006-05-23 21:53:18 +00:00
${ ECHO_CMD } " Categories= $$ categories " >> $$ pathname; \
2013-01-23 14:32:20 +00:00
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 ; \
if [ -z " ${ _DESKTOPDIR_REL } " ] ; then \
${ ECHO_CMD } " @cwd ${ PREFIX } " >> ${ TMPPLIST } ; \
fi
. e n d i f
. e n d i f
2013-09-19 08:05:05 +00:00
. i f d e f i n e d ( W A R N I N G )
2013-09-21 14:14:23 +00:00
WARNING_WAIT ?= 10
2013-09-19 08:05:05 +00:00
show-warnings :
@${ ECHO_MSG } "/!\\ WARNING /!\\"
. f o r m i n $ { W A R N I N G }
@${ ECHO_MSG } " ${ m } "
. e n d f o r
@${ ECHO_MSG }
2013-09-21 14:14:23 +00:00
@sleep ${ WARNING_WAIT }
2013-09-19 08:05:05 +00:00
. e n d i f
. i f d e f i n e d ( D E V E L O P E R )
. i f d e f i n e d ( D E V _ W A R N I N G )
2013-09-21 14:14:23 +00:00
DEV_WARNING_WAIT ?= 10
2013-09-19 08:05:05 +00:00
show-dev-warnings :
@${ ECHO_MSG } " /!\\ ${ PKGNAME } : Makefile warnings, please consider fixing /!\\ "
@${ ECHO_MSG }
. f o r m i n $ { D E V _ W A R N I N G }
@${ ECHO_MSG } " ${ m } "
. e n d f o r
@${ ECHO_MSG }
2013-09-21 14:14:23 +00:00
@sleep ${ DEV_WARNING_WAIT }
2013-09-19 08:05:05 +00:00
. e n d i f
. i f d e f i n e d ( D E V _ E R R O R )
show-dev-errors :
@${ ECHO_MSG } " /!\\ ${ PKGNAME } : Makefile errors /!\\ "
@${ ECHO_MSG }
2013-09-19 08:17:21 +00:00
. f o r m i n $ { D E V _ E R R O R }
2013-09-19 08:05:05 +00:00
@${ ECHO_MSG } " ${ m } "
. e n d f o r
@${ ECHO_MSG }
@${ FALSE }
. e n d i f
2013-11-20 21:50:11 +00:00
. e n d i f #DEVELOPER
2014-01-03 23:01:01 +00:00
# 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 PACKAGE
. i f ! d e f i n e d ( N O _ S T A G E )
_TARGETS_STAGES += STAGE
. e n d i f
2014-04-01 14:12:00 +00:00
# Define the SEQ of actions to take when each target is ran, and which targets
# it depends on before running its SEQ.
2014-01-03 23:01:01 +00:00
_SANITY_SEQ = post-chroot pre-everything check-makefile \
show-warnings show-dev-warnings show-dev-errors \
check-categories check-makevars check-desktop-entries \
check-depends identify-install-conflicts check-deprecated \
check-vulnerable check-license check-config buildanyway-message \
options-message
_PKG_DEP = check-sanity
_PKG_SEQ = pkg-depends
_FETCH_DEP = pkg
_FETCH_SEQ = fetch-depends pre-fetch pre-fetch-script \
do -fetch fetch-specials post-fetch post-fetch-script
_EXTRACT_DEP = fetch
_EXTRACT_SEQ = check-build-conflicts extract-message checksum extract-depends \
pre-extract pre-extract-script do -extract \
post-extract post-extract-script
_PATCH_DEP = extract
2014-01-04 00:26:03 +00:00
_PATCH_SEQ = ask-license patch-message patch-depends pathfix-pre-patch dos2unix fix-shebang \
pre-patch \
2014-01-03 23:45:50 +00:00
pre-patch-script do -patch charsetfix-post-patch post-patch post-patch-script
2014-01-03 23:01:01 +00:00
_CONFIGURE_DEP = patch
_CONFIGURE_SEQ = build-depends lib-depends configure-message run-autotools-fixup \
configure-autotools pre-configure pre-configure-script \
2014-01-28 18:25:52 +00:00
run-autotools patch-libtool do -configure post-configure \
post-configure-script
2014-01-03 23:01:01 +00:00
_BUILD_DEP = configure
_BUILD_SEQ = build-message pre-build pre-build-script do -build \
post-build post-build-script
. i f ! d e f i n e d ( N O _ S T A G E )
_STAGE_DEP = build
_STAGE_SEQ = stage-message stage-dir run-depends lib-depends apply-slist pre-install generate-plist \
pre-su-install
. i f d e f i n e d ( N E E D _ R O O T )
2014-05-07 15:41:33 +00:00
_STAGE_SUSEQ = create-users-groups do -install \
2014-04-23 13:25:16 +00:00
kmod-post-install shared-mime-post-install \
webplugin-post-install post-install post-install-script \
2014-05-07 15:41:33 +00:00
desktop-file-post-install \
2014-04-23 13:25:16 +00:00
move-uniquefiles post-stage compress-man patch-lafiles \
2014-01-03 23:01:01 +00:00
install-rc-script install-ldconfig-file install-license \
2014-04-23 13:25:16 +00:00
install-desktop-entries add-plist-info add-plist-docs \
add-plist-examples add-plist-data add-plist-post \
move-uniquefiles-plist fix-plist-sequence
2014-01-03 23:01:01 +00:00
. i f d e f i n e d ( D E V E L O P E R )
_STAGE_SUSEQ += stage-qa
. e n d i f
. e l s e
2014-05-07 15:41:33 +00:00
_STAGE_SEQ += create-users-groups do -install \
2014-04-23 13:25:16 +00:00
kmod-post-install shared-mime-post-install \
webplugin-post-install post-install post-install-script \
2014-05-07 15:41:33 +00:00
desktop-file-post-install \
2014-04-23 13:25:16 +00:00
move-uniquefiles post-stage compress-man patch-lafiles \
install-rc-script install-ldconfig-file install-license \
install-desktop-entries add-plist-info add-plist-docs \
add-plist-examples add-plist-data add-plist-post \
move-uniquefiles-plist fix-plist-sequence
2014-01-03 23:01:01 +00:00
. i f d e f i n e d ( D E V E L O P E R )
_STAGE_SEQ += stage-qa
. e n d i f
. e n d i f
. i f d e f i n e d ( W I T H _ P K G N G )
_INSTALL_DEP = stage
_INSTALL_SEQ = install-message run-depends lib-depends check-already-installed
_INSTALL_SUSEQ = fake-pkg security-check
_PACKAGE_DEP = stage
_PACKAGE_SEQ = package-message pre-package pre-package-script do -package post-package-script
. e l s e # pkg_install
_PACKAGE_DEP = stage
_PACKAGE_SEQ = package-message pre-package pre-package-script do -package post-package-script
_INSTALL_DEP = package
_INSTALL_SEQ = install-message run-depends lib-depends check-already-installed
_INSTALL_SUSEQ = install-package security-check
. e n d i f
. e l s e # NO_STAGE
_INSTALL_DEP = build
_INSTALL_SEQ = install-message check-install-conflicts run-depends lib-depends apply-slist pre-install \
pre-install-script generate-plist check-already-installed
_INSTALL_SUSEQ = check-umask install-mtree pre-su-install \
pre-su-install-script create-users-groups do -install \
install-desktop-entries install-license install-rc-script \
2014-01-04 00:26:03 +00:00
desktop-file-post-install kmod-post-install shared-mime-post-install webplugin-post-install \
2014-01-03 23:01:01 +00:00
post-install post-install-script add-plist-buildinfo \
add-plist-info add-plist-docs add-plist-examples \
add-plist-data add-plist-post fix-plist-sequence \
compress-man install-ldconfig-file fake-pkg security-check
_PACKAGE_DEP = install
_PACKAGE_SEQ = package-message pre-package pre-package-script \
do -package post-package-script
. e n d i f
# Enforce order for -jN builds
. f o r _ t i n $ { _ T A R G E T S _ S T A G E S }
. f o r s i n $ { _ $ { _ t } _ S E Q }
. i f t a r g e t ( $ { s } )
2014-01-04 00:02:08 +00:00
. if ! ${NOTPHONY : M ${s }}
_PHONY_TARGETS += ${ s }
. e n d i f
2014-01-03 23:01:01 +00:00
_${_t}_REAL_SEQ += ${ s }
. e n d i f
. e n d f o r
. f o r s i n $ { _ $ { _ t } _ S U S E Q }
. i f t a r g e t ( $ { s } )
2014-01-04 00:02:08 +00:00
. if ! ${NOTPHONY : M ${s }}
_PHONY_TARGETS += ${ s }
. e n d i f
2014-01-03 23:01:01 +00:00
_${_t}_REAL_SUSEQ += ${ s }
. e n d i f
. e n d f o r
.ORDER : ${_ ${_t }_DEP } ${_ ${_t }_REAL_SEQ }
. e n d f o r
2014-04-01 14:12:00 +00:00
# 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.
2014-01-03 23:01:01 +00:00
. f o r t a r g e t i n e x t r a c t p a t c h c o n f i g u r e b u i l d s t a g e i n s t a l l p a c k a g e
2014-04-01 14:12:00 +00:00
# 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.
2014-01-03 23:01:01 +00:00
. i f ! t a r g e t ( $ { t a r g e t } ) & & d e f i n e d ( _ O P T I O N S _ O K )
2014-01-04 00:05:01 +00:00
_PHONY_TARGETS += ${ target }
2014-05-05 09:45:36 +00:00
${target} : ${${target :tu }_COOKIE }
2014-01-03 23:01:01 +00:00
. e l i f ! t a r g e t ( $ { t a r g e t } )
${target} : config -conditional
2014-05-05 09:45:36 +00:00
@cd ${ .CURDIR } && ${ MAKE } CONFIG_DONE_${ UNIQUENAME : tu } = 1 ${ ${ target : tu } _COOKIE }
2014-01-03 23:01:01 +00:00
. e l i f t a r g e t ( $ { t a r g e t } ) & & d e f i n e d ( I G N O R E )
. e n d i f
2014-05-05 09:45:36 +00:00
.if !exists(${${target : tu }_COOKIE })
2014-01-03 23:01:01 +00:00
2014-04-01 14:12:00 +00:00
# Define the real target behavior. Depend on the target's *_DEP. Execute
# the target's *_SEQ. Also handle su and USE_SUBMAKE needs.
2014-05-05 09:45:36 +00:00
.if ${UID} != 0 && defined(_${target : tu }_REAL_SUSEQ ) && !defined (INSTALL_AS_USER )
2014-04-01 14:12:00 +00:00
. i f d e f i n e d ( U S E _ S U B M A K E )
2014-05-05 09:45:36 +00:00
${${target : tu }_COOKIE }: ${_ ${target :tu }_DEP }
@cd ${ .CURDIR } && ${ MAKE } ${ _ ${ target : tu } _REAL_SEQ }
2014-04-01 14:12:00 +00:00
. e l s e # !USE_SUBMAKE
2014-05-05 09:45:36 +00:00
${${target : tu }_COOKIE }: ${_ ${target :tu }_DEP } ${_ ${target :tu }_REAL_SEQ }
2014-04-01 14:12:00 +00:00
. e n d i f # USE_SUBMAKE
2014-01-03 23:01:01 +00:00
@${ ECHO_MSG } " ===> Switching to root credentials for ' ${ target } ' target "
@cd ${ .CURDIR } && \
2014-05-05 09:45:36 +00:00
${ SU_CMD } " ${ MAKE } ${ _ ${ target : tu } _REAL_SUSEQ } "
2014-01-03 23:01:01 +00:00
@${ ECHO_MSG } "===> Returning to user credentials"
@${ TOUCH } ${ TOUCH_FLAGS } ${ .TARGET }
2014-04-01 14:12:00 +00:00
. e l s e # No SU needed
. i f d e f i n e d ( U S E _ S U B M A K E )
2014-05-05 09:45:36 +00:00
${${target : tu }_COOKIE }: ${_ ${target :tu }_DEP }
2014-01-03 23:01:01 +00:00
@cd ${ .CURDIR } && \
2014-05-05 09:45:36 +00:00
${ MAKE } ${ _ ${ target : tu } _REAL_SEQ } ${ _ ${ target : tu } _REAL_SUSEQ }
2014-01-03 23:01:01 +00:00
@${ TOUCH } ${ TOUCH_FLAGS } ${ .TARGET }
2014-04-01 14:12:00 +00:00
. e l s e # !USE_SUBMAKE
2014-05-05 09:45:36 +00:00
${${target : tu }_COOKIE }: ${_ ${target :tu }_DEP } ${_ ${target :tu }_REAL_SEQ } ${_ ${target :tu }_REAL_SUSEQ }
2014-01-03 23:01:01 +00:00
@${ TOUCH } ${ TOUCH_FLAGS } ${ .TARGET }
2014-04-01 14:12:00 +00:00
. e n d i f # USE_SUBMAKE
. e n d i f # SU needed
2014-01-03 23:01:01 +00:00
2014-04-01 14:12:00 +00:00
. e l s e # exists(cookie)
2014-05-05 09:45:36 +00:00
${${target : tu }_COOKIE }::
2014-01-03 23:01:01 +00:00
@if [ -e ${ .TARGET } ] ; then \
${ DO_NADA } ; \
else \
cd ${ .CURDIR } && ${ MAKE } ${ .TARGET } ; \
fi
2014-04-01 14:12:00 +00:00
. e n d i f # !exists(cookie)
2014-01-03 23:01:01 +00:00
2014-04-01 14:12:00 +00:00
. e n d f o r # foreach(targets)
2014-01-03 23:01:01 +00:00
2014-01-04 00:05:01 +00:00
.PHONY : ${_PHONY_TARGETS } check -sanity fetch pkg
2014-01-04 00:02:08 +00:00
2014-01-03 23:01:01 +00:00
. i f ! t a r g e t ( c h e c k - s a n i t y )
check-sanity : ${_SANITY_REAL_SEQ }
. e n d i f
. i f ! t a r g e t ( f e t c h )
fetch : ${_FETCH_DEP } ${_FETCH_REAL_SEQ }
. e n d i f
. i f ! t a r g e t ( p k g )
pkg : ${_PKG_DEP } ${_PKG_REAL_SEQ }
. e n d i f
1998-11-11 05:21:29 +00:00
. e n d i f
# End of post-makefile section.
2007-08-04 11:37:24 +00:00
. e n d i f
# End of the DESTDIR if statement