diff --git a/www/apache24/Makefile b/www/apache24/Makefile index 27b4d10b5f0a..c2f9e988785f 100644 --- a/www/apache24/Makefile +++ b/www/apache24/Makefile @@ -10,25 +10,20 @@ DIST_SUBDIR= apache24 MAINTAINER= apache@FreeBSD.org COMMENT= Version 2.4.x of Apache web server -LIB_DEPENDS= expat:${PORTSDIR}/textproc/expat2 \ - apr-1:${PORTSDIR}/devel/apr1 \ - pcre:${PORTSDIR}/devel/pcre - - -LATEST_LINK?= apache24 +LIB_DEPENDS= libexpat.so:${PORTSDIR}/textproc/expat2 \ + libapr-1.so:${PORTSDIR}/devel/apr1 \ + libpcre.so:${PORTSDIR}/devel/pcre CONFLICTS_INSTALL= caudium14-1.* \ apache-*-2.2.* apache22-* USE_APACHE= common24 USES= iconv perl5 +USE_PERL5= run USE_AUTOTOOLS= autoconf libtool USE_RC_SUBR= apache24 htcacheclean LIBTOOLFILES= configure.in -MAN1= ab.1 apxs.1 dbmmanage.1 htdbm.1 htdigest.1 htpasswd.1 httxt2dbm.1 logresolve.1 -MAN8= apachectl.8 fcgistarter.8 htcacheclean.8 httpd.8 rotatelogs.8 suexec.8 - PORTDOCS= * USERS= www @@ -44,11 +39,33 @@ APACHEDIR= ${MASTERDIR} WITH_HTTP_PORT?= 80 WITH_SSL_PORT?= 443 -NO_STAGE= yes .include "${APACHEDIR}/Makefile.options" .include "${APACHEDIR}/Makefile.options.desc" + +AUTHNZ_LDAP_CONFIGURE_ON= --enable-authnz-ldap + +# http://httpd.apache.org/docs/2.4/bind.html +IPV4_MAPPED_CONFIGURE_OFF= --disable-v4-mapped +IPV4_MAPPED_CONFIGURE_ON= --enable-v4-mapped + +LDAP_CONFIGURE_ON= --enable-ldap=shared + +LUAJIT_LIB_DEPENDS= luajit:${PORTSDIR}/lang/luajit +LUA_CONFIGURE_OFF= --without-lua +LUA_CONFIGURE_ON= --with-lua=${LOCALBASE} + +SOCACHE_DC_CONFIGURE_ON= --with-distcache=${LOCALBASE} +SOCACHE_DC_LIB_DEPENDS= distcache:${PORTSDIR}/security/distcache + +SSL_CFLAGS= -I${OPENSSLINC} +SSL_CONFIGURE_ON= --with-ssl=${OPENSSLBASE} +SSL_LDFLAGS= -L${OPENSSLLIB} +SSL_USE= OPENSSL=yes + .include +ETC_SUBDIRS= Includes envvars.d extra + .if ! ${PORT_OPTIONS:MDOCS} MAKE_ENV+= NOPORTDOCS=yes .endif @@ -68,9 +85,8 @@ APU_CRYPTO_NSS?= ${LOCALBASE}/lib/apr-util-1/apr_crypto_nss.so PREFIX_RELDEST= ${PREFIX:S,^${DESTDIR},,} -CONFIGURE_ARGS= --prefix=${PREFIX_RELDEST} \ +CONFIGURE_ARGS+=--prefix=${PREFIX_RELDEST} \ --enable-layout=FreeBSD \ - --with-perl=${PERL5} \ --with-port=${WITH_HTTP_PORT} \ --with-sslport=${WITH_SSL_PORT} \ --with-expat=${LOCALBASE} \ @@ -92,23 +108,11 @@ MAKE_ENV+= EXPR_COMPAT=yes \ # CONFIGURE_ARGS will be handled in Makefile.modules, # here we do only OPTIONS fixups -.if ${PORT_OPTIONS:MSSL} -USE_OPENSSL= yes -.endif - -.if ${PORT_OPTIONS:MSOCACHE_DC} -LIB_DEPENDS+= distcache:${PORTSDIR}/security/distcache -.endif - .if ${PORT_OPTIONS:MLUA} USE_LUA= 5.1+ LUA_COMPS= lua .endif -.if ${PORT_OPTIONS:MLUAJIT} -LIB_DEPENDS+= luajit:${PORTSDIR}/lang/luajit -.endif - .if ${PORT_OPTIONS:MPROXY_HTML} || ${PORT_OPTIONS:MXML2ENC} USE_GNOME= libxml2 .endif @@ -124,11 +128,15 @@ pre-configure:: post-extract: # remove possible leftover .svn directories in the sources @${FIND} ${WRKSRC} -type d -name .svn -print | ${XARGS} ${RM} -rf +# limit grep results ... + @${FIND} ${WRKSRC} -type f \( -name 'NWGNU*' -o -name '*.ds?' -o -name '*.dep' -o -name '*.mak' -o -name '*.win' \) -delete post-patch: @${REINPLACE_CMD} -e 's," PLATFORM ",FreeBSD,' ${WRKSRC}/server/core.c # IPv4_mapping fix: https://issues.apache.org/bugzilla/show_bug.cgi?id=53824 - @${REINPLACE_CMD} -e 's|freebsd5|freebsd|' ${WRKSRC}/configure.in ${WRKSRC}/configure + @${REINPLACE_CMD} -e 's|freebsd5|freebsd|' \ + -e 's|^perlbin=.*|perlbin=${PERL}|' \ + ${WRKSRC}/configure.in ${WRKSRC}/configure @${RM} -f ${WRKSRC}/docs/docroot/*.bak @${INSTALL_DATA} ${WRKSRC}/NOTICE ${WRKSRC}/docs/manual @@ -139,29 +147,20 @@ post-configure: @${REINPLACE_CMD} -e "s,%%PREFIX%%,${PREFIX}," ${WRKSRC}/support/envvars-std post-install: - @${MKDIR} ${ETCDIR}/envvars.d - @${MKDIR} ${ETCDIR}/Includes - @${INSTALL_DATA} ${FILESDIR}/no-accf.conf ${ETCDIR}/Includes/ + @${MKDIR} ${ETC_SUBDIRS:S|^|${STAGEDIR}${ETCDIR}/|} + @${INSTALL_DATA} ${FILESDIR}/no-accf.conf ${STAGEDIR}${ETCDIR}/Includes/ .if ${PORT_OPTIONS:MLOG_FORENSIC} - @${INSTALL_SCRIPT} ${WRKSRC}/support/check_forensic ${PREFIX}/sbin + @${INSTALL_SCRIPT} ${WRKSRC}/support/check_forensic ${STAGEDIR}${PREFIX}/sbin .endif -.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 - @${FIND} ${WRKSRC} \( -name '*.ds?' -o -name 'NWGNU*' -o -name '*.win' -o -name '*.spec' \) -delete @${AWK} '/: checking whether to enable mod_/ \ {printf "%%%%%s%%%%libexec/apache24/%s.so\n", \ toupper($$8), $$8}' ${WRKSRC}/configure \ | ${TR} -d '"' \ | ${SORT} -u \ - | ${GREP} -E -v 'MOD_(HTTP|ISAPI|LOG_CONFIG|PRIVILEGES|SO|UNIXD)%%' + | ${GREP} -E -v '^%%MOD_(HTTP|ISAPI|LOG_CONFIG|PRIVILEGES|SO|UNIXD)%%' .include diff --git a/www/apache24/Makefile.modules b/www/apache24/Makefile.modules index 37126aa86a80..63a9088c20e1 100644 --- a/www/apache24/Makefile.modules +++ b/www/apache24/Makefile.modules @@ -71,8 +71,6 @@ CONFIGURE_ARGS+= --enable-mpms-shared=all PLIST_SUB+= MPM_SHARED="@comment " .endif -# XXX LATEST_LINK overwrites OPTIONSFILE ... -# maybe use NO_LATEST_LINK in future .if ${PORT_OPTIONS:MMPM_PREFORK} CONFIGURE_ARGS+= --with-mpm=prefork .elif ${PORT_OPTIONS:MMPM_WORKER} @@ -148,36 +146,12 @@ IGNORE= AUTH_BASIC need at least one AUTHZ provider . endif .endif -.if ${PORT_OPTIONS:MSSL} -CFLAGS+= -I${OPENSSLINC} -LDFLAGS+= -L${OPENSSLLIB} -CONFIGURE_ARGS+= --with-ssl=${OPENSSLBASE} -.endif - -.if ${PORT_OPTIONS:MSOCACHE_DC} -CONFIGURE_ARGS+= --with-distcache=${LOCALBASE} -.endif - -.if ${PORT_OPTIONS:MLUA} -CONFIGURE_ARGS+= --with-lua=${LOCALBASE} -.else -CONFIGURE_ARGS+= --without-lua -.endif - .if ${PORT_OPTIONS:MXML2ENC} || ${PORT_OPTIONS:MPROXY_HTML} CONFIGURE_ARGS+= --with-libxml2=${LOCALBASE}/include/libxml2 .else CONFIGURE_ARGS+= --without-libxml2 .endif -.if ${PORT_OPTIONS:MAUTHNZ_LDAP} -CONFIGURE_ARGS+= --enable-authnz-ldap -.endif - -.if ${PORT_OPTIONS:MLDAP} -CONFIGURE_ARGS+= --enable-ldap=shared -.endif - .if defined(APR_HAS_THREADS) CFLAGS+= ${PTHREAD_CFLAGS} LDFLAGS+= ${PTHREAD_LIBS} @@ -187,11 +161,4 @@ IGNORE= MEM_CACHE requires APR threads. Please rebuild APR with THREAD support . endif .endif -# http://httpd.apache.org/docs/2.4/bind.html -.if ${PORT_OPTIONS:MIPV4_MAPPED} -CONFIGURE_ARGS+= --enable-v4-mapped -.else -CONFIGURE_ARGS+= --disable-v4-mapped -.endif - .endif # _PREMKINCLUDED diff --git a/www/apache24/files/patch-Makefile.in b/www/apache24/files/patch-Makefile.in index 0794f433c063..bc40962301cf 100644 --- a/www/apache24/files/patch-Makefile.in +++ b/www/apache24/files/patch-Makefile.in @@ -1,6 +1,6 @@ --- ./Makefile.in.orig 2012-12-17 12:50:41.000000000 +0100 -+++ ./Makefile.in 2013-03-24 16:01:58.000000000 +0100 -@@ -32,9 +32,10 @@ ++++ ./Makefile.in 2013-10-27 15:15:14.000000000 +0100 +@@ -32,12 +32,10 @@ install-conf: @echo Installing configuration files @$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir) $(DESTDIR)$(sysconfdir)/extra @@ -8,11 +8,14 @@ + @$(MKINSTALLDIRS) $(DESTDIR)$(EXAMPLESDIR) $(DESTDIR)$(EXAMPLESDIR)/extra @cd $(top_srcdir)/docs/conf; \ for i in mime.types magic; do \ +- if test ! -f $(DESTDIR)$(sysconfdir)/$$i; then \ +- $(INSTALL_DATA) $$i $(DESTDIR)$(sysconfdir); \ +- fi; \ + $(INSTALL_DATA) $$i $(DESTDIR)$(EXAMPLESDIR); \ - if test ! -f $(DESTDIR)$(sysconfdir)/$$i; then \ - $(INSTALL_DATA) $$i $(DESTDIR)$(sysconfdir); \ - fi; \ -@@ -78,14 +79,14 @@ + done; \ + for j in $(top_srcdir)/docs/conf $(top_builddir)/docs/conf ; do \ + cd $$j ; \ +@@ -78,15 +76,12 @@ -e 's#@@SSLPort@@#$(SSLPORT)#g' \ < $$i; \ fi \ @@ -24,13 +27,13 @@ if [ "$$i" = "httpd.conf" ]; then \ file=`echo $$i|sed s/.*.conf/$(PROGRAM_NAME).conf/`; \ fi; \ - if test ! -f $(DESTDIR)$(sysconfdir)/$$file; then \ +- if test ! -f $(DESTDIR)$(sysconfdir)/$$file; then \ - $(INSTALL_DATA) $(DESTDIR)$(sysconfdir)/original/$$i $(DESTDIR)$(sysconfdir)/$$file; \ -+ $(INSTALL_DATA) $(DESTDIR)$(EXAMPLESDIR)/$$i $(DESTDIR)$(sysconfdir)/$$file; \ - fi; \ +- fi; \ fi; \ done ; \ -@@ -137,48 +138,26 @@ + done ; \ +@@ -137,48 +132,25 @@ doxygen $(top_srcdir)/docs/doxygen.conf install-htdocs: @@ -48,8 +51,7 @@ - fi; \ - fi + $(MKINSTALLDIRS) $(DESTDIR)$(EXAMPLESDIR) ; \ -+ test -d $(htdocs-srcdir) && (cd $(htdocs-srcdir) && cp -rp index.html $(DESTDIR)$(EXAMPLESDIR)) && \ -+ ( [ ! -f $(DESTDIR)$(htdocsdir)/index.html ] && cp -p $(DESTDIR)$(EXAMPLESDIR)/index.html $(DESTDIR)$(htdocsdir)/index.html) || true ++ test -d $(htdocs-srcdir) && (cd $(htdocs-srcdir) && cp -rp index.html $(DESTDIR)$(EXAMPLESDIR)) || true install-error: - -@if [ -d $(DESTDIR)$(errordir) ]; then \ @@ -89,25 +91,27 @@ install-other: @test -d $(DESTDIR)$(logfiledir) || $(MKINSTALLDIRS) $(DESTDIR)$(logfiledir) -@@ -229,14 +208,15 @@ +@@ -224,19 +196,17 @@ + done + + install-man: +- @echo Installing man pages and online manual ++ @echo Installing man pages + @test -d $(DESTDIR)$(mandir) || $(MKINSTALLDIRS) $(DESTDIR)$(mandir) @test -d $(DESTDIR)$(mandir)/man1 || $(MKINSTALLDIRS) $(DESTDIR)$(mandir)/man1 @test -d $(DESTDIR)$(mandir)/man8 || $(MKINSTALLDIRS) $(DESTDIR)$(mandir)/man8 - @test -d $(DESTDIR)$(manualdir) || $(MKINSTALLDIRS) $(DESTDIR)$(manualdir) -- @cp -p $(top_srcdir)/docs/man/*.1 $(DESTDIR)$(mandir)/man1 -- @cp -p $(top_srcdir)/docs/man/*.8 $(DESTDIR)$(mandir)/man8 +- @test -d $(DESTDIR)$(manualdir) || $(MKINSTALLDIRS) $(DESTDIR)$(manualdir) + @cp -p $(top_srcdir)/docs/man/*.1 $(DESTDIR)$(mandir)/man1 + @cp -p $(top_srcdir)/docs/man/*.8 $(DESTDIR)$(mandir)/man8 - @if test "x$(RSYNC)" != "x" && test -x $(RSYNC) ; then \ - $(RSYNC) --exclude .svn -rlpt --numeric-ids $(top_srcdir)/docs/manual/ $(DESTDIR)$(manualdir)/; \ - else \ - cd $(top_srcdir)/docs/manual && cp -rp * $(DESTDIR)$(manualdir); \ - cd $(DESTDIR)$(manualdir) && find . -name ".svn" -type d -print | xargs rm -rf 2>/dev/null || true; \ - fi -+ for i in ab.1 apxs.1 dbmmanage.1 htdbm.1 htdigest.1 htpasswd.1 httxt2dbm.1 logresolve.1 ; do \ -+ ${INSTALL_MAN} $(top_srcdir)/docs/man/$$i $(DESTDIR)$(mandir)/man1; \ -+ done -+ for i in apachectl.8 fcgistarter.8 htcacheclean.8 httpd.8 rotatelogs.8 suexec.8 ; do \ -+ ${INSTALL_MAN} $(top_srcdir)/docs/man/$$i $(DESTDIR)$(mandir)/man8; \ -+ done +.if !defined(NOPORTDOCS) ++ @echo Installing online manual ++ @test -d $(DESTDIR)$(manualdir) || $(MKINSTALLDIRS) $(DESTDIR)$(manualdir) + cd $(top_srcdir)/docs/manual && cp -rp * $(DESTDIR)$(manualdir); +.endif diff --git a/www/apache24/files/patch-docs__conf__httpd.conf.in b/www/apache24/files/patch-docs__conf__httpd.conf.in index a246f6924ce0..244f0267d06d 100644 --- a/www/apache24/files/patch-docs__conf__httpd.conf.in +++ b/www/apache24/files/patch-docs__conf__httpd.conf.in @@ -1,5 +1,5 @@ --- ./docs/conf/httpd.conf.in.orig 2012-11-08 04:05:38.000000000 +0100 -+++ ./docs/conf/httpd.conf.in 2013-03-22 18:55:53.000000000 +0100 ++++ ./docs/conf/httpd.conf.in 2013-10-26 19:29:20.000000000 +0200 @@ -74,8 +74,8 @@ # It is usually good practice to create a dedicated user and group for # running httpd, as with most system services. @@ -36,14 +36,9 @@ -@@ -406,7 +406,9 @@ - SSLRandomSeed startup builtin - SSLRandomSeed connect builtin - --# -+ +@@ -418,3 +418,5 @@ + #RequestHeader unset DNT env=bad_DNT + # + +Include @rel_sysconfdir@/Includes/*.conf + - # uncomment out the below to deal with user agents that deliberately - # violate open standards by misusing DNT (DNT *must* be a specific - # end-user choice) diff --git a/www/apache24/files/patch-support__Makefile.in b/www/apache24/files/patch-support__Makefile.in index 072be110c10f..f92ad75abff9 100644 --- a/www/apache24/files/patch-support__Makefile.in +++ b/www/apache24/files/patch-support__Makefile.in @@ -1,25 +1,20 @@ --- ./support/Makefile.in.orig 2012-12-11 11:37:25.000000000 +0100 -+++ ./support/Makefile.in 2013-03-22 18:55:53.000000000 +0100 -@@ -17,23 +17,23 @@ ++++ ./support/Makefile.in 2013-10-26 19:29:20.000000000 +0200 +@@ -17,10 +17,10 @@ @test -d $(DESTDIR)$(sbindir) || $(MKINSTALLDIRS) $(DESTDIR)$(sbindir) @test -d $(DESTDIR)$(libexecdir) || $(MKINSTALLDIRS) $(DESTDIR)$(libexecdir) @cp -p $(top_builddir)/server/httpd.exp $(DESTDIR)$(libexecdir) - @for i in apxs dbmmanage; do \ -+ @chown root:wheel $(DESTDIR)$(libexecdir)/httpd.exp + @for i in apxs dbmmanage split-logfile; do \ if test -f "$(builddir)/$$i"; then \ - cp -p $$i $(DESTDIR)$(bindir); \ - chmod 755 $(DESTDIR)$(bindir)/$$i; \ + cp -p $$i $(DESTDIR)$(sbindir); \ + chmod 755 $(DESTDIR)$(sbindir)/$$i; \ -+ chown root:wheel $(DESTDIR)$(sbindir)/$$i; \ fi ; \ done @for i in apachectl; do \ - if test -f "$(builddir)/$$i"; then \ - cp -p $$i $(DESTDIR)$(sbindir); \ - chmod 755 $(DESTDIR)$(sbindir)/$$i; \ -+ chown root:wheel $(DESTDIR)$(sbindir)/$$i; \ +@@ -30,10 +30,7 @@ fi ; \ done @if test -f "$(builddir)/envvars-std"; then \ diff --git a/www/apache24/pkg-message b/www/apache24/pkg-message index aed26e78e390..d0a71923108c 100644 --- a/www/apache24/pkg-message +++ b/www/apache24/pkg-message @@ -2,5 +2,5 @@ To run apache www server from startup, add apache24_enable="yes" in your /etc/rc.conf. Extra options can be found in startup script. Your hostname must be resolvable using at least 1 mechanism in -/etc/nsswitch typically DNS or /etc/hosts or apache might +/etc/nsswitch.conf typically DNS or /etc/hosts or apache might have issues starting depending on the modules you are using. diff --git a/www/apache24/pkg-plist b/www/apache24/pkg-plist index 41db1ba50c57..d3262dbf68c0 100644 --- a/www/apache24/pkg-plist +++ b/www/apache24/pkg-plist @@ -1,8 +1,10 @@ @comment $FreeBSD$ -@comment keep the next three lines on top -@exec mkdir -p %D/%%ETCDIR%%/envvars.d 2> /dev/null || true -@exec mkdir -p %D/%%ETCDIR%%/extra 2> /dev/null || true -@exec mkdir -p %D/%%ETCDIR%%/Includes 2> /dev/null || true +bin/ab +bin/htdbm +bin/htdigest +bin/htpasswd +bin/httxt2dbm +bin/logresolve %%ETCDIR%%/Includes/no-accf.conf include/apache24/ap_compat.h include/apache24/ap_config.h @@ -188,17 +190,25 @@ libexec/apache24/mod_unixd.so %%MOD_VHOST_ALIAS%%libexec/apache24/mod_vhost_alias.so %%MOD_WATCHDOG%%libexec/apache24/mod_watchdog.so %%MOD_XML2ENC%%libexec/apache24/mod_xml2enc.so -bin/ab -sbin/apxs -sbin/dbmmanage -bin/htdbm -bin/htdigest -bin/htpasswd -bin/httxt2dbm -bin/logresolve +man/man1/ab.1.gz +man/man1/apxs.1.gz +man/man1/dbmmanage.1.gz +man/man1/htdbm.1.gz +man/man1/htdigest.1.gz +man/man1/htpasswd.1.gz +man/man1/httxt2dbm.1.gz +man/man1/logresolve.1.gz +man/man8/apachectl.8.gz +man/man8/fcgistarter.8.gz +man/man8/htcacheclean.8.gz +man/man8/httpd.8.gz +man/man8/rotatelogs.8.gz +man/man8/suexec.8.gz sbin/apachectl -sbin/checkgid +sbin/apxs %%FORENSIC%%sbin/check_forensic +sbin/checkgid +sbin/dbmmanage sbin/envvars sbin/fcgistarter sbin/htcacheclean @@ -265,9 +275,9 @@ sbin/split-logfile %%EXAMPLESDIR%%/mime.types @exec [ -f %D/%%ETCDIR%%/mime.types ] || cp %D/%%EXAMPLESDIR%%/mime.types %D/%%ETCDIR%%/mime.types %%WWWDIR%%/cgi-bin/printenv -%%WWWDIR%%/cgi-bin/test-cgi -%%WWWDIR%%/cgi-bin/printenv.wsf %%WWWDIR%%/cgi-bin/printenv.vbs +%%WWWDIR%%/cgi-bin/printenv.wsf +%%WWWDIR%%/cgi-bin/test-cgi %%WWWDIR%%/error/HTTP_BAD_GATEWAY.html.var %%WWWDIR%%/error/HTTP_BAD_REQUEST.html.var %%WWWDIR%%/error/HTTP_FORBIDDEN.html.var @@ -548,4 +558,3 @@ sbin/split-logfile @dirrmtry %%ETCDIR%%/envvars.d @dirrmtry %%ETCDIR%%/Includes @dirrmtry %%ETCDIR%% -@exec mkdir -p %D/%%DOCSDIR%%