Page MenuHomeFreeBSD

D12308.id32899.diff
No OneTemporary

D12308.id32899.diff

Index: Mk/Uses/apache.mk
===================================================================
--- Mk/Uses/apache.mk
+++ Mk/Uses/apache.mk
@@ -1,131 +1,172 @@
# $FreeBSD: head/Mk/bsd.apache.mk 419511 2016-08-03 12:09:37Z mat $
#
-# bsd.apache.mk - Apache related macros.
+# apache.mk - Apache related macros.
# Author: Clement Laforet <clement@FreeBSD.org>
# Author: Olli Hauer <ohauer@FreeBSD.org>
+# Author: Bernard Spil <brnrd@FreeSBD.org>
#
# Please view me with 4 column tabs!
-# =========================================================================
-# User controlled parameters for usage in /etc/make.conf:
-#
-# DEFAULT_VERSIONS - define the default apache version
-# valid args: apache=2.2, apache=2.4
-#
-# APACHE_PORT - use www/apache22-(event|itk|peruser|worker)-mpm
-# instead www/apache22. Use this parameter only in
-# combination with "DEFAULT_VERSIONS+= apache=2.2"
-#
-# Example entry in /etc/make.conf:
-# - Set apache22 as default version
-# DEFAULT_VERSIONS+= apache=2.2
-#
-# - Additional use a special www/apache22-$MPM port
-# APACHE_PORT= www/apache22-event-mpm
+# Feature: apache
+# Usage: USES=apache or USES=apache:args
+# Valid args: <version>, build, run, server
+#
+# version If your port requires a specific Apache httpd version, you can
+# set this to [min]-[max] or min+ or -max or an explicit version
+#
+# USES=apache:2.2 # Only use Apache 2.2
+# USES=apache:2.4+ # Use Apache 2.4 or newer
+# USES=apache:2.2-2.4 # Use Apache 2.2 or 2.4
+# USES=apache # Use the default apache version
+#
+# Valid version numbers are specified in the variable
+# APACHE_SUPPORTED_VERSION below
+#
+# build Indicates that Apache is needed at build time and adds it to
+# BUILD_DEPENDS.
+# run Indicates that Apache is needed at run time and adds it to
+# RUN_DEPENDS.
+# server Indicates that the port is a server port.
+#
+# If build and run are omitted, Apache will be added as BUILD_DEPENDS and
+# RUN_DEPENDS
+#
+# Variables, which can be set by the user:
+#
+# APACHE_22_MPM use www/apache22-(event|itk|peruser|worker)-mpm
+# instead www/apache22. Use this parameter only in
+# combination with "DEFAULT_VERSIONS+= apache=2.2"
#
# Note:
# - This parameters should never be used in the Makefile of a port!
# - To get a list of "possible" APACHE_PORT values execute the command:
# $> awk '/apache22-/ {print "www/" $3}' ports/www/Makefile
#
-# =========================================================================
-#
-# This script will be included if one of the following parameter
-# is defined in the Makefile of the port
+# Variables, which can be set by the port:
#
-# USE_APACHE - Set apache and apxs as build and run dependency
-# USE_APACHE_BUILD - Set apache and apxs as build dependency
-# USE_APACHE_RUN - Set apache and apxs as run dependency
-#
-# The following example is representative of all three possible
-# parameters to use.
-#
-# Examples:
-# USE_APACHE= 22 # specify exact version
-# USE_APACHE= 22+ # specify [min] version, no [max] version
-# USE_APACHE= 22-24 # specify [min]-[max] range
-# USE_APACHE= -22 # specify [max] version, no [min] version
+# AP_FAST_BUILD automatic module build
#
-# Note:
-# - If "+" is specified and no apache is installed, then
-# ${DEFAULT_APACHE_VERSION} will be used.
-#
-# - Valid version numbers are specified in the variable
-# APACHE_SUPPORTED_VERSION below
+# AP_GENPLIST automatic PLIST generation plus add
+# the module disabled into httpd.conf
+# (only if no pkg-plist exist)
#
-# - The following values for USE_APACHE are reserverd and only valid
-# in apache-server ports!
-# USE_APACHE= common22
+# MODULENAME Name of the Apache module
+# default: ${PORTNAME}
+# SHORTMODNAME Short name of the Apache module
+# default: ${MODULENAME:S/mod_//}
+# SRC_FILE Source file of the APACHE MODULE
+# default: ${MODULENAME}.c
#
+# Variables, for internal use by the Apache ports framework only
+# The following values for USE_APACHE are reserverd and only valid
+# in apache-server ports!
+# USES= apache:common22
#
-# The following variables can be used (ro) in ports Makefile
-# =========================================================================
-# - APACHE_VERSION
-# - APACHEETCDIR
-# - APACHEINCLUDEDIR
-# - APACHEMODDIR
-# - DEFAULT_APACHE_VERSION
#
+# The following variables can be read by ports and must not be modified
+#
+# APACHE_VERSION The major-minor release version of the chosen
+# Apache server, e.g. 2.2 or 2.4
#
-# Parameters for building third party apache modules:
-# =========================================================================
-# - AP_FAST_BUILD # automatic module build
+# APACHEETCDIR Location of the Apache configuration directory
+# Default: ${LOCALBASE}/etc/apache24
#
-# - AP_GENPLIST # automatic PLIST generation plus add
-# # the module disabled into httpd.conf
-# # (only if no pkg-plist exist)
+# APACHEINCLUDEDIR Location of the Apache include files
+# Default: ${LOCALBASE}/include/apache24
#
-# - MODULENAME # default: ${PORTNAME}
-# - SHORTMODNAME # default: ${MODULENAME:S/mod_//}
-# - SRC_FILE # default: ${MODULENAME}.c
+# APACHEMODDIR Location of the Apache modules
+# Default: ${LOCALBASE}/libxexec/apache24
#
+# DEFAULT_APACHE_VERSION Default Apache version
#
-.if !defined(Apache_Pre_Include)
-
-Apache_Pre_Include= bsd.apache.mk
-
-.if defined(DEFAULT_APACHE_VER)
-WARNING+= "DEFAULT_APACHE_VER is defined, consider using DEFAULT_VERSIONS+=apache=${DEFAULT_APACHE_VER} instead"
+.if !defined(_INCLUDE_USES_APACHE_PRE_MK)
+_INCLUDE_USES_APACHE_PRE_MK= yes
+#.warning In Apache PRE USES= ${USES}
+.if defined(USE_APACHE) || defined(USE_APACHE_BUILD) || defined(USE_APACHE_RUN)
+DEV_WARNING= "USE_APACHE is deprecated, use USES= apache:${USE_APACHE}"
.endif
DEFAULT_APACHE_VERSION?= ${APACHE_DEFAULT:S/.//}
# When adding a version, please keep the comment in
# Mk/bsd.default-versions.mk in sync.
-APACHE_SUPPORTED_VERSION= 24 22 # preferred version first
+_APACHE_VERSIONS= 2.4 2.2 # preferred version first
# Print warnings
-_ERROR_MSG= : Error from bsd.apache.mk.
+_ERROR_MSG= : Error from apache.mk.
# Important Note:
# Keep apache version in ascending order!
# The "+" sign is only valid as last sign, not between
# two versions or in combination with range!
-.if defined(USE_APACHE) && !empty(USE_APACHE)
-. if ${USE_APACHE:Mcommon*} != ""
-AP_PORT_IS_SERVER= yes
-. elif ${USE_APACHE:C/\-//:S/^22//:S/^24//:C/\+$//} == ""
-AP_PORT_IS_MODULE= yes
-. if ${USE_APACHE:C/\-//:S/^22//:S/^24//} == "+"
-AP_PLUS= yes
+.if defined(apache_ARGS) && !empty(apache_ARGS)
+. if ${apache_ARGS:Mcommon*} != ""
+_APACHE_PORT_IS_SERVER= yes
+apache_ARGS+= 2.2
+. elif ${apache_ARGS:C/\-//:S/^2.2//:S/^2.4//:C/\+$//} == ""
+_APACHE_PORT_IS_MODULE= yes
+. if ${apache_ARGS:C/\-//:S/^2.2//:S/^2.4//} == "+"
+_APACHE_PLUS= yes
. endif
. else
-IGNORE= ${_ERROR_MSG} Illegal use of USE_APACHE ( ${USE_APACHE} )
+IGNORE= ${_ERROR_MSG} 1 Illegal use of USES= apache ( ${apache_ARGS} )
. endif
# Catch unknown apache versions and silly USE_APACHE constructs
-. if empty(AP_PORT_IS_SERVER) && empty(AP_PORT_IS_MODULE)
-IGNORE= ${_ERROR_MSG} Illegal use of USE_APACHE ( ${USE_APACHE} )
-. endif
+. if empty(_APACHE_PORT_IS_SERVER) && empty(_APACHE_PORT_IS_MODULE)
+IGNORE= ${_ERROR_MSG} 2 Illegal use of USES= apache ( ${apache_ARGS} )
+. endif
# Catch USE_APACHE [min]-[max]+
-. if defined(AP_PLUS) && ${USE_APACHE:C/[.+0-9]//g} == "-"
-IGNORE= ${_ERROR_MSG} Illegal use of USE_APACHE ( ${USE_APACHE} )
-. endif
-.elif defined(USE_APACHE)
-IGNORE= ${_ERROR_MSG} Illegal use of USE_APACHE ( no version specified )
-.endif # defined(USE_APACHE)
+. if defined(_APACHE_PLUS) && ${apache_ARGS:C/[.+a-z0-9]//g} == "-"
+IGNORE= ${_ERROR_MSG} 3 Illegal use of USES= apache ( ${apache_ARGS} )
+. endif
+.elif defined(apache_ARGS)
+#IGNORE= ${_ERROR_MSG} 4 Illegal use of USES= apache ( no version specified )
+.endif # defined(apache_ARGS)
+
+# Split USES=apache:args
+_APACHE_ARGS= ${apache_ARGS:S/,/ /g}
+
+# Process args
+.if ${_APACHE_ARGS:Mbuild}
+_APACHE_BUILD_DEP= yes
+_APACHE_ARGS:= ${_APACHE_ARGS:Nbuild}
+.endif
+.if ${_APACHE_ARGS:Mrun}
+_APACHE_RUN_DEP= yes
+_APACHE_ARGS:= ${_APACHE_ARGS:Nrun}
+.endif
+.if ${_APACHE_ARGS:Mserver}
+_APACHE_PORT_IS_SERVER= yes
+_APACHE_ARGS:= ${_APACHE_ARGS:Nserver}
+.endif
+# _APACHE_ARGS is now empty or contains a version(-range)
+
+.if !defined(_APACHE_BUILD_DEP) && !defined(_APACHE_RUN_DEP) && \
+ !defined(_APACHE_PORT_IS_SERVER)
+_APACHE_BUILD_DEP= yes
+_APACHE_RUN_DEP= yes
+.endif
+
+.if defined(DEFAULT_APACHE_VER)
+WARNING+= "DEFAULT_APACHE_VER is defined, consider using DEFAULT_VERSIONS+=apache=${DEFAULT_APACHE_VER} instead"
+.endif
+
+# Check if the version-args are correct (e.g. 2.2-2.4+ is invalid)
+#.warning result is ${_APACHE_ARGS:S/.//:C/\-//:C/^2[24]//g:C/\+$//}
+.if ${_APACHE_ARGS:S/.//:C/\-//:S/common//:C/^2[24]//g:C/\+$//} != "" || \
+ ${_APACHE_ARGS:C/[.0-9]//g} == "-+"
+IGNORE= ${_ERROR_MSG} 5 Illegal use of USES=apache ( apache:${apache_ARGS} )
+.endif
+
+_APACHE_VERSION_CHECK:= ${_APACHE_ARGS:C/^([1-9][0-9])$/\1-\1/}
+_APACHE_VERSION_MINIMUM_TMP:= ${_APACHE_VERSION_CHECK:C/([1-9][0-9])[-+].*/\1/}
+_APACHE_VERSION_MINIMUM:= ${_APACHE_VERSION_MINIMUM_TMP:M[1-9][0-9]}
+_APACHE_VERSION_MAXIMUM_TMP:= ${_APACHE_VERSION_CHECK:C/.*-([1-9][0-9])/\1/}
+_APACHE_VERSION_MAXIMUM:= ${_APACHE_VERSION_MAXIMUM_TMP:M[1-9][0-9]}
+
# ===============================================================
-.if defined(AP_PORT_IS_SERVER)
+.if defined(_APACHE_PORT_IS_SERVER)
# Module selection
.for category in ${DEFAULT_MODULES_CATEGORIES}
DEFAULT_MODULES+= ${${category}_MODULES}
@@ -267,10 +308,10 @@
# end pkg-plist adjustments
-#### End of AP_PORT_IS_SERVER ####
+#### End of _APACHE_PORT_IS_SERVER ####
# ===============================================================
-.elif defined(AP_PORT_IS_MODULE) || defined(USE_APACHE_RUN) || defined(USE_APACHE_BUILD)
+.elif defined(_APACHE_PORT_IS_MODULE) || defined(_APACHE_RUN_DEP) || defined(_APACHE_BUILD_DEP)
APXS?= ${LOCALBASE}/sbin/apxs
HTTPD?= ${LOCALBASE}/sbin/httpd
@@ -284,12 +325,8 @@
_APACHE_VERSION!= ${ECHO_CMD} ${APACHE_PORT} | ${SED} -ne 's,.*/apache\([0-9]*\).*,\1,p'
.endif
-.if defined(USE_APACHE)
-_USE_APACHE:= ${USE_APACHE}
-.elif defined(USE_APACHE_BUILD)
-_USE_APACHE:= ${USE_APACHE_BUILD}
-.elif defined(USE_APACHE_RUN)
-_USE_APACHE:= ${USE_APACHE_RUN}
+.if defined(_APACHE_ARGS)
+_USE_APACHE:= ${_APACHE_ARGS:S/.//g}
.endif
_APACHE_VERSION_CHECK:= ${_USE_APACHE:C/^([1-9][0-9])$/\1-\1/}
@@ -305,7 +342,7 @@
# -num
.elif ${_USE_APACHE:M\-[0-9][0-9]}
-.for _v in ${APACHE_SUPPORTED_VERSION:O}
+.for _v in ${_APACHE_VERSIONS:O}
. if ${_APACHE_VERSION_MAXIMUM} >= ${_v}
_APACHE_WANTED_VERSIONS+= ${_v}
. endif
@@ -313,7 +350,7 @@
# num-num
.elif ${_USE_APACHE:M[0-9][0-9]-[0-9][0-9]}
-.for _v in ${APACHE_SUPPORTED_VERSION}
+.for _v in ${_APACHE_VERSIONS}
. if ${_APACHE_VERSION_MINIMUM} <= ${_v} && ${_APACHE_VERSION_MAXIMUM} >= ${_v}
_APACHE_WANTED_VERSIONS+= ${_v}
. endif
@@ -382,11 +419,11 @@
PKGNAMEPREFIX?= ${APACHE_PKGNAMEPREFIX}
.endif
-.if defined(USE_APACHE) || defined(USE_APACHE_BUILD)
+.if defined(_APACHE_BUILD_DEP)
BUILD_DEPENDS+= ${APXS}:${APACHE_PORT}
.endif
-.if defined(USE_APACHE) || defined(USE_APACHE_RUN)
+.if defined(_APACHE_RUN_DEP)
RUN_DEPENDS+= ${APXS}:${APACHE_PORT}
.endif
@@ -404,41 +441,18 @@
AP_EXTRAS+= -L ${AP_LIB}
.endif
-.endif # End of AP_PORT_IS_SERVER / AP_PORT_IS_MOULE
-.endif # End of !Apache_Pre_Include
+.endif # End of _APACHE_PORT_IS_SERVER / _APACHE_PORT_IS_MOULE
+.endif # End of !_INCLUDE_USES_APACHE_PRE_MK
# ===============================================================
-.if defined(_POSTMKINCLUDED) && !defined(Apache_Post_Include)
-Apache_Post_Include= bsd.apache.mk
-
-.if defined(USE_APACHE_RUN) && !empty(USE_APACHE_RUN)
-. if ${USE_APACHE_RUN:C/\-//:S/^22//:S/^24//:C/\+$//} != ""
-IGNORE= ${_ERROR_MSG} Illegal use of USE_APACHE_RUN ( ${USE_APACHE_RUN} )
-. endif
-.elif defined(USE_APACHE_RUN)
-IGNORE= ${_ERROR_MSG} Illegal use of USE_APACHE_RUN ( no valid version specified )
-.endif
-
-.if defined(USE_APACHE_BUILD) && !empty(USE_APACHE_BUILD)
-. if ${USE_APACHE_BUILD:C/\-//:S/^22//:S/^24//:C/\+$//} != ""
-IGNORE= ${_ERROR_MSG} Illegal use of USE_APACHE_BUILD ( ${USE_APACHE_BUILD} )
-. endif
-.elif defined(USE_APACHE_BUILD)
-IGNORE= ${_ERROR_MSG} Illegal use of USE_APACHE_BUILD ( no valid version specified )
-.endif
-
-# Check if USE_APACHE(_BUILD|_RUN) are mixed together
-.if defined(USE_APACHE) && ( defined(USE_APACHE_BUILD) || defined(USE_APACHE_RUN) )
-IGNORE= ${_ERROR_MSG} specify only one of: USE_APACHE USE_APACHE_BUILD USE_APACHE_RUN
-.elif defined(USE_APACHE_BUILD) && defined(USE_APACHE_RUN)
-IGNORE= ${_ERROR_MSG} use USE_APACHE instead of USE_APACHE_BUILD and USE_APACHE_RUN together
-.endif
-
-.if defined(NO_BUILD) && defined(USE_APACHE)
-BROKEN= If NO_BUILD is used, then USE_APACHE_RUN is sufficient. Please fix your Makefile
+.if defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_APACHE_POST_MK)
+_INCLUDE_USES_APACHE_POST_MK= apache.mk
+#.warning In Apache POST apache=${apache_ARGS} USES= ${USES}
+.if defined(NO_BUILD) && !defined(_APACHE_RUN_DEP)
+BROKEN= If NO_BUILD is used, then apache:run is sufficient. Please fix your Makefile
.endif
-.if defined(AP_PORT_IS_SERVER)
+.if defined(_APACHE_PORT_IS_SERVER)
.if !target(print-closest-mirrors)
print-closest-mirrors:
@${ECHO_MSG} -n "Fetching list of nearest mirror: " >&2
@@ -474,7 +488,7 @@
.endif
.endif
-.elif defined(AP_PORT_IS_MODULE)
+.elif defined(_APACHE_PORT_IS_MODULE)
.if defined(AP_MODENABLE)
AP_MOD_EN= -a
@@ -516,5 +530,5 @@
.endif
.endif # defined(AP_FAST_BUILD)
-.endif # defined(AP_PORT_IS_SERVER / AP_PORT_IS_MODULE)
-.endif # defined(_POSTMKINCLUDED) && !defined(Apache_Post_Include)
+.endif # defined(_APACHE_PORT_IS_SERVER / _APACHE_PORT_IS_MODULE)
+.endif # defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_APACHE_PRE_MK)
Index: Mk/bsd.port.mk
===================================================================
--- Mk/bsd.port.mk
+++ Mk/bsd.port.mk
@@ -434,8 +434,6 @@
# ${PREFIX}/etc/rc.d if ${PREFIX} is not /usr, otherwise they
# will be installed in /etc/rc.d/ and added to the packing list.
##
-# USE_APACHE - If set, this port relies on an apache webserver.
-#
# Conflict checking. Use if your port cannot be installed at the same time as
# another package.
#
@@ -890,8 +888,8 @@
# SUB_LIST - List of "variable=value" pair for substitution in ${SUB_FILES}
# Some pairs are added by default: eg. PREFIX=${PREFIX}
#
-# USE_LDCONFIG - If set to "yes", this adds ${PREFIX}/lib to the list of
-# directories to be searched for shared libraries.
+# USE_LDCONFIG - If set to "yes" or empty, this adds ${PREFIX}/lib to the list
+# of directories to be searched for shared libraries.
# Otherwise, this is a list of directories to be added to that
# list. The directory names are written to
# ${LOCALBASE}/libdata/ldconfig/${PKGBASE} which is then
@@ -1369,8 +1367,12 @@
.include "${PORTSDIR}/Mk/bsd.ocaml.mk"
.endif
-.if defined(USE_APACHE) || defined(USE_APACHE_BUILD) || defined(USE_APACHE_RUN)
-.include "${PORTSDIR}/Mk/bsd.apache.mk"
+.if defined(USE_APACHE_BUILD)
+USES+= apache:build,${USE_APACHE_BUILD:C/2/2./}
+.elif defined(USE_APACHE_RUN)
+USES+= apache:run,${USE_APACHE_RUN:C/2/2./}
+.elif defined(USE_APACHE)
+USES+= apache:${USE_APACHE:C/2/2./}
.endif
.if defined(USE_QT4) || defined(USE_QT5)
@@ -1886,8 +1888,9 @@
.include "${PORTSDIR}/Mk/bsd.wx.mk"
.endif
-.if defined(USE_APACHE) || defined(USE_APACHE_BUILD) || defined(USE_APACHE_RUN)
-.include "${PORTSDIR}/Mk/bsd.apache.mk"
+.if defined(USE_APACHE) || defined(USE_APACHE_BUILD) || defined(USE_APACHE_RUN) \
+ || ( defined(USES) && !empty(${USES:Mapache}) )
+_USES_POST+= apache
.endif
.if defined(USE_AUTOTOOLS)

File Metadata

Mime Type
text/plain
Expires
Sat, Feb 7, 9:27 PM (7 h, 9 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28458689
Default Alt Text
D12308.id32899.diff (16 KB)

Event Timeline