mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-24 00:45:52 +00:00
b5c6eb5f0e
All people using mod_rewrite are strongly encouraged to update. An off-by-one flaw exists in the Rewrite module, mod_rewrite. Depending on the manner in which Apache httpd was compiled, this software defect may result in a vulnerability which, in combination with certain types of Rewrite rules in the web server configuration files, could be triggered remotely. For vulnerable builds, the nature of the vulnerability can be denial of service (crashing of web server processes) or potentially allow arbitrary code execution. This issue has been rated as having important security impact by the Apache HTTP Server Security Team Updates to latest versions will follow soon. Notified by: so@ (simon) Obtained from: Apache Security Team Security: CVE-2006-3747
223 lines
6.4 KiB
Makefile
223 lines
6.4 KiB
Makefile
# New ports collection makefile for: apache21
|
|
# Date created: Dec 11 2004
|
|
# Whom: Clement Laforet <clement@FreeBSD.org>
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
# For more information, please read Makefile.doc
|
|
#
|
|
|
|
PORTNAME= apache
|
|
PORTVERSION= 2.1.9
|
|
PORTREVISION= 6
|
|
CATEGORIES= www
|
|
MASTER_SITES= ${MASTER_SITE_APACHE_HTTPD} \
|
|
${MASTER_SITE_LOCAL:S/%SUBDIR%/clement/}:powerlogo
|
|
DISTNAME= httpd-${PORTVERSION}-beta
|
|
DISTFILES= ${DISTNAME}.tar.bz2 \
|
|
powerlogo.gif:powerlogo
|
|
DIST_SUBDIR= apache21
|
|
EXTRACT_ONLY= ${DISTNAME}.tar.bz2
|
|
|
|
MAINTAINER?= clement@FreeBSD.org
|
|
COMMENT?= Version 2.1 of Apache web server with ${WITH_MPM:L} MPM.
|
|
|
|
LIB_DEPENDS= expat.6:${PORTSDIR}/textproc/expat2
|
|
BUILD_DEPENDS= python:${PORTSDIR}/lang/python
|
|
|
|
LATEST_LINK= apache21
|
|
|
|
CONFLICTS= apache+mod_ssl-1.* apache+mod_ssl+ipv6-1.* apache+mod_ssl+modsnmp-1.* \
|
|
apache+mod_ssl+mod_snmp+ipv6-1.* apache+mod_ssl+mod_accel-1.* \
|
|
apache+mod_ssl+mod_snmp+mod_accel-1.* \
|
|
apache+ipv6-1.* apache+ssl-1.* apache-1.* apache_fp-1.* \
|
|
caudium-devel-1.* caudium10-1.* caudium12-* \
|
|
ru-apache+mod_ssl-1.* ru-apache-1.* thttpd-2.* \
|
|
apache-2.0.* apache-*-2.0.*
|
|
|
|
SCRIPTS_ENV+= LIBTOOL=${LIBTOOL} LIBTOOLIZE=${LIBTOOLIZE} \
|
|
LIBTOOL_VERSION=${LIBTOOL_VERSION} AUTOCONF=${AUTOCONF} \
|
|
LIBTOOL_M4=${LOCALBASE}/share/aclocal/libtool${LIBTOOL_VERSION}.m4 \
|
|
AUTOHEADER=${AUTOHEADER}
|
|
|
|
USE_APACHE= common21
|
|
USE_BZIP2= yes
|
|
USE_ICONV= yes
|
|
USE_AUTOTOOLS= autoconf:259 libtool:15
|
|
USE_PERL5= yes
|
|
USE_RC_SUBR= yes
|
|
LIBTOOLFILES= configure
|
|
.if !defined(WITH_APR_FROM_PORTS)
|
|
INSTALLS_SHLIB= yes
|
|
.endif
|
|
CONFIGURE_ARGS= --prefix=${PREFIX_RELDEST} \
|
|
--enable-layout=FreeBSD \
|
|
--with-perl=${PERL5} \
|
|
--with-port=${WITH_HTTP_PORT} \
|
|
--with-expat=${LOCALBASE} \
|
|
--with-iconv=${LOCALBASE} \
|
|
--enable-http
|
|
|
|
CONFIGURE_ENV= CC="${CC}" CPPFLAGS="${CPPFLAGS}" \
|
|
CFLAGS="${CFLAGS}" \
|
|
LDFLAGS="${LDFLAGS}" CONFIG_SHELL="${SH}" \
|
|
LOCALBASE="${LOCALBASE}"
|
|
|
|
PREFIX_RELDEST= ${PREFIX:S,^${DESTDIR},,}
|
|
RC_SCRIPTS_SUB= PREFIX=${PREFIX} RC_SUBR=${RC_SUBR}
|
|
|
|
MAKE_ENV+= DESTDIR=${DESTDIR} EXPR_COMPAT=yes
|
|
|
|
WITH_MPM?= prefork # or worker, perchild, threadpool, event
|
|
|
|
WITH_HTTP_PORT?= 80
|
|
|
|
.if defined (WITH_WINDOWSUPDATEFIX)
|
|
EXTRA_PATCHES+= ${FILESDIR}/exp-windowsupdate.patch
|
|
.endif
|
|
|
|
.if defined(WITHOUT_IPV6)
|
|
CONFIGURE_ARGS+= --disable-ipv6
|
|
.else
|
|
CATEGORIES+= ipv6
|
|
. if defined(WITH_IPV6_V6ONLY) || defined(WITHOUT_V4MAPPED)
|
|
CONFIGURE_ARGS+= --disable-v4-mapped
|
|
. else
|
|
CONFIGURE_ARGS+= --enable-v4-mapped
|
|
. endif
|
|
.endif
|
|
|
|
#backward compatibility
|
|
.if defined(WITHOUT_SSL)
|
|
WITHOUT_SSL_MODULES= YES
|
|
.endif
|
|
|
|
.if !defined(WITHOUT_SSL_MODULES)
|
|
USE_OPENSSL= yes
|
|
.endif
|
|
|
|
.if defined(WITH_STATIC_SUPPORT)
|
|
CONFIGURE_ARGS+= --enable-static-support
|
|
.endif
|
|
|
|
# debug overrides CFLAGS
|
|
.if defined(WITH_DEBUG)
|
|
DEBUG_FLAGS?= -O0 -g -ggdb3
|
|
CFLAGS= ${DEBUG_FLAGS}
|
|
CONFIGURE_ARGS+= --enable-maintainer-mode
|
|
WITH_EXCEPTION_HOOK= YES
|
|
.endif
|
|
|
|
.if defined(WITH_EXCEPTION_HOOK)
|
|
CONFIGURE_ARGS+= --enable-exception-hook
|
|
.endif
|
|
|
|
# for slave ports
|
|
.if !defined(MASTERDIR)
|
|
APACHEDIR= ${.CURDIR}
|
|
.else
|
|
APACHEDIR= ${MASTERDIR}
|
|
.endif
|
|
|
|
.if defined (WITH_LDAP) || defined (WITH_LDAP_MODULES)
|
|
USE_OPENLDAP= YES
|
|
CONFIGURE_ARGS+= --with-ldap \
|
|
--with-ldap-lib="${LOCALBASE}/lib" \
|
|
--with-ldap-include="${LOCALBASE}/include"
|
|
.endif
|
|
|
|
.include "${APACHEDIR}/Makefile.doc"
|
|
.include "${APACHEDIR}/Makefile.modules"
|
|
.include <bsd.port.pre.mk>
|
|
|
|
.if defined(WITH_APR_FROM_PORTS)
|
|
PLIST_SUB+= APR_PORTS="@comment "
|
|
LIB_DEPENDS+= apr-1:${PORTSDIR}/devel/apr
|
|
CONFIGURE_ARGS+= --with-apr=${LOCALBASE}/bin/apr-1-config \
|
|
--with-apr-util=${LOCALBASE}/bin/apu-1-config
|
|
CONFIGURE_ENV+= LTFLAGS="--tag=CXX"
|
|
.else
|
|
PLIST_SUB+= APR_PORTS=""
|
|
CONFLICTS+= apr-1.*
|
|
CONFIGURE_ENV+= USE_BUNDLED_APR=YES
|
|
.endif
|
|
|
|
.if defined(WITH_THREADS)
|
|
CONFIGURE_ARGS+= --enable-threads
|
|
. if ${OSVERSION} > 500023
|
|
. if ${ARCH} == i386
|
|
CONFIGURE_ARGS+= --enable-nonportable-atomics
|
|
. endif
|
|
. endif
|
|
.endif
|
|
|
|
CONFIGURE_ARGS+= --with-mpm=${WITH_MPM:L} ${CONFIGURE_TARGET}
|
|
|
|
show-options:
|
|
@${SED} -ne 's/^##//p' ${APACHEDIR}/Makefile.doc
|
|
|
|
pre-everything::
|
|
@${ECHO_MSG} ""
|
|
@${ECHO_MSG} " To enable a module category: WITH_<CATEGORY>_MODULES"
|
|
@${ECHO_MSG} " To disable a module category: WITHOUT_<CATEGORY>_MODULES"
|
|
@${ECHO_MSG} ""
|
|
@${ECHO_MSG} " Per default categories are:"
|
|
@${ECHO_MSG} " ${DEFAULT_MODULES_CATEGORIES}"
|
|
@${ECHO_MSG} " Categories available:"
|
|
@${ECHO_MSG} " ${ALL_MODULES_CATEGORIES}"
|
|
@${ECHO_MSG} ""
|
|
@${ECHO_MSG} " To see all available knobs, type make show-options"
|
|
@${ECHO_MSG} " To see all modules in different categories, type make show-categories"
|
|
@${ECHO_MSG} " You can check your modules configuration by using make show-modules"
|
|
@${ECHO_MSG} ""
|
|
|
|
post-extract:
|
|
@${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/powerlogo.gif ${WRKSRC}/docs/icons/freebsd.gif
|
|
|
|
post-patch:
|
|
@${REINPLACE_CMD} -e 's,apache_pb,icons/freebsd.gif" ALT="[Powered by FreeBSD]"><IMG SRC="apache_pb2_ani,g' \
|
|
${WRKSRC}/docs/docroot/index.html
|
|
@${RM} -f ${WRKSRC}/docs/docroot/*.bak
|
|
@${SED} ${RC_SCRIPTS_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
|
|
${FILESDIR}/apache.sh > ${WRKDIR}/apache21.sh
|
|
@${RM} -f ${WRKSRC}/docs/manual/index.html.ko.euc-kr
|
|
@${RM} -f ${WRKSRC}/docs/conf/highperformance-std.conf
|
|
@${REINPLACE_CMD} -e 's," PLATFORM ",FreeBSD,' \
|
|
${WRKSRC}/server/core.c
|
|
@${REINPLACE_CMD} -e "s,%%OSVERSION%%,${OSVERSION}," \
|
|
${WRKSRC}/srclib/apr/build/apr_hints.m4
|
|
@${INSTALL_DATA} ${WRKSRC}/NOTICE ${WRKSRC}/docs/manual
|
|
|
|
pre-configure:
|
|
@cd ${WRKSRC}; ${SETENV} ${SCRIPTS_ENV} ./buildconf
|
|
|
|
post-configure:
|
|
@FTPUSERS=`${EGREP} -v '^#' /etc/ftpusers| ${TR} -s "\n" " "` ;\
|
|
${REINPLACE_CMD} -e "s,%%FTPUSERS%%,$$FTPUSERS," \
|
|
${WRKSRC}/docs/conf/extra/httpd-userdir.conf
|
|
${REINPLACE_CMD} -e "s,%%WWWOWN%%,${WWWOWN}, ; \
|
|
s,%%WWWGRP%%,${WWWGRP}, " \
|
|
${WRKSRC}/docs/conf/httpd.conf
|
|
|
|
pre-install:
|
|
@PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
|
|
|
|
install-startup-script:
|
|
.if !exists(${WRKDIR}/apache21.sh)
|
|
@${MKDIR} ${WRKDIR}
|
|
@${SED} ${RC_SCRIPTS_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
|
|
${FILESDIR}/apache.sh > ${WRKDIR}/apache21.sh
|
|
.endif
|
|
@${ECHO_CMD} "Installing ${PREFIX}/etc/rc.d/apache21.sh startup script."
|
|
@${INSTALL_SCRIPT} -m 555 ${WRKDIR}/apache21.sh ${PREFIX}/etc/rc.d/apache21.sh
|
|
|
|
post-install: install-startup-script
|
|
@${MKDIR} ${PREFIX}/etc/apache21/envvars.d
|
|
@${MKDIR} ${PREFIX}/etc/apache21/Includes
|
|
@${CAT} ${PKGMESSAGE}
|
|
.if !defined(NOPORTDOCS)
|
|
@[ -d ${DOCSDIR}/style/lang/ ] && ${TOUCH} ${DOCSDIR}/style/lang/.keepme
|
|
.endif
|
|
|
|
.include <bsd.port.post.mk>
|