diff options
author | krion <krion@FreeBSD.org> | 2005-02-07 19:17:50 +0800 |
---|---|---|
committer | krion <krion@FreeBSD.org> | 2005-02-07 19:17:50 +0800 |
commit | e203e01ea2a9471094f049bd628ee810ef885041 (patch) | |
tree | 09be67e2fbefb4774fae4573e73f352ebe7ba742 /Mk/bsd.port.mk | |
parent | 1b746b341b9351be237a76929374cfc05e5445fc (diff) | |
download | freebsd-ports-gnome-e203e01ea2a9471094f049bd628ee810ef885041.tar.gz freebsd-ports-gnome-e203e01ea2a9471094f049bd628ee810ef885041.tar.zst freebsd-ports-gnome-e203e01ea2a9471094f049bd628ee810ef885041.zip |
* 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]
Diffstat (limited to 'Mk/bsd.port.mk')
-rw-r--r-- | Mk/bsd.port.mk | 207 |
1 files changed, 128 insertions, 79 deletions
diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk index 127d1bc16a7d..f1978094eadd 100644 --- a/Mk/bsd.port.mk +++ b/Mk/bsd.port.mk @@ -155,10 +155,10 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org # 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 -# logs will not appear on bento, so this should be +# logs will not appear on pointyhat, so this should be # used sparingly. # BROKEN - Port is believed to be broken. Package builds will -# still be attempted on the bento package cluster to +# still be attempted on the pointyhat package cluster to # test this assumption. # DEPRECATED - Port is deprecated to install. Advisory only. # EXPIRATION_DATE @@ -166,6 +166,9 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org # the port is planed to remove. The date format is # ISO 8601 (YYYY-MM-DD). # +# DISABLE_VULNERABILITIES +# - If set, do not check if the port is listed in the +# vulnerabilities database. # In addition to RESTRICTED or NO_CDROM, if only a subset of distfiles # or patchfiles have redistribution restrictions, set the following # to the list of such files. @@ -380,8 +383,12 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org # one or more versions of PostgreSQL. ## # USE_RC_SUBR - If set, the ports startup/shutdown script uses the common -# routines found in etc/rc.subr and may need to -# depend on the sysutils/rc_subr port. +# routines found in etc/rc.subr and may need to +# depend on the sysutils/rc_subr port. +# If this is set to a list of files, these files will be +# automatically added to ${SUB_FILES} and some "variable=value" +# pairs will be added to ${SUB_LIST}. These files will be +# installed in ${PREFIX}/etc/rc.d and added to the packing list. # RC_SUBR - Set to path of rc.subr. # Default: ${LOCALBASE}/etc/rc.subr. ## @@ -628,8 +635,12 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org # config - Configure options for this port (using ${DIALOG}). # Automatically run prior to extract, patch, configure, build, # install, and package. -# showconfig - Display options config for this port -# rmconfig - Remove the options config for this port +# config-recursive +# - Configure options for this port for this port and all dependencies. +# showconfig - Display options config for this port. +# rmconfig - Remove the options config for this port. +# rmconfig-recursive +# - Remove the options config for this port and all dependencies. # # Default sequence for "all" is: # @@ -1022,6 +1033,14 @@ PORTOBJFORMAT!= ${TEST} -x /usr/bin/objformat && /usr/bin/objformat || ${ECHO_C MASTERDIR?= ${.CURDIR} +.if ${MASTERDIR} != ${.CURDIR} +SLAVE_PORT?= yes +MASTER_PORT?=${MASTERDIR:C/[^\/]+\/\.\.\///:C/[^\/]+\/\.\.\///:C/^.*\/([^\/]+\/[^\/]+)$/\\1/} +.else +SLAVE_PORT?= no +MASTER_PORT?= +.endif + # If they exist, include Makefile.inc, then architecture/operating # system specific Makefiles, then local Makefile.local. @@ -1062,12 +1081,37 @@ UNIQUENAME?= ${PKGNAMEPREFIX}${PORTNAME} OPTIONSFILE?= ${PORT_DBDIR}/${UNIQUENAME}/options _OPTIONSFILE!= ${ECHO_CMD} "${OPTIONSFILE}" .if defined(OPTIONS) -.if exists(${_OPTIONSFILE}) && !make(rmconfig) -.include "${_OPTIONSFILE}" -.endif -.if exists(${_OPTIONSFILE}.local) -.include "${_OPTIONSFILE}.local" -.endif +. if defined(PACKAGE_BUILDING) || (defined(BATCH) && !exists(${_OPTIONSFILE})) +. if defined(OPTIONS) +REALOPTIONS=${OPTIONS:C/".*"//g} +. for O in ${REALOPTIONS} +RO:=${O} +. if ${RO:L} == off +WITHOUT:= ${WITHOUT} ${OPT} +. endif +. if ${RO:L} == on +WITH:= ${WITH} ${OPT} +. endif +OPT:=${RO} +. endfor +. endif +. for W in ${WITH} +WITH_${W}:= true +. endfor +. for W in ${WITHOUT} +WITHOUT_${W}:= true +. endfor +. undef WITH +. undef WITHOUT +. undef RO +. undef REALOPTIONS +. endif +. if exists(${_OPTIONSFILE}) && !make(rmconfig) +. include "${_OPTIONSFILE}" +. endif +. if exists(${_OPTIONSFILE}.local) +. include "${_OPTIONSFILE}.local" +. endif .endif # check for old, crufty, makefile types, part 1: @@ -1384,62 +1428,7 @@ CONFIGURE_ENV+= MAKE=${GMAKE} .endif .if defined(USE_GCC) -.if ${OSVERSION} < 400012 -GCCVERSION= 020702 -.endif -.if ${OSVERSION} >= 400012 && ${OSVERSION} < 500035 -GCCVERSION= 029500 -.endif -.if ${OSVERSION} >= 500035 && ${OSVERSION} < 500039 -GCCVERSION= 030100 -.endif -.if ${OSVERSION} >= 500039 && ${OSVERSION} < 501103 -GCCVERSION= 030200 -.endif -.if ${OSVERSION} >= 501103 && ${OSVERSION} < 502126 -GCCVERSION= 030301 -.endif -.if ${OSVERSION} >= 502126 -GCCVERSION= 030402 -.endif -.endif - -.if defined(USE_GCC) -.if ${USE_GCC} == 2.95 && ( ${OSVERSION} < 400012 || ${OSVERSION} > 500034 ) -CC= gcc295 -CXX= g++295 -BUILD_DEPENDS+= gcc295:${PORTSDIR}/lang/gcc295 -GCCVERSION= 029500 -.endif -.if ${USE_GCC} == 3.1 && ( ${OSVERSION} < 500035 || ${OSVERSION} > 500038 ) -CC= gcc31 -CXX= g++31 -F77= g77-31 -BUILD_DEPENDS+= gcc31:${PORTSDIR}/lang/gcc31 -GCCVERSION= 030100 -.endif -.if ${USE_GCC} == 3.2 && ( ${OSVERSION} < 500039 || ${OSVERSION} > 501102 ) -CC= gcc32 -CXX= g++32 -F77= g77-32 -BUILD_DEPENDS+= gcc32:${PORTSDIR}/lang/gcc32 -GCCVERSION= 030200 -.endif -.if ${USE_GCC} == 3.3 && ( ${OSVERSION} < 501103 || ${OSVERSION} > 502125 ) -CC= gcc33 -CXX= g++33 -F77= g77-33 -BUILD_DEPENDS+= gcc33:${PORTSDIR}/lang/gcc33 -GCCVERSION= 030301 -.endif -.if ${USE_GCC} == 3.4 && ${OSVERSION} < 502126 -CC= gcc34 -CXX= g++34 -F77= g77-34 -BUILD_DEPENDS+= gcc34:${PORTSDIR}/lang/gcc34 -GCCVERSION= 030402 -.endif -MAKE_ENV+= CC="${CC}" CXX="${CXX}" +.include "${PORTSDIR}/Mk/bsd.gcc.mk" .endif .if defined(USE_OPENLDAP_VER) @@ -1478,6 +1467,10 @@ RC_SUBR= ${LOCALBASE}/etc/rc.subr .else RC_SUBR= /etc/rc.subr .endif +.if ${USE_RC_SUBR:U} != "YES" +SUB_LIST+= RC_SUBR=${RC_SUBR} +SUB_FILES+= ${USE_RC_SUBR} +.endif .endif .if defined(USE_ICONV) @@ -1708,20 +1701,28 @@ BROKEN= "unknown MySQL version: ${MYSQL_VER}" DEFAULT_PGSQL_VER?= 74 # Setting/finding PostgreSQL version we want. -.if defined(WANT_PGSQL_VER) +.if exists(${LOCALBASE}/bin/pg_config) +_PGSQL_VER!= ${LOCALBASE}/bin/pg_config --version | ${SED} -n 's/PostgreSQL[^0-9]*\([0-9][0-9]*\)\.\([0-9][0-9]*\)\..*/\1\2/p' +.endif + +.if defined(WANT_PGSQL_VER) && defined(_PGSQL_VER) && ${WANT_PGSQL_VER} != ${_PGSQL_VER} +IGNORE= "The port wants postgresql${WANT_PGSQL_VER}-client but you have postgresql${_PGSQL_VER}-client installed" +.endif + +.if defined(_PGSQL_VER) +PGSQL_VER= ${_PGSQL_VER} +.elif defined(WANT_PGSQL_VER) PGSQL_VER= ${WANT_PGSQL_VER} -.elif exists(${LOCALBASE}/bin/pg_config) -PGSQL_VER!= ${LOCALBASE}/bin/pg_config --version | ${SED} -n 's/PostgreSQL[^0-9]*\([0-9][0-9]*\)\.\([0-9][0-9]*\)\..*/\1\2/p' .else PGSQL_VER= ${DEFAULT_PGSQL_VER} -.endif # WANT_PGSQL_VER +.endif # And now we are checking if we can use it .if exists(${PORTSDIR}/databases/postgresql${PGSQL_VER}-client) .if defined(BROKEN_WITH_PGSQL) . for VER in ${BROKEN_WITH_PGSQL} . if (${PGSQL_VER} == "${VER}") -BROKEN= "Doesn't work with PostgreSQL version : ${PGSQL_VER} (Doesn't support PostgresSQL ${BROKEN_WITH_PGSQL})" +IGNORE= "Does not work with postgresql${PGSQL_VER}-client PostgresSQL \(${BROKEN_WITH_PGSQL} not supported\)" . endif . endfor .endif # BROKEN_WITH_PGSQL @@ -3006,8 +3007,8 @@ check-vulnerable: if [ "$$audit_created" -lt "$$audit_expiry" ]; then \ ${ECHO_MSG} "===> WARNING: Vulnerability database out of date, checking anyway"; \ fi; \ - vlist=`${_EXTRACT_AUDITFILE} | ${AWK} -F\| ' \ - /^[^#]/ { \ + vlist=`${_EXTRACT_AUDITFILE} | ${GREP} "${PORTNAME}" | \ + ${AWK} -F\| ' /^[^#]/ { \ if (!system("${PKG_VERSION} -T \"${PKGNAME}\" \"" $$1 "\"")) \ print "=> " $$3 ".\n Reference: <" $$2 ">" \ } \ @@ -3704,7 +3705,8 @@ _INSTALL_SEQ= install-message check-conflicts \ _INSTALL_SUSEQ= check-umask install-mtree pre-su-install \ pre-su-install-script do-install post-install \ post-install-script add-plist-info add-plist-docs \ - add-plist-post compress-man run-ldconfig fake-pkg security-check + add-plist-post install-rc-script compress-man run-ldconfig \ + fake-pkg security-check _PACKAGE_DEP= install _PACKAGE_SEQ= package-message pre-package pre-package-script \ do-package post-package-script @@ -4789,13 +4791,17 @@ add-plist-docs: [ "`${SED} -En -e '/^@cw?d[ ]*/s,,,p' ${TMPPLIST} | ${TAIL} -n 1`" != "${PREFIX}" ]; then \ ${ECHO_CMD} "@cwd ${PREFIX}" >> ${TMPPLIST}; \ fi +.for x in ${PORTDOCS} + @if [ ! -e ${DOCSDIR}/${x} ]; then \ + @${ECHO_CMD} ${DOCSDIR}/${x} | \ + ${SED} -e 's,^${PREFIX}/,,' >> ${TMPPLIST}; \ + fi +.endfor @${FIND} -P ${PORTDOCS:S/^/${DOCSDIR}\//} ! -type d 2>/dev/null | \ ${SED} -ne 's,^${PREFIX}/,,p' >> ${TMPPLIST} @${FIND} -P -d ${PORTDOCS:S/^/${DOCSDIR}\//} -type d 2>/dev/null | \ ${SED} -ne 's,^${PREFIX}/,@dirrm ,p' >> ${TMPPLIST} - @if [ -d "${DOCSDIR}" ]; then \ - ${ECHO_CMD} "@unexec rmdir %D/${DOCSDIR:S,^${PREFIX}/,,} 2>/dev/null || true" >> ${TMPPLIST}; \ - fi + @${ECHO_CMD} "@dirrm ${DOCSDIR:S,^${PREFIX}/,,}" >> ${TMPPLIST} .else @${DO_NADA} .endif @@ -4804,6 +4810,7 @@ add-plist-docs: add-plist-info: # Process GNU INFO files at package install/deinstall time .for i in ${INFO} + install-info --quiet ${PREFIX}/${INFO_PATH}/$i.info ${PREFIX}/${INFO_PATH}/dir @${ECHO_CMD} "@unexec install-info --delete %D/${INFO_PATH}/$i.info %D/${INFO_PATH}/dir" \ >> ${TMPPLIST} @${LS} ${PREFIX}/${INFO_PATH}/$i.info* | ${SED} -e s:${PREFIX}/::g >> ${TMPPLIST} @@ -4826,6 +4833,25 @@ add-plist-post: @${DO_NADA} .endif +.if !target(install-rc-script) +install-rc-script: +.if defined(USE_RC_SUBR) +.if ${USE_RC_SUBR:U} != "YES" + @${ECHO_CMD} "===> Installing startup script(s) in ${PREFIX}/etc/rc.d" + @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 + @for i in ${USE_RC_SUBR}; do \ + ${INSTALL_SCRIPT} ${WRKDIR}/$${i} ${PREFIX}/etc/rc.d; \ + ${ECHO_CMD} etc/rc.d/$${i} >> ${TMPPLIST}; \ + done +.endif +.else + @${DO_NADA} +.endif +.endif + # Compress (or uncompress) and symlink manpages. .if !target(compress-man) compress-man: @@ -5022,6 +5048,21 @@ config: .endif .endif +.if !target(config-recursive) +config-recursive: + @${ECHO_MSG} "===> Setting user-specified options for ${PKGNAME} and dependencies"; + @for dir in ${.CURDIR} $$(${ALL-DEPENDS-LIST}); do \ + (cd $$dir; ${MAKE} config-conditional); \ + done +.endif + +.if !target(config-conditional) +config-conditional: +.if defined(OPTIONS) && !exists(${_OPTIONSFILE}) + cd ${.CURDIR} && ${MAKE} config; +.endif +.endif + .if !target(showconfig) showconfig: .if defined(OPTIONS) && exists(${_OPTIONSFILE}) @@ -5072,5 +5113,13 @@ rmconfig: .endif .endif +.if !target(rmconfig-recursive) +rmconfig-recursive: + @${ECHO_MSG} "===> Removing user-specified options for ${PKGNAME} and dependencies"; + @for dir in ${.CURDIR} $$(${ALL-DEPENDS-LIST}); do \ + (cd $$dir; ${MAKE} rmconfig); \ + done +.endif + .endif # End of post-makefile section. |