Index: Mk/bsd.apache.mk =================================================================== --- Mk/bsd.apache.mk (revision 303359) +++ Mk/bsd.apache.mk (working copy) @@ -81,7 +81,7 @@ Apache_Pre_Include= bsd.apache.mk DEFAULT_APACHE_VERSION= 22 -APACHE_SUPPORTED_VERSION= 22 # preferred version first +APACHE_SUPPORTED_VERSION= 22 24 # preferred version first # Print warnings _ERROR_MSG= : Error from bsd.apache.mk. @@ -93,9 +93,9 @@ .if defined(USE_APACHE) && !empty(USE_APACHE) . if ${USE_APACHE:Mcommon*} != "" AP_PORT_IS_SERVER= yes -. elif ${USE_APACHE:C/\-//:S/^22//:C/\+$//} == "" +. elif ${USE_APACHE:C/\-//:S/^22//:S/^24//:C/\+$//} == "" AP_PORT_IS_MODULE= yes -. if ${USE_APACHE:C/\-//:S/^22//} == "+" +. if ${USE_APACHE:C/\-//:S/^22//:S/^24//} == "+" AP_PLUS= yes . endif . else @@ -145,6 +145,7 @@ #_ERROR_DLCM= ... detected (make.conf), please convert apache releated params to UPPERCASE .if defined(WITH_MODULES) && ${WITH_MODULES:M[a-z]*} #IGNNORE= lowercase WITH_MODULES= ${_ERROR_DLCM} +.warning Mk 01 lowercase WITH_MODULES= ${WITH_MODULES} WITH_MODULES:=${WITH_MODULES:U} .endif .if defined(WITHOUT_MODULES) && ${WITHOUT_MODULES:M[a-z]*} @@ -159,8 +160,12 @@ # Setting "@comment " as default. .for module in ${AVAILABLE_MODULES:O} +#.if ${.CURDIR:M*apache24} +#.warning CURDIiR ${.CURDIR} ${.CURDIR:M*apache24} +#.else ${module}_PLIST_SUB= "@comment " _DISABLE_MODULES+= --disable-${module:L} +#.endif .endfor # Configure @@ -169,40 +174,51 @@ CONFIGURE_ARGS+= ${_DISABLE_MODULES:O:u} .endif -.if ( defined(OPTIONS) || defined(OPTIONS_DEFINE) ) && !(make(make-options-list)) +.if ( defined(OPTIONS) || defined(OPTIONS_DEFINE) ) .for module in ${AVAILABLE_MODULES} +.if defined(NGTEST) + +. if ${PORT_OPTIONS:M${module}} +_APACHE_MODULES+= ${module} +. else +WITHOUT_MODULES+= ${module} +. endif + +.else + . if defined(WITH_${module}) _APACHE_MODULES+= ${module} . endif . if defined(WITHOUT_${module}) WITHOUT_MODULES+= ${module} . endif + +.endif # NGTEST .endfor -.endif +.endif # ( defined(OPTIONS) || defined(OPTIONS_DEFINE) ) .if !defined(WITH_STATIC_APACHE) -. if ${USE_APACHE:Mcommon2*} != "" # FYI #DYNAMIC_MODULES= so CONFIGURE_ARGS+= --enable-so -. endif .else -. if ${USE_APACHE:Mcommon2*} != "" CONFIGURE_ARGS+= --disable-so -. endif WITH_ALL_STATIC_MODULES= yes .endif -.if defined(WITH_SUEXEC) || defined(WITH_SUEXEC_MODULES) -. if ${USE_APACHE:Mcommon2*} != "" +.if defined(WITH_SUEXEC) || ${PORT_OPTIONS:MSUEXEC} _APACHE_MODULES+= ${SUEXEC_MODULES} SUEXEC_CONFARGS= with-suexec -. endif # From now we're defaulting to apache 2.* SUEXEC_DOCROOT?= ${PREFIX}/www/data SUEXEC_USERDIR?= public_html +# avoid duplicate search paths +.if ${LOCALBASE} == ${PREFIX} +SUEXEC_SAFEPATH?= ${LOCALBASE}/bin:/usr/bin:/bin +.else SUEXEC_SAFEPATH?= ${PREFIX}/bin:${LOCALBASE}/bin:/usr/bin:/bin +.endif SUEXEC_LOGFILE?= /var/log/httpd-suexec.log SUEXEC_UIDMIN?= 1000 SUEXEC_GIDMIN?= 1000 @@ -213,10 +229,8 @@ --${SUEXEC_CONFARGS}-userdir="${SUEXEC_USERDIR}" \ --${SUEXEC_CONFARGS}-docroot="${SUEXEC_DOCROOT}" \ --${SUEXEC_CONFARGS}-safepath="${SUEXEC_SAFEPATH}" \ - --${SUEXEC_CONFARGS}-logfile="${SUEXEC_LOGFILE}" -. if ${USE_APACHE:Mcommon2*} != "" -CONFIGURE_ARGS+= --${SUEXEC_CONFARGS}-bin="${PREFIX}/sbin/suexec" -. endif + --${SUEXEC_CONFARGS}-logfile="${SUEXEC_LOGFILE}" \ + --${SUEXEC_CONFARGS}-bin="${PREFIX}/sbin/suexec" . if defined(WITH_SUEXEC_UMASK) CONFIGURE_ARGS+= --${SUEXEC_CONFARGS}-umask=${SUEXEC_UMASK} @@ -249,6 +263,8 @@ CONFIGURE_ARGS+= --enable-mods-shared="${APACHE_MODULES:O:L}" .endif +# ==================================== +# start pkg-plist adjustments .if defined(WITH_STATIC_MODULES) .for module in ${APACHE_MODULES} . if !${WITH_STATIC_MODULES:M${module}} @@ -268,6 +284,22 @@ .for module in ${AVAILABLE_MODULES:O:u} PLIST_SUB+= MOD_${module}=${${module}_PLIST_SUB} .endfor + +# pkg-plist workaround STATIC support +.if ${PORT_OPTIONS:MSUEXEC} || defined(WITH_SUEXEC) +PLIST_SUB+= SUEXEC="" +.else +PLIST_SUB+= SUEXEC="@comment " +.endif + +.if ${PORT_OPTIONS:MLOG_FORENSIC} || defined(WITH_LOG_FORENSIC) +PLIST_SUB+= FORENSIC="" +.else +PLIST_SUB+= FORENSIC="@comment " +.endif + +# end pkg-plist adjustments + #### End of AP_PORT_IS_SERVER #### # =============================================================== @@ -409,6 +441,10 @@ IGNORE= ${_ERROR_MSG} use USE_APACHE instead of USE_APACHE_BUILD and USE_APACHE_RUN together .endif +.if defined(NO_BUILD) && defined(USE_APACHE) +IGNORE= please consider using USE_APACHE_RUN instead USE_APACHE +.endif + .if defined(AP_PORT_IS_SERVER) .if !target(print-closest-mirrors) print-closest-mirrors: @@ -422,14 +458,6 @@ ${ECHO_MSG} "No mirrors found!">&2 ; fi .endif -.if !target(show-categories) -show-categories: -.for category in ${ALL_MODULES_CATEGORIES} - @${ECHO_MSG} "${category} contains these modules:" - @${ECHO_MSG} " ${${category}_MODULES}" -.endfor -.endif - .if !target(show-modules) show-modules: .for module in ${AVAILABLE_MODULES} @@ -447,19 +475,6 @@ .endfor .endif -# MFC TODO: remove this target it's useless with options NG -.if !target(make-options-list) -make-options-list: - @${ECHO_CMD} OPTIONS+= \\; -.for module in ${AVAILABLE_MODULES} -. if ${APACHE_MODULES:M${module}} - @${ECHO} -e "\t ${module} \"mod_${module:L}\" on \\" -. else - @${ECHO} -e "\t ${module} \"mod_${module:L}\" off \\" -. endif -.endfor -.endif - .elif defined(AP_PORT_IS_MODULE) .if defined(AP_FAST_BUILD) Index: www/apache22/Makefile.options =================================================================== --- www/apache22/Makefile.options (revision 303359) +++ www/apache22/Makefile.options (working copy) @@ -1,8 +1,18 @@ +# apache22 Makefile.options # $FreeBSD$ -.if !defined(Module_inc) -Module_inc= done +# == no options,we use this vars to controll build settings +# WITH_MPM # prefork worker event itk peruser +# WITH_STATIC_SUPPORT # used in make.conf +# WITH_DEBUG # used in make.conf or as build param +# WITH_EXCEPTION_HOOK # used in make.conf or as build param +# WITH_ITK_PERDIR_REGEX # => from itk-mpm extra patch +# +# +#.if !defined(MODULES_inc) +#MODULES_inc= done + AUTH_MODULES= AUTH_BASIC AUTH_DIGEST AUTHN_MODULES= AUTHN_FILE AUTHN_DBD AUTHN_DBM AUTHN_ANON AUTHN_DEFAULT \ AUTHN_ALIAS @@ -12,14 +22,15 @@ DAV_MODULES= DAV DAV_FS EXPERIMENTAL_MODULES= BUCKETEER CASE_FILTER CASE_FILTER_IN EXT_FILTER \ LOG_FORENSIC OPTIONAL_HOOK_EXPORT OPTIONAL_HOOK_IMPORT \ - OPTIONAL_FN_IMPORT OPTIONAL_FN_EXPORT + OPTIONAL_FN_IMPORT OPTIONAL_FN_EXPORT LDAP_MODULES= LDAP AUTHNZ_LDAP -MISC_MODULES+= ACTIONS ALIAS ASIS AUTOINDEX CERN_META \ +MISC_MODULES= ACTIONS ALIAS ASIS AUTOINDEX CERN_META \ CGI CHARSET_LITE DBD DEFLATE DIR DUMPIO ENV EXPIRES \ HEADERS IMAGEMAP INCLUDE INFO LOG_CONFIG LOGIO MIME \ MIME_MAGIC NEGOTIATION REWRITE SETENVIF SPELING STATUS SUBSTITUTE \ UNIQUE_ID USERDIR USERTRACK VHOST_ALIAS FILTER VERSION REQTIMEOUT -PROXY_MODULES= PROXY PROXY_CONNECT PROXY_FTP PROXY_HTTP PROXY_AJP PROXY_BALANCER \ +MISC_OFF_MODULES= DAV_LOCK +PROXY_MODULES= PROXY PROXY_AJP PROXY_BALANCER PROXY_CONNECT PROXY_FTP PROXY_HTTP \ PROXY_SCGI SSL_MODULES= SSL SUEXEC_MODULES= SUEXEC @@ -29,91 +40,242 @@ AUTH AUTHN AUTHZ DAV CACHE MISC ALL_MODULES_CATEGORIES= AUTH AUTHN AUTHZ CACHE DAV EXPERIMENTAL LDAP \ - MISC PROXY SSL SUEXEC THREADS -.endif + MISC MISC_OFF PROXY SSL SUEXEC THREADS -OPTIONS= \ - THREADS "apr was build with threads" off \ - MYSQL "apu was build with MySQL" off \ - PGSQL "apu was build with PgSQL" off \ - SQLITE "apu was build with SQLite" off \ - IPV6 "IPv6 support" on +#.endif # MODULES_inc -OPTIONS+= \ - AUTH_BASIC "mod_auth_basic" on \ - AUTH_DIGEST "mod_auth_digest" on \ - AUTHN_FILE "mod_authn_file" on \ - AUTHN_DBD "mod_authn_dbd" off \ - AUTHN_DBM "mod_authn_dbm" on \ - AUTHN_ANON "mod_authn_anon" on \ - AUTHN_DEFAULT "mod_authn_default" on \ - AUTHN_ALIAS "mod_authn_alias" on \ - AUTHZ_HOST "mod_authz_host" on \ - AUTHZ_GROUPFILE "mod_authz_groupfile" on \ - AUTHZ_USER "mod_authz_user" on \ - AUTHZ_DBM "mod_authz_dbm" on \ - AUTHZ_OWNER "mod_authz_owner" on \ - AUTHZ_DEFAULT "mod_authz_default" on \ - CACHE "mod_cache" on \ - DISK_CACHE "mod_disk_cache" on \ - FILE_CACHE "mod_file_cache" on \ - MEM_CACHE "mod_mem_cache" off \ - DAV "mod_dav" on \ - DAV_FS "mod_dav_fs" on \ - BUCKETEER "mod_bucketeer" off \ - CASE_FILTER "mod_case_filter" off \ - CASE_FILTER_IN "mod_case_filter_in" off \ - EXT_FILTER "mod_ext_filter" off \ - LOG_FORENSIC "mod_log_forensic" off \ - OPTIONAL_HOOK_EXPORT "mod_optional_hook_export" off \ - OPTIONAL_HOOK_IMPORT "mod_optional_hook_import" off \ - OPTIONAL_FN_IMPORT "mod_optional_fn_import" off \ - OPTIONAL_FN_EXPORT "mod_optional_fn_export" off \ - LDAP "mod_ldap" off \ - AUTHNZ_LDAP "mod_authnz_ldap" off \ - ACTIONS "mod_actions" on \ - ALIAS "mod_alias" on \ - ASIS "mod_asis" on \ - AUTOINDEX "mod_autoindex" on \ - CERN_META "mod_cern_meta" on \ - CGI "mod_cgi" on \ - CHARSET_LITE "mod_charset_lite" on \ - DBD "mod_dbd" off \ - DEFLATE "mod_deflate" on \ - DIR "mod_dir" on \ - DUMPIO "mod_dumpio" on \ - ENV "mod_env" on \ - EXPIRES "mod_expires" on \ - HEADERS "mod_headers" on \ - IMAGEMAP "mod_imagemap" on \ - INCLUDE "mod_include" on \ - INFO "mod_info" on \ - LOG_CONFIG "mod_log_config" on \ - LOGIO "mod_logio" on \ - MIME "mod_mime" on \ - MIME_MAGIC "mod_mime_magic" on \ - NEGOTIATION "mod_negotiation" on \ - REWRITE "mod_rewrite" on \ - SETENVIF "mod_setenvif" on \ - SPELING "mod_speling" on \ - STATUS "mod_status" on \ - UNIQUE_ID "mod_unique_id" on \ - USERDIR "mod_userdir" on \ - USERTRACK "mod_usertrack" on \ - VHOST_ALIAS "mod_vhost_alias" on \ - FILTER "mod_filter" on \ - SUBSTITUTE "mod_substitute" off \ - VERSION "mod_version" on \ - PROXY "mod_proxy" off \ - PROXY_CONNECT "mod_proxy_connect" off \ - PROXY_FTP "mod_proxy_ftp" off \ - PROXY_HTTP "mod_proxy_http" off \ - PROXY_AJP "mod_proxy_ajp" off \ - PROXY_BALANCER "mod_proxy_balancer" off \ - PROXY_SCGI "mod_proxy_scgi" off \ - SSL "mod_ssl" on \ - SUEXEC "mod_suexec" off \ - SUEXEC_RSRCLIMIT "SuEXEC rlimits based on login class" off \ - REQTIMEOUT "mod_reqtimeout" on \ - CGID "mod_cgid" off +NO_OPTIONS_SORT= yes +# apr related +#OPTIONS_DEFINE+= \ +# THREADS +# MYSQL +# PGSQL +# SQLITE + +# apache related +OPTIONS_DEFINE+= \ + AUTH_BASIC \ + AUTH_DIGEST \ + AUTHN_ALIAS \ + AUTHN_ANON \ + AUTHN_DBD \ + AUTHN_DBM \ + AUTHN_DEFAULT \ + AUTHN_FILE \ + AUTHZ_DBM \ + AUTHZ_DEFAULT \ + AUTHZ_GROUPFILE \ + AUTHZ_HOST \ + AUTHZ_OWNER \ + AUTHZ_USER \ + AUTHNZ_LDAP \ + DBD \ + LDAP \ + CACHE \ + DISK_CACHE \ + FILE_CACHE \ + MEM_CACHE \ + DAV \ + DAV_FS \ + DAV_LOCK \ + BUCKETEER \ + CASE_FILTER \ + CASE_FILTER_IN \ + EXT_FILTER \ + LOG_FORENSIC \ + OPTIONAL_HOOK_EXPORT \ + OPTIONAL_HOOK_IMPORT \ + OPTIONAL_FN_IMPORT \ + OPTIONAL_FN_EXPORT \ + ACTIONS \ + ALIAS \ + ASIS \ + AUTOINDEX \ + CERN_META \ + CGI \ + CGID \ + CHARSET_LITE \ + DEFLATE \ + DIR \ + DUMPIO \ + ENV \ + EXPIRES \ + HEADERS \ + IMAGEMAP \ + INCLUDE \ + INFO \ + LOG_CONFIG \ + LOGIO \ + MIME \ + MIME_MAGIC \ + NEGOTIATION \ + REWRITE \ + SETENVIF \ + SPELING \ + STATUS \ + UNIQUE_ID \ + USERDIR \ + USERTRACK \ + VHOST_ALIAS \ + FILTER \ + SUBSTITUTE \ + VERSION \ + SSL \ + SUEXEC \ + SUEXEC_RSRCLIMIT \ + REQTIMEOUT \ + PROXY \ + +OPTIONS_SINGLE=INET +OPTIONS_SINGLE_INET=IPV6 IPV4_ONLY IPV6_ONLY + +OPTIONS_MULTI=PROXY +OPTIONS_MULTI_PROXY=PROXY_AJP PROXY_BALANCER PROXY_CONNECT PROXY_FTP PROXY_HTTP PROXY_SCGI + +# sort list alphanumeric +OPTIONS_DEFAULT+= \ + IPV6 \ + DOCS \ + ACTIONS \ + ALIAS \ + ASIS \ + AUTHN_ALIAS \ + AUTHN_ANON \ + AUTHN_DBM \ + AUTHN_DEFAULT \ + AUTHN_FILE \ + AUTHZ_DBM \ + AUTHZ_DEFAULT \ + AUTHZ_GROUPFILE \ + AUTHZ_HOST \ + AUTHZ_OWNER \ + AUTHZ_USER \ + AUTH_BASIC \ + AUTH_DIGEST \ + AUTOINDEX \ + CACHE \ + CERN_META \ + CGI \ + CHARSET_LITE \ + DAV \ + DAV_FS \ + DEFLATE \ + DIR \ + DISK_CACHE \ + DUMPIO \ + ENV \ + EXPIRES \ + FILE_CACHE \ + FILTER \ + HEADERS \ + IMAGEMAP \ + INCLUDE \ + INFO \ + LOGIO \ + LOG_CONFIG \ + MIME \ + MIME_MAGIC \ + NEGOTIATION \ + REQTIMEOUT \ + REWRITE \ + SETENVIF \ + SPELING \ + SSL \ + STATUS \ + UNIQUE_ID \ + USERDIR \ + USERTRACK \ + VERSION \ + VHOST_ALIAS + +# Overwrite Mk/bsd.options.desc.mk +#THREADS_DESC= APR was build with THREADS +#MYSQL_DESC= APU was build with MySQL +#PGSQL_DESC= APU was build with PgSQL +#SQLITE_DESC= APU was build with SQLite +#IPV6_DESC= IPv4 and IPv6 support +IPV6_DESC= IPv6 support +IPV4_ONLY_DESC= IPv4 only +IPV6_ONLY_DESC= IPv6 only + +# sort list alphanumeric +ACTIONS_DESC= mod_actions +ALIAS_DESC= mod_alias +ASIS_DESC= mod_asis +AUTHNZ_LDAP_DESC= mod_authnz_ldap +AUTHN_ALIAS_DESC= mod_authn_alias +AUTHN_ANON_DESC= mod_authn_anon +AUTHN_DBD_DESC= mod_authn_dbd +AUTHN_DBM_DESC= mod_authn_dbm +AUTHN_DEFAULT_DESC= mod_authn_default +AUTHN_FILE_DESC= mod_authn_file +AUTHZ_DBM_DESC= mod_authz_dbm +AUTHZ_DEFAULT_DESC= mod_authz_default +AUTHZ_GROUPFILE_DESC= mod_authz_groupfile +AUTHZ_HOST_DESC= mod_authz_host +AUTHZ_OWNER_DESC= mod_authz_owner +AUTHZ_USER_DESC= mod_authz_user +AUTH_BASIC_DESC= mod_auth_basic +AUTH_DIGEST_DESC= mod_auth_digest +AUTOINDEX_DESC= mod_autoindex +BUCKETEER_DESC= mod_bucketeer +CACHE_DESC= mod_cache +CASE_FILTER_DESC= mod_case_filter +CASE_FILTER_IN_DESC= mod_case_filter_in +CERN_META_DESC= mod_cern_meta +CGI_DESC= mod_cgi +CGID_DESC= mod_cgid +CHARSET_LITE_DESC= mod_charset_lite +DAV_DESC= mod_dav +DAV_FS_DESC= mod_dav_fs +DAV_LOCK_DESC= mod_dav_lock +DBD_DESC= mod_dbd +DEFLATE_DESC= mod_deflate +DIR_DESC= mod_dir +DISK_CACHE_DESC= mod_disk_cache +DUMPIO_DESC= mod_dumpio +ENV_DESC= mod_env +EXPIRES_DESC= mod_expires +EXT_FILTER_DESC= mod_ext_filter +FILE_CACHE_DESC= mod_file_cache +FILTER_DESC= mod_filter +HEADERS_DESC= mod_headers +IMAGEMAP_DESC= mod_imagemap +INCLUDE_DESC= mod_include +INFO_DESC= mod_info +LDAP_DESC= mod_ldap +LOGIO_DESC= mod_logio +LOG_CONFIG_DESC= mod_log_config +LOG_FORENSIC_DESC= mod_log_forensic +MEM_CACHE_DESC= mod_mem_cache +MIME_DESC= mod_mime +MIME_MAGIC_DESC= mod_mime_magic +NEGOTIATION_DESC= mod_negotiation +OPTIONAL_FN_EXPORT_DESC= mod_optional_fn_export +OPTIONAL_FN_IMPORT_DESC= mod_optional_fn_import +OPTIONAL_HOOK_EXPORT_DESC= mod_optional_hook_export +OPTIONAL_HOOK_IMPORT_DESC= mod_optional_hook_import +PROXY_DESC= mod_proxy +PROXY_AJP_DESC= mod_proxy_ajp +PROXY_BALANCER_DESC= mod_proxy_balancer +PROXY_CONNECT_DESC= mod_proxy_connect +PROXY_FTP_DESC= mod_proxy_ftp +PROXY_HTTP_DESC= mod_proxy_http +PROXY_SCGI_DESC= mod_proxy_scgi +REQTIMEOUT_DESC= mod_reqtimeout +REWRITE_DESC= mod_rewrite +SETENVIF_DESC= mod_setenvif +SPELING_DESC= mod_speling +SSL_DESC= mod_ssl +STATUS_DESC= mod_status +SUBSTITUTE_DESC= mod_substitute +SUEXEC_DESC= mod_suexec +SUEXEC_RSRCLIMIT_DESC= SuEXEC rlimits based on login class +SUEXEC_USERDIR_DESC= SuEXEC UserDir support +UNIQUE_ID_DESC= mod_unique_id +USERDIR_DESC= mod_userdir +USERTRACK_DESC= mod_usertrack +VERSION_DESC= mod_version +VHOST_ALIAS_DESC= mod_vhost_alias + Index: www/apache22/pkg-plist =================================================================== --- www/apache22/pkg-plist (revision 303359) +++ www/apache22/pkg-plist (working copy) @@ -125,6 +125,7 @@ %%MOD_CHARSET_LITE%%libexec/apache22/mod_charset_lite.so %%MOD_DAV%%libexec/apache22/mod_dav.so %%MOD_DAV_FS%%libexec/apache22/mod_dav_fs.so +%%MOD_DAV_LOCK%%libexec/apache22/mod_dav_lock.so %%MOD_DBD%%libexec/apache22/mod_dbd.so %%MOD_DEFLATE%%libexec/apache22/mod_deflate.so %%MOD_DIR%%libexec/apache22/mod_dir.so @@ -175,7 +176,7 @@ sbin/apachectl sbin/apxs sbin/checkgid -%%MOD_LOG_FORENSIC%%sbin/check_forensic +%%FORENSIC%%sbin/check_forensic sbin/dbmmanage sbin/envvars sbin/htcacheclean @@ -187,7 +188,7 @@ sbin/logresolve sbin/rotatelogs sbin/split-logfile -%%MOD_SUEXEC%%sbin/suexec +%%SUEXEC%%sbin/suexec share/apache22/build/config.nice share/apache22/build/config_vars.mk share/apache22/build/instdso.sh Index: www/apache22/Makefile =================================================================== --- www/apache22/Makefile (revision 303359) +++ www/apache22/Makefile (working copy) @@ -25,6 +25,7 @@ MAKE_JOBS_SAFE= yes # to be removed if port is renamed to apache22 +DATADIR= ${PREFIX}/share/apache22 ETCDIR= ${PREFIX}/etc/${PORTNAME}22 WWWDIR= ${PREFIX}/www/${PORTNAME}22 LATEST_LINK?= apache22 @@ -56,11 +57,21 @@ MPM_ITK_VERSION?= 20110321-01 +# disable backward WITH_OPT... +NGTEST= yes .include "${APACHEDIR}/Makefile.options" .include -APU_CONFIG?= ${LOCALBASE}/bin/apu-1-config +APR_CONFIG?= ${LOCALBASE}/bin/apr-1-config +APU_CONFIG?= ${LOCALBASE}/bin/apu-1-config +# AUTHN_DBD DBD +APU_DBD_MYSQL?= ${LOCALBASE}/lib/apr-util-1/apr_dbd_mysql.so +APU_DBD_PGSQL?= ${LOCALBASE}/lib/apr-util-1/apr_dbd_pgsql.so +APU_DBD_SQLITE3?= ${LOCALBASE}/lib/apr-util-1/apr_dbd_sqlite3.so +# AUTHNZ_LDAP LDAP +APR_LDAP?= ${LOCALBASE}/lib/apr-util-1/apr_ldap.so + CONFIGURE_ARGS= --prefix=${PREFIX_RELDEST} \ --enable-layout=FreeBSD \ --with-perl=${PERL5} \ @@ -85,41 +96,26 @@ # CONFIGURE_ARGS willl be handled in Makefile.modules, # here we do only OPTIONS fixups -.if defined(WITH_SUEXEC_RSRCLIMIT) +.if ${PORT_OPTIONS:MSUEXEC_RSRCLIMIT} EXTRA_PATCHES+= ${FILESDIR}/extra-patch-suexec_rsrclimit -.if !defined(WITH_SUEXEC) +.if empty(PORT_OPTIONS:MSUEXEC) IGNORE= suEXEC resource limit patch requires mod_suexec.\ Please (re)run 'make config' and choose SUEXEC option also .endif .endif -.if !defined(WITHOUT_SSL) -USE_OPENSSL= yes -WITH_MODULES+= SSL +.if ${PORT_OPTIONS:MSUEXEC_USERDIR} +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-suexec_userdir +.if empty(PORT_OPTIONS:MSUEXEC) +IGNORE= suEXEC UserDir patch requires mod_suexec.\ + Please (re)run 'make config' and choose SUEXEC option also .endif - -.if defined(WITH_AUTHNZ_LDAP) -WITH_LDAP= yes .endif -.if defined (WITH_LDAP) -USE_OPENLDAP= yes -WITH_AUTHNZ_LDAP=yes +.if ${PORT_OPTIONS:MSSL} +USE_OPENSSL= yes .endif -.if defined(WITH_MYSQL) -USE_MYSQL= yes -WITH_THREADS= yes -.endif - -.if defined(WITH_PGSQL) -USE_PGSQL= yes -.endif - -.if defined(WITH_SQLITE) -USE_SQLITE= yes -.endif - .include "${APACHEDIR}/Makefile.doc" .include .include "${APACHEDIR}/Makefile.modules" @@ -150,15 +146,34 @@ @${MKDIR} ${PREFIX}/etc/apache22/Includes @${INSTALL_DATA} ${FILESDIR}/no-accf.conf ${PREFIX}/etc/apache22/Includes -.if defined(WITH_LOG_FORENSIC) +.if ${PORT_OPTIONS:MLOG_FORENSIC} @${INSTALL_SCRIPT} ${WRKSRC}/support/check_forensic ${PREFIX}/sbin .endif -.if !defined(NOPORTDOCS) +.if ${PORT_OPTIONS:MDOCS} .for dir in style/lang style/xsl/util style/xsl @[ -d ${DOCSDIR}/${dir}/ ] && ${TOUCH} ${DOCSDIR}/${dir}/.keepme .endfor .endif @${CAT} ${PKGMESSAGE} +# maintainer only, check for new modules +modlist: extract + @${AWK} '/: checking whether to enable mod_/ \ + {printf "%%%%%s%%%%libexec/apache22/%s.so\n", \ + toupper($$8), $$8}' ${WRKSRC}/configure \ + | ${TR} -d '"' \ + | ${GREP} -E -v 'MOD_(ECHO|EXAMPLE|HTTP|IDENT|ISAPI|SO)' \ + | ${SORT} -u + +# XXX tmp. target +sc: +# @${ECHO_MSG} "${CONFIGURE_ARGS}" + @${ECHO_MSG} "${CONFIGURE_ARGS}" | ${TR} -s ' ' '\n' +cf: + @${ECHO_MSG} "CFLAGS: ${CFLAGS}" +lf: + @${ECHO_MSG} "LDFLAGS: ${LDFLAGS}" +sm: show-modules + .include Index: www/apache22/Makefile.doc =================================================================== --- www/apache22/Makefile.doc (revision 303359) +++ www/apache22/Makefile.doc (working copy) @@ -70,7 +70,7 @@ EXAMPLESDIR= ${PREFIX}/share/examples/apache22 MAKE_ENV+= EXAMPLESDIR=${EXAMPLESDIR} -.if defined(NOPORTDOCS) +.if empty(PORT_OPTIONS:MDOCS) MAKE_ENV+= NOPORTDOCS=yes .endif Index: www/apache22/Makefile.modules =================================================================== --- www/apache22/Makefile.modules (revision 303359) +++ www/apache22/Makefile.modules (working copy) @@ -1,10 +1,7 @@ # Makefile.modules # Author: Clement Laforet +# Olli Hauer # -# This file is used to build modules list, DBM dependencies and MPM selection. -# I hope it can easily handle external modules (such as mod_perl) or MPMs, like -# muxmpm. -# # Note to myself: (to generate PLIST_SUB entries for modules) # gsed 's/^\(.*\)mod\(.*\)\.so/%%\MOD\U\2%%\L\1mod\2\.so/' pkg-plist > tmp # mv tmp pkg-plist @@ -12,7 +9,48 @@ # $FreeBSD$ # +# ============================================= +# XXX maintainer option handling +# To set additional option use +# PORT_OPTIONS+= +# To unset an option use +# WITHOUT_MODULES+= +# The new option framework has no way to unset an option +# from within the port, therefore we calculate them +# in bsd.apache.mk with WITHOUT_MODULES + + .if defined(_PREMKINCLUDED) + +# check if apr was build with thread support +.if exists(${APR_CONFIG}) +APR_LIBS!= ${SH} ${APR_CONFIG} --libs | ${SED} -e 's/-//g' +. if defined(APR_LIBS) && !empty(APR_LIBS) +_T=pthread +. for lib in ${APR_LIBS:L} +. if ${_T:M${lib}} +APR_HAS_THREADS= yes +. endif +. endfor +. endif +.endif + +# dependency for *SQL and LDAP are tracked by devel/apr1 +# check if apu module exist +.if exists(${APU_CONFIG}) +.if ${PORT_OPTIONS:MLDAP} || ${PORT_OPTIONS:MAUTHNZ_LDAP} +. if !exists(${APR_LDAP}) +IGNORE= Rebuild devel/apr with LDAP support, or deselect LDAP and AUTHNZ_LDAP +. endif +.endif + +.if ${PORT_OPTIONS:MDBD} || ${PORT_OPTIONS:MAUTHN_DBD} +. if !exists(${APU_DBD_MYSQL}) || !exists(${APU_DBD_PGSQL}) || !exists(${APU_DBD_SQLITE3}) +IGNORE= Rebuild devel/apr at least with one DBD backend, or deselect DBD and AUTHN_DBD +. endif +.endif +.endif # exists APU_CONFIG + # ============================================= # MPM's: prefork worker event itk peruser .if ${WITH_MPM:L} == "prefork" @@ -44,10 +82,12 @@ .endif .if ${WITH_MPM:L} == "worker" || ${WITH_MPM:L} == "event" -WITH_THREADS= yes -WITH_MODULES+= CGID +PORT_OPTIONS+= CGID WITHOUT_MODULES+= CGI +.if !defined(APR_HAS_THREADS) +IGNORE+= apache-${WITH_MPM:L}-mpm needs apr with thread support .endif +.endif # ============================================= # XXX WITH_STATIC_SUPPORT : make.conf, or command line parameter @@ -69,42 +109,36 @@ CONFIGURE_ARGS+= --enable-exception-hook .endif -.if !defined(WITHOUT_SSL) +.if ${PORT_OPTIONS:MSSL} CFLAGS+= -I${OPENSSLINC} LDFLAGS+= -L${OPENSSLLIB} CONFIGURE_ARGS+= --with-ssl=${OPENSSLBASE} .endif -.if defined (WITH_AUTHNZ_LDAP) +.if ${PORT_OPTIONS:MAUTHNZ_LDAP} CONFIGURE_ARGS+= --enable-authnz-ldap .endif -.if defined (WITH_LDAP) +.if ${PORT_OPTIONS:MLDAP} CONFIGURE_ARGS+= --enable-ldap=shared .endif -.if !defined(WITH_THREADS) -WITHOUT_MODULES+= MEM_CACHE -. if defined(WITH_MEM_CACHE) -IGNORE+= mod_mem_cache requires WITH_THREADS -. endif -.else +.if defined(APR_HAS_THREADS) CFLAGS+= ${PTHREAD_CFLAGS} LDFLAGS+= ${PTHREAD_LIBS} -.endif - -.if !defined(WITH_MYSQL) && !defined(WITH_PGSQL) && !defined(WITH_SQLITE) -WITHOUT_MODULES+= AUTHN_DBD DBD -. if defined(WITH_DBD) || defined(WITH_AUTHN_DBD) -IGNORE+= You need to enable at least one DBD backend +.else +WITHOUT_MODULES+= MEM_CACHE +. if ${PORT_OPTIONS:MMEM_CACHE} +IGNORE+= mod_mem_cache apr with threads . endif .endif -.if defined(WITHOUT_IPV6) +.if empty(PORT_OPTIONS:MIPV6) CONFIGURE_ARGS+= --disable-ipv6 .else CATEGORIES+= ipv6 -. if defined(WITH_IPV6_V6ONLY) || defined(WITHOUT_V4MAPPED) +#EXTRA_PATCHES+= ${PATCHDIR}/ipv6-only.patch +. if ${PORT_OPTIONS:MIPV6_V6ONLY} CONFIGURE_ARGS+= --disable-v4-mapped . else CONFIGURE_ARGS+= --enable-v4-mapped