From 7d3eedc4692aa745e939660486992e465bf3715e Mon Sep 17 00:00:00 2001 From: Olli Hauer Date: Sun, 31 May 2015 13:21:32 +0000 Subject: - update to 2.0.9-rc2 - install modules file instead activating the module with apxs RC2 has really gone a long way, and is a real candidate to become the next official release. Tested against apache22/24 MPM prefork/event/worker. Changes: ======== Remove PerlInterpScope. This has not been working properly with threaded MPMs with httpd-2.4.x and the use-case of this directive was questionable. [Jan Kaluza] Allow running the test suite with httpd-2.4.x when mod_access_compat is not loaded. [Steve Hay] Add support for Apache httpd-2.4.x. [Torsten Foertsch, Jan Kaluza, Steve Hay, Gozer] Don't call modperl_threaded_mpm() et al. from XS code. Fixes Debian Bug #765174. [Niko Tyni ] Make sure modperl_interp_select uses r->server rather than the passed s parameter to find the interpreter pool to pull an interpreter from. This fixes an issue with vhosts with a separate interpreter pool and runtime dir-config merges that used to pull the interpreter from the wrong pool. [Torsten Foertsch] PerlInterpScope is now more advisory. Using $(c|r)->pnotes will bind the current interpreter to that object for it's lifetime. $(c|r)->pnotes_kill() can be used to prematurely drop pnotes and remove this binding. [Torsten Foertsch] Now correctly invokes PerlCleanupHandlers, even if they are the only handler type configured for that request [Torsten Foertsch] For threaded MPMs, change interpreter managment to a new, reference-counted allocation model. [Torsten Foertsch] Expose modperl_interp_pool_t via ModPerl::InterpPool, modperl_tipool_t via ModPerl::TiPool and modperl_tipool_config_t via ModPerl::TiPoolConfig [Torsten Foertsch] Expose modperl_interp_t via ModPerl::Interpreter [Torsten Foertsch] Fix t/compat/apache_file.t on Windows. Apache::File->tmpfile() wants TMPDIR or TEMP from the environment, or else defaults to /tmp. The latter is no good on Windows, so make sure the environment variables are passed through. (TEMP should be set to something suitable on Windows.) [Steve Hay] Fix t/api/err_headers_out.t with HTTP::Headers > 6.00. [Rolando ] with haed apache@ --- www/mod_perl2/Makefile | 64 +++++++------------------ www/mod_perl2/distinfo | 6 +-- www/mod_perl2/files/260_mod_perl.conf.sample.in | 9 ++++ www/mod_perl2/files/patch-Makefile.PL | 6 +-- www/mod_perl2/files/pkg-message.in | 7 ++- www/mod_perl2/pkg-plist | 34 ++++++------- 6 files changed, 48 insertions(+), 78 deletions(-) create mode 100644 www/mod_perl2/files/260_mod_perl.conf.sample.in (limited to 'www') diff --git a/www/mod_perl2/Makefile b/www/mod_perl2/Makefile index 1ddc61387ca2..302f68345365 100644 --- a/www/mod_perl2/Makefile +++ b/www/mod_perl2/Makefile @@ -2,25 +2,25 @@ # $FreeBSD$ PORTNAME= mod_perl -PORTVERSION= 2.0.8 -PORTREVISION= 4 +DISTVERSION= 2.0.9-rc2 PORTEPOCH= 3 CATEGORIES= www perl5 -MASTER_SITES= APACHE/perl +#MASTER_SITES= APACHE/perl +MASTER_SITES= LOCAL/ohauer http://people.apache.org/~stevehay/ PKGNAMEPREFIX= ${APACHE_PKGNAMEPREFIX} PKGNAMESUFFIX= 2 -PATCH_SITES= LOCAL/ohauer - MAINTAINER= apache@FreeBSD.org -COMMENT= Embeds a Perl interpreter in the Apache2 server +COMMENT= Embeds a Perl interpreter in the Apache server LICENSE= APACHE20 BUILD_DEPENDS= p5-BSD-Resource>=0:${PORTSDIR}/devel/p5-BSD-Resource RUN_DEPENDS:= ${BUILD_DEPENDS} +TEST_DEPENDS= p5-CGI>=4.15:${PORTSDIR}/www/p5-CGI \ + p5-libwww>=6.13:${PORTSDIR}/www/p5-libwww -SUB_FILES= pkg-message +SUB_FILES= pkg-message ${APMOD_FILE} SUB_LIST= APACHEMODDIR=${APACHEMODDIR} USE_APACHE= 22+ USES= cpe gmake perl5 @@ -28,21 +28,10 @@ USE_PERL5= configure USE_CSTD= gnu89 CPE_VENDOR= apache -.include +APMOD_FILE= 260_${PORTNAME}.conf.sample +PLIST_SUB+= APMOD_FILE=${APMOD_FILE} -# In case apache22 is in use and you want to test -# the new mod_perl, change '> 22' to '>= 22' -.if ${APACHE_VERSION} > 22 -# patch shaped against upstream mod_perl -# Last Changed Rev: 1602105 -PATCHREV= 1638352 -PATCHFILES+= ${PORTNAME}-${PORTVERSION}-r${PATCHREV}.diff.gz -PLIST_SUB+= AP24="" -PMSED= 's/%AP24%//' -.else -PLIST_SUB+= AP24="@comment " -PMSED= '/%AP24%/d' -.endif +.include # Provider is build iff apache24 is in use .if ${APACHE_VERSION:M22} @@ -51,29 +40,8 @@ PLIST_SUB+= AP22="@comment " PLIST_SUB+= AP22="" .endif -# Using apxs in this way is problematic if apache2 is installed under a -# different PREFIX than mod_perl2, because the mod_perl2 installation will -# use paths returned by apxs to install some components. Fixes welcome. -CONFIGURE_ARGS= PREFIX=${PREFIX} MP_APXS=${APXS} MP_APR_CONFIG=${LOCALBASE}/bin/apr-1-config - -.if exists(${LOCALBASE}/include/apr-1/apr.h) -APR_H= ${LOCALBASE}/include/apr-1/apr.h -APR_MAJ_V!= ${ECHO_CMD} `${LOCALBASE}/bin/apr-1-config --version | ${SED} -e 's,\..*,,'` -.endif - -.if defined(APR_H) -APR_HAS_THREADS!= ${ECHO_CMD} `${GREP} -c 'APR_HAS_THREADS *1' ${APR_H}` -.else -APR_HAS_THREADS= 0 -.endif - -.if ${APR_HAS_THREADS} == 1 -PLIST_SUB+= THREADMUTEX="" -PLIST_SUB+= THREADRWLOCK="" -.else -PLIST_SUB+= THREADMUTEX="@comment " -PLIST_SUB+= THREADRWLOCK="@comment " -.endif +CONFIGURE_ARGS= PREFIX=${PREFIX} MP_APXS=${APXS} \ + MP_APR_CONFIG=${LOCALBASE}/bin/apr-1-config post-patch: ${REINPLACE_CMD} -e 's/APR_INLINE//g' \ @@ -90,16 +58,16 @@ post-configure: ${PATCH_WRKSRC}/xs/APR/APR/Makefile post-install: -# adjust pkg-message - ${REINPLACE_CMD} -e ${PMSED} ${WRKDIR}/pkg-message - ${MKDIR} ${STAGEDIR}${PREFIX}/${APACHEINCLUDEDIR}/modules/perl + @${MKDIR} ${STAGEDIR}${PREFIX}/${APACHEINCLUDEDIR}/modules/perl ${INSTALL_DATA} ${WRKSRC}/src/modules/perl/*.h \ ${STAGEDIR}${PREFIX}/${APACHEINCLUDEDIR}/modules/perl ${INSTALL_DATA} ${WRKSRC}/xs/*.h ${STAGEDIR}${PREFIX}/${APACHEINCLUDEDIR} ${INSTALL_DATA} ${WRKSRC}/xs/APR/PerlIO/*.h ${STAGEDIR}${PREFIX}/${APACHEINCLUDEDIR} - ${MKDIR} ${STAGEDIR}${PREFIX}/${APACHEMODDIR} + @${MKDIR} ${STAGEDIR}${PREFIX}/${APACHEMODDIR} ${INSTALL_PROGRAM} ${WRKSRC}/src/modules/perl/mod_perl.so \ ${STAGEDIR}${PREFIX}/${APACHEMODDIR}/mod_perl.so + @${MKDIR} ${STAGEDIR}${PREFIX}/${APACHEETCDIR}/modules.d + ${INSTALL_DATA} ${WRKDIR}/${APMOD_FILE} ${STAGEDIR}${PREFIX}/${APACHEETCDIR}/modules.d -for f in `${FIND} ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/auto -name \*.so` ; do \ ${CHMOD} u+w $${f}; \ diff --git a/www/mod_perl2/distinfo b/www/mod_perl2/distinfo index 1bb0ca0f9b43..ef76dd34ebe6 100644 --- a/www/mod_perl2/distinfo +++ b/www/mod_perl2/distinfo @@ -1,4 +1,2 @@ -SHA256 (mod_perl-2.0.8.tar.gz) = 35dc1b7a40a90a395ce88bba2df84f22289975f34d1757de6d715560c20a20e6 -SIZE (mod_perl-2.0.8.tar.gz) = 3790026 -SHA256 (mod_perl-2.0.8-r1638352.diff.gz) = abb4dfe56939759c2466f268ae6425e305b80d60528bce03de8fe2745349835f -SIZE (mod_perl-2.0.8-r1638352.diff.gz) = 146749 +SHA256 (mod_perl-2.0.9-rc2.tar.gz) = 63a43a2f9e7f05eb1885891c03ba4c9d1ee1241e2e4fdb257fe51eb63e52e891 +SIZE (mod_perl-2.0.9-rc2.tar.gz) = 3846396 diff --git a/www/mod_perl2/files/260_mod_perl.conf.sample.in b/www/mod_perl2/files/260_mod_perl.conf.sample.in new file mode 100644 index 000000000000..d4879bdd6e17 --- /dev/null +++ b/www/mod_perl2/files/260_mod_perl.conf.sample.in @@ -0,0 +1,9 @@ +## $FreeBSD$ +## vim: set filetype=apache: +## +## module file for mod_perl +## +## PROVIDE: mod_perl +## REQUIRE: + +#LoadModule perl_module %%APACHEMODDIR%%/mod_perl.so diff --git a/www/mod_perl2/files/patch-Makefile.PL b/www/mod_perl2/files/patch-Makefile.PL index 9237d91cbe6a..868440ff5b52 100644 --- a/www/mod_perl2/files/patch-Makefile.PL +++ b/www/mod_perl2/files/patch-Makefile.PL @@ -1,6 +1,6 @@ ---- m Wed May 18 11:55:48 2005 -+++ Makefile.PL Wed May 18 11:56:07 2005 -@@ -668,11 +668,11 @@ +--- Makefile.PL.orig 2015-05-13 19:26:43 UTC ++++ Makefile.PL +@@ -731,11 +731,11 @@ modperl_lib: cd "$(MODPERL_SRC)" && $(MAKE) modperl_lib_install: diff --git a/www/mod_perl2/files/pkg-message.in b/www/mod_perl2/files/pkg-message.in index 0a041970f33c..3275782bc87e 100644 --- a/www/mod_perl2/files/pkg-message.in +++ b/www/mod_perl2/files/pkg-message.in @@ -13,8 +13,7 @@ or online: http://perl.apache.org/docs/2.0/user/intro/start_fast.html -%AP24% !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -%AP24% Use this mod_perl2 version at own risk, it is a current -%AP24% development snapshot and not marked production ready! -%AP24% !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +The module can be enabled in + %%APACHEETCDIR%%/modules.d/260_mod_perl.conf + =================================================================== diff --git a/www/mod_perl2/pkg-plist b/www/mod_perl2/pkg-plist index 9c0f27d435b2..f8f00bfd8360 100644 --- a/www/mod_perl2/pkg-plist +++ b/www/mod_perl2/pkg-plist @@ -1,4 +1,5 @@ bin/mp2bug +%%APACHEETCDIR%%/modules.d/%%APMOD_FILE%% %%APACHEINCLUDEDIR%%/modperl_apr_perlio.h %%APACHEINCLUDEDIR%%/modperl_xs_sv_convert.h %%APACHEINCLUDEDIR%%/modperl_xs_typedefs.h @@ -70,8 +71,8 @@ bin/mp2bug %%SITE_ARCH%%/APR/Status.pm %%SITE_ARCH%%/APR/String.pm %%SITE_ARCH%%/APR/Table.pm -%%THREADMUTEX%%%%SITE_ARCH%%/APR/ThreadMutex.pm -%%THREADRWLOCK%%%%SITE_ARCH%%/APR/ThreadRWLock.pm +%%SITE_ARCH%%/APR/ThreadMutex.pm +%%SITE_ARCH%%/APR/ThreadRWLock.pm %%SITE_ARCH%%/APR/URI.pm %%SITE_ARCH%%/APR/UUID.pm %%SITE_ARCH%%/APR/Util.pm @@ -130,7 +131,7 @@ bin/mp2bug %%SITE_ARCH%%/Apache2/PerlSections.pm %%SITE_ARCH%%/Apache2/PerlSections/Dump.pm %%SITE_ARCH%%/Apache2/Process.pm -%%AP22%%%%AP24%%%%SITE_ARCH%%/Apache2/Provider.pm +%%AP22%%%%SITE_ARCH%%/Apache2/Provider.pm %%SITE_ARCH%%/Apache2/Reload.pm %%SITE_ARCH%%/Apache2/RequestIO.pm %%SITE_ARCH%%/Apache2/RequestRec.pm @@ -159,8 +160,8 @@ bin/mp2bug %%SITE_ARCH%%/ModPerl/Const.pm %%SITE_ARCH%%/ModPerl/FunctionMap.pm %%SITE_ARCH%%/ModPerl/Global.pm -%%AP24%%%%SITE_ARCH%%/ModPerl/InterpPool.pm -%%AP24%%%%SITE_ARCH%%/ModPerl/Interpreter.pm +%%SITE_ARCH%%/ModPerl/InterpPool.pm +%%SITE_ARCH%%/ModPerl/Interpreter.pm %%SITE_ARCH%%/ModPerl/MM.pm %%SITE_ARCH%%/ModPerl/Manifest.pm %%SITE_ARCH%%/ModPerl/MapUtil.pm @@ -176,12 +177,11 @@ bin/mp2bug %%SITE_ARCH%%/ModPerl/StructureMap.pm %%SITE_ARCH%%/ModPerl/TestReport.pm %%SITE_ARCH%%/ModPerl/TestRun.pm -%%AP24%%%%SITE_ARCH%%/ModPerl/TiPool.pm -%%AP24%%%%SITE_ARCH%%/ModPerl/TiPoolConfig.pm +%%SITE_ARCH%%/ModPerl/TiPool.pm +%%SITE_ARCH%%/ModPerl/TiPoolConfig.pm %%SITE_ARCH%%/ModPerl/TypeMap.pm %%SITE_ARCH%%/ModPerl/Util.pm %%SITE_ARCH%%/ModPerl/WrapXS.pm -%%AP24%%%%SITE_ARCH%%/MyTest/Util.pm %%SITE_ARCH%%/auto/APR/APR.so %%SITE_ARCH%%/auto/APR/Base64/Base64.so %%SITE_ARCH%%/auto/APR/Brigade/Brigade.so @@ -201,8 +201,8 @@ bin/mp2bug %%SITE_ARCH%%/auto/APR/Status/Status.so %%SITE_ARCH%%/auto/APR/String/String.so %%SITE_ARCH%%/auto/APR/Table/Table.so -%%THREADMUTEX%%%%SITE_ARCH%%/auto/APR/ThreadMutex/ThreadMutex.so -%%THREADRWLOCK%%%%SITE_ARCH%%/auto/APR/ThreadRWLock/ThreadRWLock.so +%%SITE_ARCH%%/auto/APR/ThreadMutex/ThreadMutex.so +%%SITE_ARCH%%/auto/APR/ThreadRWLock/ThreadRWLock.so %%SITE_ARCH%%/auto/APR/URI/URI.so %%SITE_ARCH%%/auto/APR/UUID/UUID.so %%SITE_ARCH%%/auto/APR/Util/Util.so @@ -221,7 +221,7 @@ bin/mp2bug %%SITE_ARCH%%/auto/Apache2/MPM/MPM.so %%SITE_ARCH%%/auto/Apache2/Module/Module.so %%SITE_ARCH%%/auto/Apache2/Process/Process.so -%%AP22%%%%AP24%%%%SITE_ARCH%%/auto/Apache2/Provider/Provider.so +%%AP22%%%%SITE_ARCH%%/auto/Apache2/Provider/Provider.so %%SITE_ARCH%%/auto/Apache2/RequestIO/RequestIO.so %%SITE_ARCH%%/auto/Apache2/RequestRec/RequestRec.so %%SITE_ARCH%%/auto/Apache2/RequestUtil/RequestUtil.so @@ -235,10 +235,10 @@ bin/mp2bug %%SITE_ARCH%%/auto/Apache2/typemap %%SITE_ARCH%%/auto/ModPerl/Const/Const.so %%SITE_ARCH%%/auto/ModPerl/Global/Global.so -%%AP24%%%%SITE_ARCH%%/auto/ModPerl/InterpPool/InterpPool.so -%%AP24%%%%SITE_ARCH%%/auto/ModPerl/Interpreter/Interpreter.so -%%AP24%%%%SITE_ARCH%%/auto/ModPerl/TiPool/TiPool.so -%%AP24%%%%SITE_ARCH%%/auto/ModPerl/TiPoolConfig/TiPoolConfig.so +%%SITE_ARCH%%/auto/ModPerl/InterpPool/InterpPool.so +%%SITE_ARCH%%/auto/ModPerl/Interpreter/Interpreter.so +%%SITE_ARCH%%/auto/ModPerl/TiPool/TiPool.so +%%SITE_ARCH%%/auto/ModPerl/TiPoolConfig/TiPoolConfig.so %%SITE_ARCH%%/auto/ModPerl/Util/Util.so %%SITE_ARCH%%/mod_perl2.pm %%PERL5_MAN3%%/APR.3.gz @@ -332,9 +332,5 @@ bin/mp2bug %%PERL5_MAN3%%/ModPerl::RegistryLoader.3.gz %%PERL5_MAN3%%/ModPerl::RegistryPrefork.3.gz %%PERL5_MAN3%%/ModPerl::Util.3.gz -%%AP24%%%%PERL5_MAN3%%/MyTest::Util.3.gz %%PERL5_MAN3%%/mod_perl2.3.gz -@unexec sed -i '' -E '/LoadModule[[:blank:]]+%%AP_NAME%%_module/d' %D/%%APACHEETCDIR%%/httpd.conf -@unexec echo "Don't forget to remove all mod_perl2-related directives in your httpd.conf" %%APACHEMODDIR%%/%%AP_MODULE%% -@exec %D/sbin/apxs -e %%AP_MOD_EN%% -n %%AP_NAME%% %D/%F -- cgit v1.2.3