1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-25 00:51:21 +00:00

- support staging

- partitial adopt new ${opt}_ notation
This commit is contained in:
Olli Hauer 2013-10-27 17:54:39 +00:00
parent 6a633b28aa
commit 8ea6abd77f
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=331790
7 changed files with 97 additions and 128 deletions

View File

@ -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 <bsd.port.options.mk>
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 <bsd.port.post.mk>

View File

@ -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

View File

@ -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

View File

@ -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 @@
</IfModule>
<IfModule alias_module>
@@ -406,7 +406,9 @@
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
-#
+
@@ -418,3 +418,5 @@
#RequestHeader unset DNT env=bad_DNT
#</IfModule>
+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)

View File

@ -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 \

View File

@ -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.

View File

@ -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%%