freebsd-ports/russian/apache13-modssl/Makefile
2007-07-18 09:01:18 +00:00

249 lines
6.8 KiB
Makefile

# New ports collection makefile for: Russian Apache + mod_ssl
# Date created: 7 July 2000 1:05 MSD
# Whom: Dmitry Sivachenko <dima@Chg.RU>
#
# $FreeBSD$
#
PORTNAME= apache+mod_ssl
PORTVERSION= ${VERSION_APACHE}+${VERSION_RA}+${VERSION_MODSSL}
PORTREVISION?= 1
CATEGORIES= russian www security
MASTER_SITES= ${MASTER_SITE_APACHE_HTTPD} \
${MASTER_SITES_MODSSL:S/$/:modssl/} \
${MASTER_SITES_RA:S/$/:rapatches/}
DISTNAME= apache_${VERSION_APACHE}
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \
mod_ssl-${VERSION_MODSSL}-${VERSION_APACHE}${EXTRACT_SUFX}:modssl \
patches_${VERSION_APACHE}rusPL${VERSION_RA}.tar.gz:rapatches
MAINTAINER= lev@FreeBSD.org
COMMENT= The Russian Apache webserver with SSL/TLS functionality
LIB_DEPENDS= mm.14:${PORTSDIR}/devel/mm
MASTER_SITES_MODSSL= http://www.modssl.org/source/ \
ftp://ftp.modssl.org/source/ \
ftp://ftp.pca.dfn.de/pub/tools/net/mod_ssl/ \
ftp://ftp.ecrc.net/pub/security/mod_ssl/ \
ftp://ftp.nvg.ntnu.no/pub/unix/mod_ssl/ \
ftp://ftp.ulpgc.es/pub/mod_ssl/ \
ftp://glock.missouri.edu/pub/mod_ssl/ \
ftp://ftp.fu-berlin.de/unix/security/mod_ssl/ \
ftp://ftp.ntrl.net/pub/mirror/ralfsw/mod_ssl/
MASTER_SITES_RA= ftp://ftp.lexa.ru/pub/apache-rus/ \
ftp://ftp.lexa.ru/pub/apache-rus/old-versions/
# New feature: conflicts
CONFLICTS= apache+ipv6-* \
apache+mod_ssl-* \
apache+mod_ssl+ipv6-* \
apache+mod_ssl+modsnmp-* \
apache+mod_ssl+mod_snmp+ipv6-* \
apache+mod_ssl+mod_accel-* \
apache+mod_ssl+mod_snmp+mod_accel-* \
apache-worker-* \
apache-perchild-* \
apache-[0-9]* \
apache_fp-* \
publicfile-* \
ru-apache-*
USE_OPENSSL= yes
USE_PERL5= yes
DOCSDIR= ${PREFIX}/share/doc/apache
.include <bsd.port.pre.mk>
VERSION_APACHE= 1.3.37
VERSION_MODSSL= 2.8.28
VERSION_RA= 30.23
#
# some defaults
#
DATADIR?=${PREFIX}/www
DOCUMENT_ROOT?=${DATADIR}/data
DEFAULT_PATH?=/bin:/usr/bin:${PREFIX}/bin
#
# suexec support
#
.if defined(WITH_APACHE_SUEXEC)
APACHE_SUEXEC_DOCROOT?=${DOCUMENT_ROOT}
APACHE_SUEXEC_LOG?=/var/log/httpd-suexec.log
APACHE_SUEXEC_USERDIR?=public_html
SUEXEC_CONF=\
--enable-suexec \
--suexec-docroot=${APACHE_SUEXEC_DOCROOT} \
--suexec-caller=www \
--suexec-uidmin=1000 \
--suexec-gidmin=1000 \
--suexec-logfile=${APACHE_SUEXEC_LOG} \
--suexec-userdir=${APACHE_SUEXEC_USERDIR} \
--suexec-safepath=${DEFAULT_PATH}
.if defined(APACHE_SUEXEC_UMASK)
SUEXEC_CONF+= --suexec-umask=${APACHE_SUEXEC_UMASK}
.endif
PLIST_SUB+= SUEXEC=""
SUEXEC_MAN= suexec.8
.else # WITH_APACHE_SUEXEC
SUEXEC_CONF=
PLIST_SUB+= SUEXEC="@comment "
SUEXEC_MAN=
.endif # WITH_APACHE_SUEXEC
#
# Configutre parameters
#
HAS_CONFIGURE= yes
CONFIGURE_ARGS= \
--prefix=${PREFIX} \
--server-uid=www \
--server-gid=www \
--with-perl=${PERL} \
--with-layout=${FILESDIR}/FreeBSD.layout:FreeBSD \
--without-confadjust
OPTIM= -DHARD_SERVER_LIMIT=512 \
-DDOCUMENT_LOCATION=\\"${PREFIX}/www/data/\\" \
-DDEFAULT_PATH=\\"${PREFIX}/bin:/bin:/usr/bin\\" \
-DACCEPT_FILTER_NAME=\\"httpready\\"
.if defined(WITH_DSO_MODULES)
CONFIGURE_ARGS+=\
--enable-shared=max \
--disable-shared=so \
--disable-shared=charset \
--enable-module=most \
--enable-module=auth_db \
--enable-module=mmap_static \
--enable-module=define \
--disable-module=auth_dbm \
${SUEXEC_CONF}
PLIST_SUB+= DSO_MOD=""
.else
CONFIGURE_ARGS+=\
--enable-shared=remain \
--enable-module=most \
--enable-module=auth_db \
--enable-module=mmap_static \
--enable-module=define \
--disable-shared=define \
--enable-module=ssl \
--disable-shared=ssl \
--disable-module=auth_dbm \
${SUEXEC_CONF}
PLIST_SUB+= DSO_MOD="@comment "
.endif
OPTIM= -DDOCUMENT_LOCATION=\\"${DOCUMENT_ROOT}\\" \
-DDEFAULT_PATH=\\"${DEFAULT_PATH}\\"
.if defined(APACHE_HARD_SERVER_LIMIT)
OPTIM+= -DHARD_SERVER_LIMIT=${APACHE_HARD_SERVER_LIMIT}
.else
OPTIM+= -DHARD_SERVER_LIMIT=512
.endif
.if defined(APACHE_PERF_TUNING)
OPTIM+= -DBUFFERED_LOGS
CFLAGS+= -O6 -fomit-frame-pointer
.endif
CONFIGURE_ENV= CFLAGS='${CFLAGS}' \
OPTIM='${OPTIM}' \
SSL_BASE='SYSTEM' \
EAPI_MM='SYSTEM' \
PATH="${PREFIX}/bin:${PATH}"
INSTALL_TARGET= install-quiet
MAN1= dbmmanage.1 htdigest.1 htpasswd.1
MAN8= ab.8 apachectl.8 apxs.8 httpd.8 logresolve.8 rotatelogs.8 \
${SUEXEC_MAN}
TYPE= test
CRT=
KEY=
pre-fetch:
@${ECHO_MSG} ""
.if defined(WITH_DSO_MODULES)
@${ECHO_MSG} "Build all modules (except mod_so and mod_charset) as DSO."
.else
@${ECHO_MSG} "You could define WITH_DSO_MODULES to build all modules as DSO."
.endif
.if defined(APACHE_PERF_TUNING)
@${ECHO_MSG} "Build Apache for maximum performance."
.else
@${ECHO_MSG} "You could define APACHE_PERF_TUNING to build Apache for maximum performace."
.endif
.if defined(APACHE_HARD_SERVER_LIMIT)
@${ECHO_MSG} "Build Apache with HARD_SERVER_LIMIT=${APACHE_HARD_SERVER_LIMIT}"
.else
@${ECHO_MSG} "You could define APACHE_HARD_SERVER_LIMIT, default one is 512"
.endif
.if defined(WITH_APACHE_SUEXEC)
@${ECHO_MSG} "Build apache with suexec support"
@${ECHO_MSG} " suexec docroot: ${APACHE_SUEXEC_DOCROOT}"
@${ECHO_MSG} " suexec userdir: ${APACHE_SUEXEC_USERDIR}"
@${ECHO_MSG} " suexec safepath: ${DEFAULT_PATH}"
@${ECHO_MSG} " suexec log: ${APACHE_SUEXEC_LOG}"
@${ECHO_MSG} " These values could be defined as APACHE_SUEXEC_DOCROOT, APACHE_SUEXEC_USERDIR, DEFAULT_PATH and APACHE_SUEXEC_LOG."
.else
@${ECHO_MSG} "You could define WITH_APACHE_SUEXEC to build suexec support."
.endif
@${ECHO_MSG} ""
pre-patch:
@cd ${WRKDIR}/apache_${VERSION_APACHE} \
&& ${ECHO_MSG} "===> Applying Russian Apache extension" \
&& ${PATCH} ${PATCH_DIST_ARGS} < ${WRKDIR}/RA-1.3rusPL${VERSION_RA}.patch
@cd ${WRKDIR} \
&& tar cf - src conf htdocs | tar xf - -C ${WRKDIR}/apache_${VERSION_APACHE}
@cd ${WRKDIR}/mod_ssl-${VERSION_MODSSL}-${VERSION_APACHE} \
&& ${ECHO_MSG} "===> Fix mod_ssl-${VERSION_MODSSL} extension for compatibility with Russian Apache" \
&& ${PATCH} --quiet < ${FILESDIR}/mod_ssl-fix
@cd ${WRKDIR}/mod_ssl-${VERSION_MODSSL}-${VERSION_APACHE} \
&& ${ECHO_MSG} "===> Applying mod_ssl-${VERSION_MODSSL} extension" \
&& ./configure --with-apache=../${DISTNAME} --expert
post-patch:
@cd ${WRKSRC} \
&& ${FIND} . -type f -name "*.orig" -print | ${XARGS} ${RM} -f
post-build:
@cd ${WRKSRC} \
&& ${ECHO_MSG} "===> Creating Dummy Certificate for Server (SnakeOil)" \
&& ${ECHO_MSG} " [use 'make certificate' to create a real one]" \
&& ${MAKE} certificate TYPE=dummy >/dev/null 2>&1
certificate:
@cd ${WRKSRC} \
&& ${ECHO_MSG} "===> Creating Test Certificate for Server" \
&& ${MAKE} certificate TYPE=${TYPE} CRT=${CRT} KEY=${KEY}
pre-install:
PKG_PREFIX=${PREFIX} ${SH} pkg-install ${PKGNAME} PRE-INSTALL
post-install:
@if [ ! -f ${PREFIX}/etc/rc.d/apache.sh ]; then \
${ECHO} "Installing ${PREFIX}/etc/rc.d/apache.sh startup file."; \
${INSTALL_SCRIPT} -m 751 ${FILESDIR}/apache.sh ${PREFIX}/etc/rc.d/apache.sh; \
fi
.include <bsd.port.post.mk>