19780770 Apache 2.4 needs some third party modules too s11-update
authorPetr Sumbera <petr.sumbera@oracle.com>
Thu, 19 Mar 2015 06:58:47 -0700
branchs11-update
changeset 4018 51079c09956d
parent 4017 d3dce02237d6
child 4032 540cacc7d245
19780770 Apache 2.4 needs some third party modules too 18605980 Update mod_security2 to 2.8.0 19780705 mod_jk upgrade to version 1.2.40 15812307 SUNBT7194162 upgrade mod_wsgi to version 4.3.0 19617430 mod_wsgi doesn't build if apache 2.4 is installed 20229478 mod_perl test suite wouldn't start/pass due number of reasons
components/apache2-modules/mod_dtrace/Makefile
components/apache2-modules/mod_dtrace/apache-dtrace-24.p5m
components/apache2-modules/mod_dtrace/apache-dtrace.p5m
components/apache2-modules/mod_dtrace/dtrace-24.conf
components/apache2-modules/mod_fcgid/Makefile
components/apache2-modules/mod_fcgid/apache-fcgid-24.p5m
components/apache2-modules/mod_fcgid/apache-fcgid.p5m
components/apache2-modules/mod_fcgid/fcgid-24.conf
components/apache2-modules/mod_jk/Makefile
components/apache2-modules/mod_jk/apache-jk-24.p5m
components/apache2-modules/mod_jk/apache-jk.p5m
components/apache2-modules/mod_jk/apache.license
components/apache2-modules/mod_jk/jk-24.conf
components/apache2-modules/mod_jk/patches/srcdir.patch
components/apache2-modules/mod_perl/Makefile
components/apache2-modules/mod_perl/apache-perl.p5m
components/apache2-modules/mod_perl/patches/TestConfigParse.patch
components/apache2-modules/mod_perl/patches/hattack_synthesis.patch
components/apache2-modules/mod_security2/Makefile
components/apache2-modules/mod_security2/apache-security-24.p5m
components/apache2-modules/mod_security2/apache-security.p5m
components/apache2-modules/mod_security2/patches/security2-conf-24.patch
components/apache2-modules/mod_security2/patches/security2-conf.patch
components/apache2-modules/mod_wsgi/Makefile
components/apache2-modules/mod_wsgi/mod_wsgi-26-24.p5m
components/apache2-modules/mod_wsgi/mod_wsgi-26.p5m
components/apache2-modules/mod_wsgi/mod_wsgi-27-24.p5m
components/apache2-modules/mod_wsgi/mod_wsgi-27.p5m
components/apache2-modules/mod_wsgi/mod_wsgi-34-24.p5m
components/apache2-modules/mod_wsgi/mod_wsgi-34.p5m
components/apache2-modules/mod_wsgi/mod_wsgi.p5m
components/apache2-modules/mod_wsgi/patches/rename.patch
components/apache2-modules/modules.mk
--- a/components/apache2-modules/mod_dtrace/Makefile	Wed Mar 25 03:26:21 2015 -0700
+++ b/components/apache2-modules/mod_dtrace/Makefile	Thu Mar 19 06:58:47 2015 -0700
@@ -32,17 +32,15 @@
 
 include $(WS_MAKE_RULES)/justmake.mk
 include $(WS_MAKE_RULES)/ips.mk
-
-APACHE_USR_PREFIX=/usr/apache2/2.2
+include ../modules.mk
 
-$(BUILD_DIR_32)/.built:	COMPONENT_BUILD_ARGS +=	APXS=$(APACHE_USR_PREFIX)/bin/apxs
-$(BUILD_DIR_64)/.built:	COMPONENT_BUILD_ARGS +=	APXS=$(APACHE_USR_PREFIX)/bin/$(MACH64)/apxs
-$(BUILD_DIR_32)/.built:	COMPONENT_BUILD_ARGS +=	DTRACE="/usr/sbin/dtrace -32"
-$(BUILD_DIR_64)/.built:	COMPONENT_BUILD_ARGS +=	DTRACE="/usr/sbin/dtrace -64"
+COMPONENT_BUILD_ARGS +=	APXS=$(APXS)
+COMPONENT_BUILD_ARGS +=	DTRACE="/usr/sbin/dtrace -$(BITS)"
+COMPONENT_BUILD_ARGS +=	PATH="$(PATH)"
 
-PATH=$(SPRO_VROOT)/bin:/usr/bin:/usr/gnu/bin
+ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
-download:
+download::
 
 clobber: clean
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/apache2-modules/mod_dtrace/apache-dtrace-24.p5m	Thu Mar 19 06:58:47 2015 -0700
@@ -0,0 +1,39 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+#
+
+set name=pkg.fmri \
+    value=pkg:/web/server/apache-24/module/apache-dtrace@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary value="DTrace plugin for Apache Web Server V2.4"
+set name=com.oracle.info.description \
+    value="the DTrace plugin for Apache Web Server V2.4"
+set name=com.oracle.info.tpno value=$(TPNO)
+set name=info.classification \
+    value="org.opensolaris.category.2008:Web Services/Application and Web Servers"
+set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
+set name=org.opensolaris.arc-caseid value=PSARC/2008/090
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+file dtrace-24.conf path=etc/apache2/2.4/samples-conf.d/dtrace.conf
+file build/apache24/$(MACH64)/.libs/mod_dtrace.so \
+    path=usr/apache2/2.4/libexec/mod_dtrace.so \
+    pkg.linted.userland.action001.2=true
+license apache.license license="Apache v2.0"
--- a/components/apache2-modules/mod_dtrace/apache-dtrace.p5m	Wed Mar 25 03:26:21 2015 -0700
+++ b/components/apache2-modules/mod_dtrace/apache-dtrace.p5m	Thu Mar 19 06:58:47 2015 -0700
@@ -31,21 +31,12 @@
 set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
 set name=org.opensolaris.arc-caseid value=PSARC/2008/090
 set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-dir  path=etc
-dir  path=etc/apache2
-dir  path=etc/apache2/2.2
-dir  path=etc/apache2/2.2/conf.d
 file dtrace.conf path=etc/apache2/2.2/conf.d/dtrace.conf mode=0644 \
     original_name=SUNWapch22m-dtrace:etc/apache2/2.2/conf.d/dtrace.conf \
     preserve=renamenew
-dir  path=usr
-dir  path=usr/apache2
-dir  path=usr/apache2/2.2
-dir  path=usr/apache2/2.2/libexec
-dir  path=usr/apache2/2.2/libexec/$(MACH64)
-file build/$(MACH64)/.libs/mod_dtrace.so \
+file build/apache22/$(MACH64)/.libs/mod_dtrace.so \
     path=usr/apache2/2.2/libexec/$(MACH64)/mod_dtrace.so
-file build/$(MACH32)/.libs/mod_dtrace.so \
+file build/apache22/$(MACH32)/.libs/mod_dtrace.so \
     path=usr/apache2/2.2/libexec/mod_dtrace.so
 
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/apache2-modules/mod_dtrace/dtrace-24.conf	Thu Mar 19 06:58:47 2015 -0700
@@ -0,0 +1,1 @@
+LoadModule dtrace_module libexec/mod_dtrace.so
--- a/components/apache2-modules/mod_fcgid/Makefile	Wed Mar 25 03:26:21 2015 -0700
+++ b/components/apache2-modules/mod_fcgid/Makefile	Thu Mar 19 06:58:47 2015 -0700
@@ -37,17 +37,13 @@
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/justmake.mk
 include $(WS_MAKE_RULES)/ips.mk
+include ../modules.mk
 
 PATCH_LEVEL=0
 
-APACHE_USR_PREFIX=/usr/apache2/2.2
-
-$(BUILD_DIR_32)/.built:	APXS=$(APACHE_USR_PREFIX)/bin/apxs
-$(BUILD_DIR_64)/.built:	APXS=$(APACHE_USR_PREFIX)/bin/$(MACH64)/apxs
-
 COMPONENT_PRE_BUILD_ACTION= ( cd $(@D); APXS=$(APXS) ./configure.apxs )
 
-PATH=$(SPRO_VROOT)/bin:/usr/bin:/usr/gnu/bin
+ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
 build: $(BUILD_32_and_64)
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/apache2-modules/mod_fcgid/apache-fcgid-24.p5m	Thu Mar 19 06:58:47 2015 -0700
@@ -0,0 +1,44 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+#
+set name=pkg.fmri \
+    value=pkg:/web/server/apache-24/module/apache-fcgid@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary value="FastCGI plugin for Apache Web Server V2.4"
+set name=pkg.description \
+    value="FastCGI plugin for Apache Web Server Version 2.4"
+set name=com.oracle.info.description \
+    value="the FastCGI plugin for Apache Web Server V2.4"
+set name=com.oracle.info.tpno value=$(TPNO)
+set name=info.classification \
+    value="org.opensolaris.category.2008:Web Services/Application and Web Servers"
+set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
+set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
+set name=org.opensolaris.arc-caseid value=LSARC/2009/600
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+file fcgid-24.conf path=etc/apache2/2.4/samples-conf.d/fcgid.conf
+file path=usr/apache2/2.4/libexec/mod_fcgid.so \
+    pkg.linted.userland.action001.2=true
+file path=usr/apache2/2.4/manual/mod/mod_fcgid.html
+file path=usr/apache2/2.4/manual/mod/mod_fcgid.html.en
+
+
+license apache.license license="Apache v2.0"
--- a/components/apache2-modules/mod_fcgid/apache-fcgid.p5m	Wed Mar 25 03:26:21 2015 -0700
+++ b/components/apache2-modules/mod_fcgid/apache-fcgid.p5m	Thu Mar 19 06:58:47 2015 -0700
@@ -34,22 +34,11 @@
 set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
 set name=org.opensolaris.arc-caseid value=LSARC/2009/600
 set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-dir  path=etc
-dir  path=etc/apache2
-dir  path=etc/apache2/2.2
-dir  path=etc/apache2/2.2/conf.d
 file fcgid.conf path=etc/apache2/2.2/conf.d/fcgid.conf mode=0644 \
     original_name=SUNWapch22m-fcgid:etc/apache2/2.2/conf.d/fcgid.conf \
     preserve=renamenew
-dir  path=usr
-dir  path=usr/apache2
-dir  path=usr/apache2/2.2
-dir  path=usr/apache2/2.2/libexec
-dir  path=usr/apache2/2.2/libexec/$(MACH64)
 file path=usr/apache2/2.2/libexec/$(MACH64)/mod_fcgid.so
 file path=usr/apache2/2.2/libexec/mod_fcgid.so
-dir  path=usr/apache2/2.2/manual
-dir  path=usr/apache2/2.2/manual/mod
 file path=usr/apache2/2.2/manual/mod/mod_fcgid.html
 file path=usr/apache2/2.2/manual/mod/mod_fcgid.html.en
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/apache2-modules/mod_fcgid/fcgid-24.conf	Thu Mar 19 06:58:47 2015 -0700
@@ -0,0 +1,13 @@
+LoadModule fcgid_module libexec/mod_fcgid.so
+
+<IfModule mod_fcgid.c>
+FcgidProcessTableFile /var/run/apache2/2.4/fcgid_shm
+FcgidIPCDir /var/run/apache2/2.4/fcgid.sock
+AddHandler fcgid-script .fcgi
+<Location /fcgid>
+    SetHandler fcgid-script
+    Options ExecCGI
+    allow from all
+</Location>
+</IfModule>
+
--- a/components/apache2-modules/mod_jk/Makefile	Wed Mar 25 03:26:21 2015 -0700
+++ b/components/apache2-modules/mod_jk/Makefile	Thu Mar 19 06:58:47 2015 -0700
@@ -23,39 +23,35 @@
 include ../../../make-rules/shared-macros.mk
 
 COMPONENT_NAME=		mod_jk
-COMPONENT_VERSION=	1.2.28
+COMPONENT_VERSION=	1.2.40
 COMPONENT_PROJECT_URL=	http://tomcat.apache.org/connectors-doc/
 COMPONENT_SRC_NAME=	tomcat-connectors
 COMPONENT_SRC=		$(COMPONENT_SRC_NAME)-$(COMPONENT_VERSION)-src
 COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.gz
 COMPONENT_ARCHIVE_HASH=	\
-    sha256:898fddced320754121b53b3292d1d20a31bebc6733d5aeb92367143f8941fe6f
-COMPONENT_ARCHIVE_URL=	http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE)
+    sha256:895e347c4dff74049a848603fb29958e6cf429ea0fc708d514b3a8958236705d
+COMPONENT_ARCHIVE_URL=	http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/$(COMPONENT_ARCHIVE)
 COMPONENT_BUGDB=	utility/apache
 
-TPNO=			9082
+TPNO=			19268
+
+CONFIGURE_DEFAULT_DIRS=no
+DEFAULT_COMPILER=no
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/configure.mk
 include $(WS_MAKE_RULES)/ips.mk
+include ../modules.mk
 
 PATCH_LEVEL=0
 
-APACHE_USR_PREFIX=/usr/apache2/2.2
-
 CONFIGURE_SCRIPT = $(SOURCE_DIR)/native/configure
 
-# Forcing CC from environment instead. Using one provided by apxs doesn't
-# make mod_jk build.
-CC=
+CONFIGURE_OPTIONS += --with-apxs=$(APXS)
 
-CONFIGURE_OPTIONS.32 += --with-apxs=$(APACHE_USR_PREFIX)/bin/apxs
-CONFIGURE_OPTIONS.64 += --with-apxs=$(APACHE_USR_PREFIX)/bin/$(MACH64)/apxs
+ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
-# Header files are missing during build without cloning.
-COMPONENT_PRE_CONFIGURE_ACTION += ($(CLONEY) $(SOURCE_DIR)/native $(@D));
-
-PATH=$(SPRO_VROOT)/bin:/usr/bin:/usr/gnu/bin
+configure:	$(CONFIGURE_32_and_64)
 
 build: $(BUILD_32_and_64)
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/apache2-modules/mod_jk/apache-jk-24.p5m	Thu Mar 19 06:58:47 2015 -0700
@@ -0,0 +1,43 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+#
+set name=pkg.fmri \
+    value=pkg:/web/server/apache-24/module/apache-jk@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary value="Tomcat Connector plugin for Apache Web Server V2.4"
+set name=pkg.description \
+    value="Tomcat Connector plugin for Apache Web Server Version 2.4"
+set name=com.oracle.info.description \
+    value="the Tomcat Connector plugin for Apache Web Server V2.4"
+set name=com.oracle.info.tpno value=$(TPNO)
+set name=info.classification \
+    value="org.opensolaris.category.2008:Web Services/Application and Web Servers"
+set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
+set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
+set name=org.opensolaris.arc-caseid value=PSARC/2014/253
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+file jk-24.conf path=etc/apache2/2.4/samples-conf.d/jk.conf
+file workers.properties path=etc/apache2/2.4/samples-conf.d/workers.properties
+file build/apache24/$(MACH64)/apache-2.0/mod_jk.so \
+    path=usr/apache2/2.4/libexec/mod_jk.so pkg.linted.userland.action001.2=true
+
+
+license apache.license license="Apache v2.0"
--- a/components/apache2-modules/mod_jk/apache-jk.p5m	Wed Mar 25 03:26:21 2015 -0700
+++ b/components/apache2-modules/mod_jk/apache-jk.p5m	Thu Mar 19 06:58:47 2015 -0700
@@ -34,10 +34,6 @@
 set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
 set name=org.opensolaris.arc-caseid value=PSARC/2008/090
 set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-dir  path=etc
-dir  path=etc/apache2
-dir  path=etc/apache2/2.2
-dir  path=etc/apache2/2.2/conf.d
 file jk.conf path=etc/apache2/2.2/conf.d/jk.conf mode=0644 \
     original_name=SUNWapch22m-jk:etc/apache2/2.2/conf.d/jk.conf \
     preserve=renamenew
@@ -45,14 +41,10 @@
     mode=0644 \
     original_name=SUNWapch22m-jk:etc/apache2/2.2/conf.d/workers.properties \
     preserve=renamenew
-dir  path=usr
-dir  path=usr/apache2
-dir  path=usr/apache2/2.2
-dir  path=usr/apache2/2.2/libexec
-dir  path=usr/apache2/2.2/libexec/$(MACH64)
-file build/$(MACH64)/apache-2.0/mod_jk.so \
+file build/apache22/$(MACH64)/apache-2.0/mod_jk.so \
     path=usr/apache2/2.2/libexec/$(MACH64)/mod_jk.so
-file build/$(MACH32)/apache-2.0/mod_jk.so path=usr/apache2/2.2/libexec/mod_jk.so
+file build/apache22/$(MACH32)/apache-2.0/mod_jk.so \
+    path=usr/apache2/2.2/libexec/mod_jk.so
 
 
 license apache.license license="Apache v2.0"
--- a/components/apache2-modules/mod_jk/apache.license	Wed Mar 25 03:26:21 2015 -0700
+++ b/components/apache2-modules/mod_jk/apache.license	Thu Mar 19 06:58:47 2015 -0700
@@ -253,7 +253,7 @@
 
 
 Apache Tomcat Connectors
-Copyright 2002-2009 The Apache Software Foundation
+Copyright 2002-2014 The Apache Software Foundation
 
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/apache2-modules/mod_jk/jk-24.conf	Thu Mar 19 06:58:47 2015 -0700
@@ -0,0 +1,18 @@
+LoadModule jk_module libexec/mod_jk.so
+
+<IfModule mod_jk.c>
+   JkWorkersFile /etc/apache2/2.4/conf.d/workers.properties
+   # Where to put jk shared memory
+   # Update this path to match your local state directory or logs directory
+   JkShmFile     /var/apache2/2.4/logs/mod_jk.shm
+   # Where to put jk logs
+   # Update this path to match your logs directory location (put mod_jk.log next to access_log)
+   JkLogFile     /var/apache2/2.4/logs/mod_jk.log
+   # Set the jk log level [debug/error/info]
+   JkLogLevel    info
+   # Select the timestamp log format
+   JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
+   # Send everything for context /examples to worker named worker1 (ajp13)
+   JkMount  /examples/* worker1
+</IfModule>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/apache2-modules/mod_jk/patches/srcdir.patch	Thu Mar 19 06:58:47 2015 -0700
@@ -0,0 +1,69 @@
+Patch origin: in-house
+Patch status: under investigation, submitted upstream
+
+https://issues.apache.org/bugzilla/show_bug.cgi?id=57060
+
+--- native/common/Makefile.in	2012-05-09 13:08:26.000000000 +0000
++++ native/common/Makefile.in	2014-09-16 12:42:37.566279820 +0000
+@@ -31,7 +31,7 @@
+ OEXT=.lo
+ include list.mk
+ 
+-CFLAGS=@apache_include@ @CFLAGS@ ${APXSCFLAGS} ${APXSCPPFLAGS}
++CFLAGS=-I. @apache_include@ @CFLAGS@ ${APXSCFLAGS} ${APXSCPPFLAGS}
+ 
+ include @top_srcdir@/scripts/build/rules.mk
+ 
+--- native/apache-2.0/Makefile.in	2012-05-09 13:08:26.000000000 +0000
++++ native/apache-2.0/Makefile.in	2014-09-17 09:40:13.054602402 +0000
+@@ -15,6 +15,9 @@
+ 
+ ##
+ 
++srcdir=@srcdir@
++top_srcdir=@top_srcdir@
++top_builddir=@top_builddir@
+ APXS=@APXS@
+ CP=@CP@
+ APACHE_DIR=@APACHE_DIR@
+@@ -36,20 +39,20 @@
+ include @APACHE_CONFIG_VARS@
+ 
+ # Local settings ( overriding/appending to Apache's )
+-COMMON=../common
+-JK_INCL=-DUSE_APACHE_MD5 -I ${COMMON}
++COMMON=common
++JK_INCL=-DUSE_APACHE_MD5 -I${top_builddir}/${COMMON} -I ${top_srcdir}/${COMMON}
+ CFLAGS=@apache_include@ @CFLAGS@ ${JK_INCL} ${APXSCPPFLAGS} ${APXSCFLAGS} ${EXTRA_CFLAGS} ${EXTRA_CPPFLAGS}
+ 
+ 
+ # Implicit rules
+-include ../scripts/build/rules.mk
++include @top_srcdir@/scripts/build/rules.mk
+ 
+ OEXT=.lo
+ 
+ all: Makefile @LIB_JK_TYPE@
+ install: @INSTALL_TYPE@
+ 
+-Makefile: Makefile.in
++Makefile: ${srcdir}/Makefile.in
+ 	echo Regenerating Makefile
+ 	( cd ..; ./config.status )
+ 
+@@ -74,11 +77,14 @@
+ #################### Dynamic .so file ####################
+ # APXS will compile every file, this is derived from apxs
+ 
++mod_jk.lo: ${srcdir}/mod_jk.c
++	${LT_COMPILE}
++
+ mod_jk.la: mod_jk.lo $(APACHE_OBJECTS)
+ 	$(LIBTOOL) --mode=link ${COMPILE} $(APXSLDFLAGS) -o $@ -module -rpath ${libexecdir} -avoid-version mod_jk.lo $(APACHE_OBJECTS)
+ 
+ mod_jk.so: mod_jk.la
+-	../scripts/build/instdso.sh SH_LIBTOOL='$(LIBTOOL)' mod_jk.la `pwd`
++	@top_srcdir@/scripts/build/instdso.sh SH_LIBTOOL='$(LIBTOOL)' mod_jk.la `pwd`
+ 
+ install_dynamic:
+ 	@echo ""
--- a/components/apache2-modules/mod_perl/Makefile	Wed Mar 25 03:26:21 2015 -0700
+++ b/components/apache2-modules/mod_perl/Makefile	Thu Mar 19 06:58:47 2015 -0700
@@ -62,18 +62,23 @@
 COMPONENT_TEST_TARGETS=	test
 
 PATH=$(SPRO_VROOT)/bin:/usr/bin:/usr/gnu/bin
+ifeq   ($(strip $(PARFAIT_BUILD)),yes)
+PATH=$(PARFAIT_TOOLS):$(SPRO_VROOT)/bin:/usr/bin
+endif
+
+ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
 build: $(BUILD_32)
 
 install: $(INSTALL_32)
 
-# Won't start (maybe because of mod_dtrace.so on system).
-#test: $(TEST_32)
-test: $(NO_TESTS)
+test: $(TEST_32)
 
 
 REQUIRED_PACKAGES += library/apr-13
 REQUIRED_PACKAGES += library/apr-util-13
+REQUIRED_PACKAGES += library/apr-15
+REQUIRED_PACKAGES += library/apr-util-15
 REQUIRED_PACKAGES += runtime/perl-512
 REQUIRED_PACKAGES += system/library
 REQUIRED_PACKAGES += system/library/math
--- a/components/apache2-modules/mod_perl/apache-perl.p5m	Wed Mar 25 03:26:21 2015 -0700
+++ b/components/apache2-modules/mod_perl/apache-perl.p5m	Thu Mar 19 06:58:47 2015 -0700
@@ -36,18 +36,9 @@
 set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
 
 
-dir  path=etc
-dir  path=etc/apache2
-dir  path=etc/apache2/2.2
-dir  path=etc/apache2/2.2/conf.d
 file perl.conf path=etc/apache2/2.2/conf.d/perl.conf mode=0644 \
     preserve=renamenew
-dir  path=usr
-dir  path=usr/apache2
-dir  path=usr/apache2/2.2
-dir  path=usr/apache2/2.2/bin
 file path=usr/apache2/2.2/bin/mp2bug
-dir  path=usr/apache2/2.2/include
 file path=usr/apache2/2.2/include/mod_perl.h
 file path=usr/apache2/2.2/include/modperl_apache_compat.h
 file path=usr/apache2/2.2/include/modperl_apache_includes.h
@@ -99,9 +90,6 @@
 file path=usr/apache2/2.2/include/modperl_xs_sv_convert.h
 file path=usr/apache2/2.2/include/modperl_xs_typedefs.h
 file path=usr/apache2/2.2/include/modperl_xs_util.h
-dir  path=usr/apache2/2.2/lib
-dir  path=usr/apache2/2.2/lib/perl
-dir  path=usr/apache2/2.2/lib/perl/APR
 file path=usr/apache2/2.2/lib/perl/APR.pm
 file path=usr/apache2/2.2/lib/perl/APR/Base64.pm
 file path=usr/apache2/2.2/lib/perl/APR/Brigade.pm
@@ -127,7 +115,6 @@
 file path=usr/apache2/2.2/lib/perl/APR/UUID.pm
 file path=usr/apache2/2.2/lib/perl/APR/Util.pm
 file path=usr/apache2/2.2/lib/perl/APR/XSLoader.pm
-dir  path=usr/apache2/2.2/lib/perl/Apache
 file path=usr/apache2/2.2/lib/perl/Apache/Test.pm
 file path=usr/apache2/2.2/lib/perl/Apache/Test5005compat.pm
 file path=usr/apache2/2.2/lib/perl/Apache/TestBuild.pm
@@ -160,7 +147,6 @@
 file path=usr/apache2/2.2/lib/perl/Apache/TestSort.pm
 file path=usr/apache2/2.2/lib/perl/Apache/TestTrace.pm
 file path=usr/apache2/2.2/lib/perl/Apache/TestUtil.pm
-dir  path=usr/apache2/2.2/lib/perl/Apache2
 file path=usr/apache2/2.2/lib/perl/Apache2/Access.pm
 file path=usr/apache2/2.2/lib/perl/Apache2/Build.pm
 file path=usr/apache2/2.2/lib/perl/Apache2/BuildConfig.pm
@@ -177,7 +163,6 @@
 file path=usr/apache2/2.2/lib/perl/Apache2/MPM.pm
 file path=usr/apache2/2.2/lib/perl/Apache2/Module.pm
 file path=usr/apache2/2.2/lib/perl/Apache2/ParseSource.pm
-dir  path=usr/apache2/2.2/lib/perl/Apache2/PerlSections
 file path=usr/apache2/2.2/lib/perl/Apache2/PerlSections.pm
 file path=usr/apache2/2.2/lib/perl/Apache2/PerlSections/Dump.pm
 file path=usr/apache2/2.2/lib/perl/Apache2/Process.pm
@@ -199,10 +184,8 @@
 file path=usr/apache2/2.2/lib/perl/Apache2/XSLoader.pm
 file path=usr/apache2/2.2/lib/perl/Apache2/compat.pm
 file path=usr/apache2/2.2/lib/perl/Apache2/porting.pm
-dir  path=usr/apache2/2.2/lib/perl/Bundle
 file path=usr/apache2/2.2/lib/perl/Bundle/Apache2.pm
 file path=usr/apache2/2.2/lib/perl/Bundle/ApacheTest.pm
-dir  path=usr/apache2/2.2/lib/perl/ModPerl
 file path=usr/apache2/2.2/lib/perl/ModPerl/BuildMM.pm
 file path=usr/apache2/2.2/lib/perl/ModPerl/BuildOptions.pm
 file path=usr/apache2/2.2/lib/perl/ModPerl/CScan.pm
@@ -229,173 +212,114 @@
 file path=usr/apache2/2.2/lib/perl/ModPerl/TypeMap.pm
 file path=usr/apache2/2.2/lib/perl/ModPerl/Util.pm
 file path=usr/apache2/2.2/lib/perl/ModPerl/WrapXS.pm
-dir  path=usr/apache2/2.2/lib/perl/auto
-dir  path=usr/apache2/2.2/lib/perl/auto/APR
 file path=usr/apache2/2.2/lib/perl/auto/APR/APR.bs
 file path=usr/apache2/2.2/lib/perl/auto/APR/APR.so
-dir  path=usr/apache2/2.2/lib/perl/auto/APR/Base64
 file path=usr/apache2/2.2/lib/perl/auto/APR/Base64/Base64.bs
 file path=usr/apache2/2.2/lib/perl/auto/APR/Base64/Base64.so
-dir  path=usr/apache2/2.2/lib/perl/auto/APR/Brigade
 file path=usr/apache2/2.2/lib/perl/auto/APR/Brigade/Brigade.bs
 file path=usr/apache2/2.2/lib/perl/auto/APR/Brigade/Brigade.so
-dir  path=usr/apache2/2.2/lib/perl/auto/APR/Bucket
 file path=usr/apache2/2.2/lib/perl/auto/APR/Bucket/Bucket.bs
 file path=usr/apache2/2.2/lib/perl/auto/APR/Bucket/Bucket.so
-dir  path=usr/apache2/2.2/lib/perl/auto/APR/BucketAlloc
 file path=usr/apache2/2.2/lib/perl/auto/APR/BucketAlloc/BucketAlloc.bs
 file path=usr/apache2/2.2/lib/perl/auto/APR/BucketAlloc/BucketAlloc.so
-dir  path=usr/apache2/2.2/lib/perl/auto/APR/BucketType
 file path=usr/apache2/2.2/lib/perl/auto/APR/BucketType/BucketType.bs
 file path=usr/apache2/2.2/lib/perl/auto/APR/BucketType/BucketType.so
-dir  path=usr/apache2/2.2/lib/perl/auto/APR/Const
 file path=usr/apache2/2.2/lib/perl/auto/APR/Const/Const.bs
 file path=usr/apache2/2.2/lib/perl/auto/APR/Const/Const.so
-dir  path=usr/apache2/2.2/lib/perl/auto/APR/Date
 file path=usr/apache2/2.2/lib/perl/auto/APR/Date/Date.bs
 file path=usr/apache2/2.2/lib/perl/auto/APR/Date/Date.so
-dir  path=usr/apache2/2.2/lib/perl/auto/APR/Error
 file path=usr/apache2/2.2/lib/perl/auto/APR/Error/Error.bs
 file path=usr/apache2/2.2/lib/perl/auto/APR/Error/Error.so
-dir  path=usr/apache2/2.2/lib/perl/auto/APR/Finfo
 file path=usr/apache2/2.2/lib/perl/auto/APR/Finfo/Finfo.bs
 file path=usr/apache2/2.2/lib/perl/auto/APR/Finfo/Finfo.so
-dir  path=usr/apache2/2.2/lib/perl/auto/APR/IpSubnet
 file path=usr/apache2/2.2/lib/perl/auto/APR/IpSubnet/IpSubnet.bs
 file path=usr/apache2/2.2/lib/perl/auto/APR/IpSubnet/IpSubnet.so
-dir  path=usr/apache2/2.2/lib/perl/auto/APR/OS
 file path=usr/apache2/2.2/lib/perl/auto/APR/OS/OS.bs
 file path=usr/apache2/2.2/lib/perl/auto/APR/OS/OS.so
-dir  path=usr/apache2/2.2/lib/perl/auto/APR/PerlIO
 file path=usr/apache2/2.2/lib/perl/auto/APR/PerlIO/PerlIO.bs
 file path=usr/apache2/2.2/lib/perl/auto/APR/PerlIO/PerlIO.so
-dir  path=usr/apache2/2.2/lib/perl/auto/APR/Pool
 file path=usr/apache2/2.2/lib/perl/auto/APR/Pool/Pool.bs
 file path=usr/apache2/2.2/lib/perl/auto/APR/Pool/Pool.so
-dir  path=usr/apache2/2.2/lib/perl/auto/APR/SockAddr
 file path=usr/apache2/2.2/lib/perl/auto/APR/SockAddr/SockAddr.bs
 file path=usr/apache2/2.2/lib/perl/auto/APR/SockAddr/SockAddr.so
-dir  path=usr/apache2/2.2/lib/perl/auto/APR/Socket
 file path=usr/apache2/2.2/lib/perl/auto/APR/Socket/Socket.bs
 file path=usr/apache2/2.2/lib/perl/auto/APR/Socket/Socket.so
-dir  path=usr/apache2/2.2/lib/perl/auto/APR/Status
 file path=usr/apache2/2.2/lib/perl/auto/APR/Status/Status.bs
 file path=usr/apache2/2.2/lib/perl/auto/APR/Status/Status.so
-dir  path=usr/apache2/2.2/lib/perl/auto/APR/String
 file path=usr/apache2/2.2/lib/perl/auto/APR/String/String.bs
 file path=usr/apache2/2.2/lib/perl/auto/APR/String/String.so
-dir  path=usr/apache2/2.2/lib/perl/auto/APR/Table
 file path=usr/apache2/2.2/lib/perl/auto/APR/Table/Table.bs
 file path=usr/apache2/2.2/lib/perl/auto/APR/Table/Table.so
-dir  path=usr/apache2/2.2/lib/perl/auto/APR/ThreadMutex
 file path=usr/apache2/2.2/lib/perl/auto/APR/ThreadMutex/ThreadMutex.bs
 file path=usr/apache2/2.2/lib/perl/auto/APR/ThreadMutex/ThreadMutex.so
-dir  path=usr/apache2/2.2/lib/perl/auto/APR/ThreadRWLock
 file path=usr/apache2/2.2/lib/perl/auto/APR/ThreadRWLock/ThreadRWLock.bs
 file path=usr/apache2/2.2/lib/perl/auto/APR/ThreadRWLock/ThreadRWLock.so
-dir  path=usr/apache2/2.2/lib/perl/auto/APR/URI
 file path=usr/apache2/2.2/lib/perl/auto/APR/URI/URI.bs
 file path=usr/apache2/2.2/lib/perl/auto/APR/URI/URI.so
-dir  path=usr/apache2/2.2/lib/perl/auto/APR/UUID
 file path=usr/apache2/2.2/lib/perl/auto/APR/UUID/UUID.bs
 file path=usr/apache2/2.2/lib/perl/auto/APR/UUID/UUID.so
-dir  path=usr/apache2/2.2/lib/perl/auto/APR/Util
 file path=usr/apache2/2.2/lib/perl/auto/APR/Util/Util.bs
 file path=usr/apache2/2.2/lib/perl/auto/APR/Util/Util.so
-dir  path=usr/apache2/2.2/lib/perl/auto/Apache2
-dir  path=usr/apache2/2.2/lib/perl/auto/Apache2/Access
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/Access/Access.bs
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/Access/Access.so
-dir  path=usr/apache2/2.2/lib/perl/auto/Apache2/Build
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/Build/autosplit.ix
-dir  path=usr/apache2/2.2/lib/perl/auto/Apache2/CmdParms
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/CmdParms/CmdParms.bs
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/CmdParms/CmdParms.so
-dir  path=usr/apache2/2.2/lib/perl/auto/Apache2/Command
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/Command/Command.bs
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/Command/Command.so
-dir  path=usr/apache2/2.2/lib/perl/auto/Apache2/Connection
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/Connection/Connection.bs
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/Connection/Connection.so
-dir  path=usr/apache2/2.2/lib/perl/auto/Apache2/ConnectionUtil
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/ConnectionUtil/ConnectionUtil.bs
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/ConnectionUtil/ConnectionUtil.so
-dir  path=usr/apache2/2.2/lib/perl/auto/Apache2/Const
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/Const/Const.bs
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/Const/Const.so
-dir  path=usr/apache2/2.2/lib/perl/auto/Apache2/Directive
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/Directive/Directive.bs
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/Directive/Directive.so
-dir  path=usr/apache2/2.2/lib/perl/auto/Apache2/Filter
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/Filter/Filter.bs
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/Filter/Filter.so
-dir  path=usr/apache2/2.2/lib/perl/auto/Apache2/FilterRec
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/FilterRec/FilterRec.bs
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/FilterRec/FilterRec.so
-dir  path=usr/apache2/2.2/lib/perl/auto/Apache2/HookRun
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/HookRun/HookRun.bs
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/HookRun/HookRun.so
-dir  path=usr/apache2/2.2/lib/perl/auto/Apache2/Log
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/Log/Log.bs
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/Log/Log.so
-dir  path=usr/apache2/2.2/lib/perl/auto/Apache2/MPM
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/MPM/MPM.bs
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/MPM/MPM.so
-dir  path=usr/apache2/2.2/lib/perl/auto/Apache2/Module
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/Module/Module.bs
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/Module/Module.so
-dir  path=usr/apache2/2.2/lib/perl/auto/Apache2/Process
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/Process/Process.bs
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/Process/Process.so
-dir  path=usr/apache2/2.2/lib/perl/auto/Apache2/RequestIO
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/RequestIO/RequestIO.bs
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/RequestIO/RequestIO.so
-dir  path=usr/apache2/2.2/lib/perl/auto/Apache2/RequestRec
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/RequestRec/RequestRec.bs
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/RequestRec/RequestRec.so
-dir  path=usr/apache2/2.2/lib/perl/auto/Apache2/RequestUtil
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/RequestUtil/RequestUtil.bs
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/RequestUtil/RequestUtil.so
-dir  path=usr/apache2/2.2/lib/perl/auto/Apache2/Response
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/Response/Response.bs
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/Response/Response.so
-dir  path=usr/apache2/2.2/lib/perl/auto/Apache2/ServerRec
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/ServerRec/ServerRec.bs
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/ServerRec/ServerRec.so
-dir  path=usr/apache2/2.2/lib/perl/auto/Apache2/ServerUtil
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/ServerUtil/ServerUtil.bs
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/ServerUtil/ServerUtil.so
-dir  path=usr/apache2/2.2/lib/perl/auto/Apache2/SubProcess
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/SubProcess/SubProcess.bs
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/SubProcess/SubProcess.so
-dir  path=usr/apache2/2.2/lib/perl/auto/Apache2/SubRequest
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/SubRequest/SubRequest.bs
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/SubRequest/SubRequest.so
-dir  path=usr/apache2/2.2/lib/perl/auto/Apache2/URI
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/URI/URI.bs
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/URI/URI.so
-dir  path=usr/apache2/2.2/lib/perl/auto/Apache2/Util
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/Util/Util.bs
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/Util/Util.so
 file path=usr/apache2/2.2/lib/perl/auto/Apache2/typemap
-dir  path=usr/apache2/2.2/lib/perl/auto/ModPerl
-dir  path=usr/apache2/2.2/lib/perl/auto/ModPerl/Const
 file path=usr/apache2/2.2/lib/perl/auto/ModPerl/Const/Const.bs
 file path=usr/apache2/2.2/lib/perl/auto/ModPerl/Const/Const.so
-dir  path=usr/apache2/2.2/lib/perl/auto/ModPerl/Global
 file path=usr/apache2/2.2/lib/perl/auto/ModPerl/Global/Global.bs
 file path=usr/apache2/2.2/lib/perl/auto/ModPerl/Global/Global.so
-dir  path=usr/apache2/2.2/lib/perl/auto/ModPerl/Util
 file path=usr/apache2/2.2/lib/perl/auto/ModPerl/Util/Util.bs
 file path=usr/apache2/2.2/lib/perl/auto/ModPerl/Util/Util.so
-dir  path=usr/apache2/2.2/lib/perl/auto/mod_perl2
 file path=usr/apache2/2.2/lib/perl/auto/mod_perl2/.packlist
 file path=usr/apache2/2.2/lib/perl/mod_perl2.pm
 file path=usr/apache2/2.2/lib/perl/perllocal.pod
-dir  path=usr/apache2/2.2/libexec
 file path=usr/apache2/2.2/libexec/mod_perl.so
-dir  path=usr/apache2/2.2/man
-dir  path=usr/apache2/2.2/man/man3
 file path=usr/apache2/2.2/man/man3/APR.3
 file path=usr/apache2/2.2/man/man3/APR::Base64.3
 file path=usr/apache2/2.2/man/man3/APR::Brigade.3
@@ -483,7 +407,6 @@
 file path=usr/apache2/2.2/man/man3/ModPerl::RegistryPrefork.3
 file path=usr/apache2/2.2/man/man3/ModPerl::Util.3
 file path=usr/apache2/2.2/man/man3/mod_perl2.3
-dir  path=usr/bin
 link path=usr/bin/mp2bug target=../apache2/2.2/bin/mp2bug
 
 
--- a/components/apache2-modules/mod_perl/patches/TestConfigParse.patch	Wed Mar 25 03:26:21 2015 -0700
+++ b/components/apache2-modules/mod_perl/patches/TestConfigParse.patch	Thu Mar 19 06:58:47 2015 -0700
@@ -1,14 +1,27 @@
---- mod_perl-2.0.4/Apache-Test/lib/Apache/TestConfigParse.pm	Sun Nov 11 21:34:46 2007
-+++ mod_perl-2.0.4/Apache-Test/lib/Apache/TestConfigParse.pm	Thu May 19 05:35:01 2011
-@@ -211,6 +211,11 @@
+Patch origin: in-house
+Patch status: Solaris-specific; not suitable for upstream
+
+This change makes sure that 64 bit modules and mod_fcgid module are not
+used for testing. Mod_fcgid is disabled because it by default creates
+shared memory and socket in paths which are not suitable for ordinary
+user (or there can be interaction with running Apache).
+
+--- mod_perl-2.0.4/Apache-Test/lib/Apache/TestConfigParse.pm
++++ mod_perl-2.0.4/Apache-Test/lib/Apache/TestConfigParse.pm
+@@ -211,6 +211,16 @@
      for my $args (@{ $c->{$directive} }) {
          my $modname = $args->[0];
          my $file = $self->server_file_rel2abs($args->[1]);
 +	
-+       unless ($file !~ m/\/64\//) {
++        unless ($file !~ m/\/64\//) {
 +            debug "$file is 64 bit module (we don't want it)";
 +            next;
 +        }
++
++        unless ($file !~ m/mod_fcgid.so/) {
++            debug "$file creates shared memory and sockets on wrong place (skipping)";
++            next;
++        }
  
          unless (-e $file) {
              debug "$file does not exist, skipping LoadModule";
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/apache2-modules/mod_perl/patches/hattack_synthesis.patch	Thu Mar 19 06:58:47 2015 -0700
@@ -0,0 +1,107 @@
+Patch origin: upstream
+Patch status: will be part of next version
+
+Synthesis of:
+http://svn.apache.org/viewvc?view=revision&revision=1455340
+http://svn.apache.org/viewvc?view=revision&revision=1457619
+
+See also:
+https://rt.cpan.org/Public/Bug/Display.html?id=83916
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=702821
+
+--- a/t/response/TestPerl/hash_attack.pm	2013-03-15 13:35:14.000000000 +0000
++++ b/t/response/TestPerl/hash_attack.pm	2013-03-15 13:38:29.000000000 +0000
+@@ -5,10 +5,11 @@
+ # and fixup handlers in this test). Moreover it must not fail to find
+ # that entry on the subsequent requests.
+ #
+-# the hash attack is detected when HV_MAX_LENGTH_BEFORE_SPLIT keys
+-# find themselves in the same hash bucket, in which case starting from
+-# 5.8.2 the hash will rehash all its keys using a random hash seed
+-# (PL_new_hash_seed, set in mod_perl or via PERL_HASH_SEED environment
++# the hash attack is detected when HV_MAX_LENGTH_BEFORE_REHASH keys find
++# themselves in the same hash bucket on splitting (which happens when the
++# number of keys crosses the threshold of a power of 2), in which case
++# starting from 5.8.2 the hash will rehash all its keys using a random hash
++# seed (PL_new_hash_seed, set in mod_perl or via PERL_HASH_SEED environment
+ # variable)
+ #
+ # Prior to the attack condition hashes use the PL_hash_seed, which is
+@@ -29,7 +30,7 @@
+ 
+ use constant MASK_U32  => 2**32;
+ use constant HASH_SEED => 0; # 5.8.2: always zero before the rehashing
+-use constant THRESHOLD => 14; #define HV_MAX_LENGTH_BEFORE_SPLIT
++use constant THRESHOLD => 14; #define HV_MAX_LENGTH_BEFORE_(SPLIT|REHASH)
+ use constant START     => "a";
+ 
+ # create conditions which will trigger a rehash on the current stash
+@@ -57,6 +58,8 @@
+     return Apache2::Const::OK;
+ }
+ 
++sub buckets { scalar(%{$_[0]}) =~ m#/([0-9]+)\z# ? 0+$1 : 8 }
++
+ sub attack {
+     my $stash = shift;
+ 
+@@ -74,9 +77,9 @@
+     my $bits = $keys ? log($keys)/log(2) : 0;
+     $bits = $min_bits if $min_bits > $bits;
+ 
+-    $bits = int($bits) < $bits ? int($bits) + 1 : int($bits);
+-    # need to add 2 bits to cover the internal split cases
+-    $bits += 2;
++    $bits = ceil($bits);
++    # need to add 3 bits to cover the internal split cases
++    $bits += 3;
+     my $mask = 2**$bits-1;
+     debug "mask: $mask ($bits)";
+ 
+@@ -90,7 +93,7 @@
+         next unless ($h & $mask) == 0;
+         $c++;
+         $stash->{$s}++;
+-        debug sprintf "%2d: %5s, %10s, %s", $c, $s, $h, scalar(%$stash);
++        debug sprintf "%2d: %5s, %08x %s", $c, $s, $h, scalar(%$stash);
+         push @keys, $s;
+         debug "The hash collision attack has been successful"
+             if Internals::HvREHASH(%$stash);
+@@ -98,6 +101,24 @@
+         $s++;
+     }
+ 
++    # If the rehash hasn't been triggered yet, it's being delayed until the
++    # next bucket split.  Add keys until a split occurs.
++    unless (Internals::HvREHASH(%$stash)) {
++        debug "Will add padding keys until hash split";
++        my $old_buckets = buckets($stash);
++        while (buckets($stash) == $old_buckets) {
++            next if exists $stash->{$s};
++            $h = hash($s);
++            $c++;
++            $stash->{$s}++;
++            debug sprintf "%2d: %5s, %08x %s", $c, $s, $h, scalar(%$stash);
++            push @keys, $s;
++            debug "The hash collision attack has been successful"
++                if Internals::HvREHASH(%$stash);
++            $s++;
++        }
++    }
++
+     # this verifies that the attack was mounted successfully. If
+     # HvREHASH is on it is. Otherwise the sequence wasn't successful.
+     die "Failed to mount the hash collision attack"
+@@ -108,6 +129,12 @@
+     return @keys;
+ }
+ 
++# least integer >= n
++sub ceil {
++    my $value = shift;
++    return int($value) < $value ? int($value) + 1 : int($value);
++}
++
+ # trying to provide the fastest equivalent of C macro's PERL_HASH in
+ # Perl - the main complication is that the C macro uses U32 integer
+ # (unsigned int), which we can't do it Perl (it can do I32, with 'use
--- a/components/apache2-modules/mod_security2/Makefile	Wed Mar 25 03:26:21 2015 -0700
+++ b/components/apache2-modules/mod_security2/Makefile	Thu Mar 19 06:58:47 2015 -0700
@@ -23,36 +23,40 @@
 include ../../../make-rules/shared-macros.mk
 
 COMPONENT_NAME=		mod_security2
-COMPONENT_VERSION=	2.7.5
+COMPONENT_VERSION=	2.8.0
 COMPONENT_PROJECT_URL=	http://www.modsecurity.org/
 COMPONENT_SRC_NAME=	modsecurity-apache
 COMPONENT_SRC=		$(COMPONENT_SRC_NAME)_$(COMPONENT_VERSION)
 COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.gz
 COMPONENT_ARCHIVE_HASH=	\
-    sha256:9e907536278d8da80d3dbb29aeffe9c4ec37ce9b641035b2da64e993135647a2
+    sha256:95de6ec30982e5bde7981929ba89be89488e9f237ee8c4236e064b074bbb6f28
 COMPONENT_ARCHIVE_URL= \
     $(COMPONENT_PROJECT_URL)tarball/$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE)
 COMPONENT_BUGDB=	utility/apache
 
-TPNO=			14454
+TPNO=			18233
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/configure.mk
 include $(WS_MAKE_RULES)/ips.mk
-
-APACHE_USR_PREFIX=/usr/apache2/2.2
+include ../modules.mk
 
-APXS.32=	$(APACHE_USR_PREFIX)/bin/apxs
-APXS.64=	$(APACHE_USR_PREFIX)/bin/$(MACH64)/apxs
+COMPONENT_POST_UNPACK_ACTION += \
+  (cd $(SOURCE_DIR); \
+  $(CP) modsecurity.conf-recommended modsecurity-24.conf-recommended)
 
 CONFIGURE_OPTIONS += CFLAGS="$(CFLAGS)"
 CONFIGURE_OPTIONS += LTFLAGS="--silent --tag=CC"
-CONFIGURE_OPTIONS += --with-apxs=$(APXS.$(BITS))
-CONFIGURE_OPTIONS += --with-apr=`$(APXS.$(BITS)) -q APR_CONFIG`
-CONFIGURE_OPTIONS += --with-apu=`$(APXS.$(BITS)) -q APU_CONFIG`
+CONFIGURE_OPTIONS += --with-apxs=$(APXS)
+CONFIGURE_OPTIONS += --with-apr=`$(APXS) -q APR_CONFIG`
+CONFIGURE_OPTIONS += --with-apu=`$(APXS) -q APU_CONFIG`
 
 COMPONENT_TEST_ARGS += CFLAGS="$(CFLAGS) -DMSC_TEST"
 
+ASLR_MODE = $(ASLR_NOT_APPLICABLE)
+
+configure:	$(CONFIGURE_32_and_64)
+
 build: $(BUILD_32_and_64)
 
 test: $(TEST_32_and_64)
@@ -60,8 +64,9 @@
 
 REQUIRED_PACKAGES += library/apr-13
 REQUIRED_PACKAGES += library/apr-util-13
+REQUIRED_PACKAGES += library/apr-15
+REQUIRED_PACKAGES += library/apr-util-15
 REQUIRED_PACKAGES += library/libxml2
 REQUIRED_PACKAGES += library/pcre
 REQUIRED_PACKAGES += runtime/lua
 REQUIRED_PACKAGES += system/library
-REQUIRED_PACKAGES += system/library/math
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/apache2-modules/mod_security2/apache-security-24.p5m	Thu Mar 19 06:58:47 2015 -0700
@@ -0,0 +1,46 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+#
+set name=pkg.fmri \
+    value=pkg:/web/server/apache-24/module/apache-security@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary value="Mod Security plugin for Apache Web Server V2.4"
+set name=pkg.description \
+    value="Mod Security plugin for Apache Web Server Version 2.4"
+set name=com.oracle.info.description \
+    value="the Mod Security plugin for Apache Web Server V2.4"
+set name=com.oracle.info.tpno value=$(TPNO)
+set name=info.classification \
+    value="org.opensolaris.category.2008:Web Services/Application and Web Servers"
+set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
+set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
+set name=org.opensolaris.arc-caseid value=PSARC/2008/090
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+file modsecurity-24.conf-recommended \
+    path=etc/apache2/2.4/samples-conf.d/security2.conf
+file unicode.mapping path=etc/apache2/2.4/samples-conf.d/unicode.mapping
+file build/apache24/$(MACH64)/apache2/.libs/mod_security2.so \
+    path=usr/apache2/2.4/libexec/mod_security2.so \
+    pkg.linted.userland.action001.2=true
+dir  path=var/apache2/2.4/modsec/tmp/ owner=webservd group=webservd mode=770
+
+
+license LICENSE license="Apache v2.0"
--- a/components/apache2-modules/mod_security2/apache-security.p5m	Wed Mar 25 03:26:21 2015 -0700
+++ b/components/apache2-modules/mod_security2/apache-security.p5m	Thu Mar 19 06:58:47 2015 -0700
@@ -36,10 +36,12 @@
 set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
 file modsecurity.conf-recommended \
     path=etc/apache2/2.2/samples-conf.d/security2.conf
-file build/$(MACH64)/apache2/.libs/mod_security2.so \
+file unicode.mapping path=etc/apache2/2.2/samples-conf.d/unicode.mapping
+file build/apache22/$(MACH64)/apache2/.libs/mod_security2.so \
     path=usr/apache2/2.2/libexec/$(MACH64)/mod_security2.so
-file build/$(MACH32)/apache2/.libs/mod_security2.so \
+file build/apache22/$(MACH32)/apache2/.libs/mod_security2.so \
     path=usr/apache2/2.2/libexec/mod_security2.so
+dir  path=var/apache2/2.2/modsec/tmp/ owner=webservd group=webservd mode=770
 
 
 license LICENSE license="Apache v2.0"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/apache2-modules/mod_security2/patches/security2-conf-24.patch	Thu Mar 19 06:58:47 2015 -0700
@@ -0,0 +1,67 @@
+Patch origin: in-house
+Patch status: Solaris-specific; not suitable for upstream
+
+Customize conf file for Solaris.
+
+--- modsecurity-apache_2.7.5/modsecurity-24.conf-recommended	2014-09-18 11:02:07.894164052 +0000
++++ modsecurity-apache_2.7.5/modsecurity-24.conf-recommended	2014-09-18 11:02:55.661565764 +0000
+@@ -1,3 +1,7 @@
++LoadModule security2_module libexec/mod_security2.so
++
++<IfModule mod_security2.c>
++
+ # -- Rule engine initialization ----------------------------------------------
+ 
+ # Enable ModSecurity, attaching it to every transaction. Use detection
+@@ -129,13 +133,13 @@
+ # This default setting is chosen due to all systems have /tmp available however, 
+ # this is less than ideal. It is recommended that you specify a location that's private.
+ #
+-SecTmpDir /tmp/
++SecTmpDir /var/apache2/2.4/modsec/tmp/
+ 
+ # The location where ModSecurity will keep its persistent data.  This default setting 
+ # is chosen due to all systems have /tmp available however, it
+ # too should be updated to a place that other users can't access.
+ #
+-SecDataDir /tmp/
++SecDataDir /var/apache2/2.4/modsec/tmp/
+ 
+ 
+ # -- File uploads handling configuration -------------------------------------
+@@ -144,7 +148,7 @@
+ # location must be private to ModSecurity. You don't want other users on
+ # the server to access the files, do you?
+ #
+-#SecUploadDir /opt/modsecurity/var/upload/
++#SecUploadDir /var/apache2/2.4/modsec/upload/
+ 
+ # By default, only keep the files that were determined to be unusual
+ # in some way (by an external inspection script). For this to work you
+@@ -164,7 +168,7 @@
+ # The default debug log configuration is to duplicate the error, warning
+ # and notice messages from the error log.
+ #
+-#SecDebugLog /opt/modsecurity/var/log/debug.log
++#SecDebugLog /var/apache2/2.4/logs/modsec_debug.log
+ #SecDebugLogLevel 3
+ 
+ 
+@@ -184,10 +188,10 @@
+ # assumes that you will use the audit log only ocassionally.
+ #
+ SecAuditLogType Serial
+-SecAuditLog /var/log/modsec_audit.log
++SecAuditLog /var/apache2/2.4/logs/modsec_audit.log
+ 
+ # Specify the path for concurrent audit logging.
+-#SecAuditLogStorageDir /opt/modsecurity/var/audit/
++#SecAuditLogStorageDir /var/apache2/2.4/modsec/audit/
+ 
+ 
+ # -- Miscellaneous -----------------------------------------------------------
+@@ -211,3 +221,4 @@
+ # version, Anonymous unique id for host.
+ SecStatusEngine On
+ 
++</IfModule>
--- a/components/apache2-modules/mod_security2/patches/security2-conf.patch	Wed Mar 25 03:26:21 2015 -0700
+++ b/components/apache2-modules/mod_security2/patches/security2-conf.patch	Thu Mar 19 06:58:47 2015 -0700
@@ -63,9 +63,8 @@
  
  
  # -- Miscellaneous -----------------------------------------------------------
-@@ -211,3 +221,5 @@
- #
- #SecUnicodeCodePage 20127
- #SecUnicodeMapFile unicode.mapping
-+
+@@ -211,3 +221,4 @@
+ # version, Anonymous unique id for host.
+ SecStatusEngine On
+ 
 +</IfModule>
--- a/components/apache2-modules/mod_wsgi/Makefile	Wed Mar 25 03:26:21 2015 -0700
+++ b/components/apache2-modules/mod_wsgi/Makefile	Thu Mar 19 06:58:47 2015 -0700
@@ -25,63 +25,64 @@
 
 include ../../../make-rules/shared-macros.mk
 
-PATH=$(SPRO_VROOT)/bin:/usr/bin:/usr/gnu/bin
-
 COMPONENT_NAME=		mod_wsgi
-COMPONENT_VERSION=	3.3
+COMPONENT_VERSION=	4.3.0
 COMPONENT_SRC=		$(COMPONENT_NAME)-$(COMPONENT_VERSION)
 COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.gz
-COMPONENT_ARCHIVE_HASH=	sha256:d96e1078990484cfe5579df1e95dc73f009495e9c3f9a066b0983650bd9e3243
-COMPONENT_ARCHIVE_URL=	http://modwsgi.googlecode.com/files/$(COMPONENT_ARCHIVE)
+COMPONENT_ARCHIVE_HASH=	sha256:89dfcc8564bb8781f36370c80c6fbeef9ec0723dec273231f4f760760d8e813d
+COMPONENT_ARCHIVE_URL=	https://pypi.python.org/packages/source/m/mod_wsgi/$(COMPONENT_ARCHIVE)
 COMPONENT_PROJECT_URL=  http://code.google.com/p/modwsgi/
 COMPONENT_BUGDB=	utility/apache
 
-TPNO=			7687
+TPNO=			19269
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/configure.mk
 include $(WS_MAKE_RULES)/ips.mk
+include ../modules.mk
+
+APACHE_USR_PREFIX = /usr/apache2/
+
+VARIANT_AP_22_PY26 = $(BUILD_DIR)/apache22-python26
+VARIANT_AP_22_PY27 = $(BUILD_DIR)/apache22-python27
+VARIANT_AP_22_PY34 = $(BUILD_DIR)/apache22-python34
+VARIANT_AP_24_PY26 = $(BUILD_DIR)/apache24-python26
+VARIANT_AP_24_PY27 = $(BUILD_DIR)/apache24-python27
+VARIANT_AP_24_PY34 = $(BUILD_DIR)/apache24-python34
+
+VARIANTS_32 = $(VARIANT_AP_22_PY26) $(VARIANT_AP_22_PY27)
+VARIANTS_64 = $(VARIANT_AP_22_PY26) $(VARIANT_AP_22_PY27) $(VARIANT_AP_22_PY34) \
+              $(VARIANT_AP_24_PY26) $(VARIANT_AP_24_PY27) $(VARIANT_AP_24_PY34)
+
+$(BUILD_DIR)/apache22-%/$(MACH32)/.configured: APXS=$(APACHE_USR_PREFIX)/2.2/bin/apxs
+$(BUILD_DIR)/apache22-%/$(MACH64)/.configured: APXS=$(APACHE_USR_PREFIX)/2.2/bin/$(MACH64)/apxs
+$(BUILD_DIR)/apache24-%/$(MACH64)/.configured: APXS=$(APACHE_USR_PREFIX)/2.4/bin/apxs
+
+$(BUILD_DIR)/apache2%-python26/$(MACH32)/.configured: PYTHON=$(PYTHON.2.6.32)
+$(BUILD_DIR)/apache2%-python26/$(MACH64)/.configured: PYTHON=$(PYTHON.2.6.64)
+$(BUILD_DIR)/apache2%-python27/$(MACH32)/.configured: PYTHON=$(PYTHON.2.7.32)
+$(BUILD_DIR)/apache2%-python27/$(MACH64)/.configured: PYTHON=$(PYTHON.2.7.64)
+$(BUILD_DIR)/apache2%-python34/$(MACH32)/.configured: PYTHON=$(PYTHON.3.4.32)
+$(BUILD_DIR)/apache2%-python34/$(MACH64)/.configured: PYTHON=$(PYTHON.3.4.64)
 
 COMPONENT_PRE_CONFIGURE_ACTION = \
 	($(CLONEY) $(SOURCE_DIR) $(@D))
 
-# The following four paragraphs are copied from setup.py.mk
-# but since mod_wsgi doesn't use setup.py, we can't just include
-# setup.py.mk
-$(BUILD_DIR)/%-2.6/.built:		PYTHON_VERSION=2.6
-$(BUILD_DIR)/%-2.7/.built:		PYTHON_VERSION=2.7
-$(BUILD_DIR)/$(MACH32)-%/.built:	BITS=32
-$(BUILD_DIR)/$(MACH64)-%/.built:	BITS=64
-
-$(BUILD_DIR)/%-2.6/.installed:	PYTHON_VERSION=2.6
-$(BUILD_DIR)/%-2.7/.installed:  PYTHON_VERSION=2.7
-$(BUILD_DIR)/$(MACH32)-%/.installed:	BITS=32
-$(BUILD_DIR)/$(MACH64)-%/.installed:	BITS=64
+CONFIGURE_OPTIONS += --with-python=$(PYTHON)
+CONFIGURE_OPTIONS += --with-apxs=$(APXS)
 
-BUILD_32 = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH32)-%/.built)
-BUILD_64 = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH64)-%/.built)
-
-INSTALL_32 = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH32)-%/.installed)
-INSTALL_64 = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH64)-%/.installed)
-
-$(BUILD_32): CONFIGURE_OPTIONS += --with-python=$(PYTHON.32)
-$(BUILD_64): CONFIGURE_OPTIONS += --with-apxs=/usr/bin/$(MACH64)/apxs --with-python=$(PYTHON.64)
-
-$(INSTALL_32): COMPONENT_POST_INSTALL_ACTION = \
-	(cd $(PROTO_DIR)/usr/apache2/2.2/libexec ; \
-		$(MV) mod_wsgi.so mod_wsgi-$(PYTHON_VERSION).so)
-
-$(INSTALL_64): COMPONENT_POST_INSTALL_ACTION = \
-	(cd $(PROTO_DIR)/usr/apache2/2.2/libexec/$(MACH64) ; \
-		$(MV) mod_wsgi.so mod_wsgi-$(PYTHON_VERSION).so)
+ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
 # common targets
+configure:	$(CONFIGURE_32_and_64)
+
 build:		$(BUILD_32_and_64)
 
 install:	$(INSTALL_32_and_64)
 
 REQUIRED_PACKAGES += runtime/python-26
 REQUIRED_PACKAGES += runtime/python-27
+REQUIRED_PACKAGES += runtime/python-34
 REQUIRED_PACKAGES += system/library
 REQUIRED_PACKAGES += system/library/math
 REQUIRED_PACKAGES += system/linker
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/apache2-modules/mod_wsgi/mod_wsgi-26-24.p5m	Thu Mar 19 06:58:47 2015 -0700
@@ -0,0 +1,43 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
+#
+
+set name=pkg.fmri \
+    value=pkg:/web/server/apache-24/module/apache-wsgi-26@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary \
+    value="Python 2.6 mod_wsgi plugin for Apache Web Server v2.4"
+set name=com.oracle.info.description \
+    value="the Python 2.6 mod_wsgi plugin for Apache Web Server v2.4"
+set name=com.oracle.info.tpno value=$(TPNO)
+set name=info.classification \
+    value="org.opensolaris.category.2008:Web Services/Application and Web Servers"
+set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
+set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
+set name=org.opensolaris.arc-caseid value=PSARC/2014/253
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+file path=usr/apache2/2.4/libexec/mod_wsgi-2.6.so \
+    pkg.linted.userland.action001.2=true
+link path=usr/apache2/2.4/libexec/mod_wsgi.so target=mod_wsgi-2.6.so \
+    mediator=python mediator-priority=vendor mediator-version=2.6
+license mod_wsgi.license license=Apache2.0
--- a/components/apache2-modules/mod_wsgi/mod_wsgi-26.p5m	Wed Mar 25 03:26:21 2015 -0700
+++ b/components/apache2-modules/mod_wsgi/mod_wsgi-26.p5m	Thu Mar 19 06:58:47 2015 -0700
@@ -36,14 +36,10 @@
 set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
 set name=org.opensolaris.arc-caseid value=PSARC/2012/162
 set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-dir  path=usr/apache2
-dir  path=usr/apache2/2.2
-dir  path=usr/apache2/2.2/libexec
-dir  path=usr/apache2/2.2/libexec/$(MACH64)
-file path=usr/apache2/2.2/libexec/$(MACH64)/mod_wsgi-2.6.so mode=0555
+file path=usr/apache2/2.2/libexec/$(MACH64)/mod_wsgi-2.6.so
 link path=usr/apache2/2.2/libexec/$(MACH64)/mod_wsgi.so target=mod_wsgi-2.6.so \
     mediator=python mediator-priority=vendor mediator-version=2.6
-file path=usr/apache2/2.2/libexec/mod_wsgi-2.6.so mode=0555
+file path=usr/apache2/2.2/libexec/mod_wsgi-2.6.so
 link path=usr/apache2/2.2/libexec/mod_wsgi.so target=mod_wsgi-2.6.so \
     mediator=python mediator-priority=vendor mediator-version=2.6
 license mod_wsgi.license license=Apache2.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/apache2-modules/mod_wsgi/mod_wsgi-27-24.p5m	Thu Mar 19 06:58:47 2015 -0700
@@ -0,0 +1,44 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
+#
+
+set name=pkg.fmri \
+    value=pkg:/web/server/apache-24/module/apache-wsgi-27@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary \
+    value="Python 2.7 mod_wsgi plugin for Apache Web Server v2.4"
+set name=com.oracle.info.description \
+    value="the Python 2.7 mod_wsgi plugin for Apache Web Server v2.4"
+set name=com.oracle.info.tpno value=$(TPNO)
+set name=info.classification \
+    value="org.opensolaris.category.2008:Web Services/Application and Web Servers"
+set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
+set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
+set name=org.opensolaris.arc-caseid value=PSARC/2014/253
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+file path=usr/apache2/2.4/libexec/mod_wsgi-2.7.so \
+    pkg.linted.userland.action001.2=true
+link path=usr/apache2/2.4/libexec/mod_wsgi.so target=mod_wsgi-2.7.so \
+    mediator=python mediator-version=2.7
+license mod_wsgi.license license=Apache2.0
+
--- a/components/apache2-modules/mod_wsgi/mod_wsgi-27.p5m	Wed Mar 25 03:26:21 2015 -0700
+++ b/components/apache2-modules/mod_wsgi/mod_wsgi-27.p5m	Thu Mar 19 06:58:47 2015 -0700
@@ -36,16 +36,12 @@
 set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
 set name=org.opensolaris.arc-caseid value=PSARC/2012/162
 set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
-dir  path=usr/apache2
-dir  path=usr/apache2/2.2
-dir  path=usr/apache2/2.2/libexec
-dir  path=usr/apache2/2.2/libexec/$(MACH64)
-file path=usr/apache2/2.2/libexec/$(MACH64)/mod_wsgi-2.7.so mode=0555
+file path=usr/apache2/2.2/libexec/$(MACH64)/mod_wsgi-2.7.so
 link path=usr/apache2/2.2/libexec/$(MACH64)/mod_wsgi.so target=mod_wsgi-2.7.so \
     mediator=python mediator-version=2.7
 link path=usr/apache2/2.2/libexec/$(MACH64)/mod_wsgi.so target=mod_wsgi-2.7.so \
     mediator=python mediator-version=2.7
-file path=usr/apache2/2.2/libexec/mod_wsgi-2.7.so mode=0555
+file path=usr/apache2/2.2/libexec/mod_wsgi-2.7.so
 link path=usr/apache2/2.2/libexec/mod_wsgi.so target=mod_wsgi-2.7.so \
     mediator=python mediator-version=2.7
 license mod_wsgi.license license=Apache2.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/apache2-modules/mod_wsgi/mod_wsgi-34-24.p5m	Thu Mar 19 06:58:47 2015 -0700
@@ -0,0 +1,44 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
+#
+
+set name=pkg.fmri \
+    value=pkg:/web/server/apache-24/module/apache-wsgi-34@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary \
+    value="Python 3.4 mod_wsgi plugin for Apache Web Server v2.4"
+set name=com.oracle.info.description \
+    value="the Python 3.4 mod_wsgi plugin for Apache Web Server v2.4"
+set name=com.oracle.info.tpno value=$(TPNO)
+set name=info.classification \
+    value="org.opensolaris.category.2008:Web Services/Application and Web Servers"
+set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
+set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
+set name=org.opensolaris.arc-caseid value=PSARC/2012/162
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+file path=usr/apache2/2.4/libexec/mod_wsgi-3.4.so \
+    pkg.linted.userland.action001.2=true
+link path=usr/apache2/2.4/libexec/mod_wsgi.so target=mod_wsgi-3.4.so \
+    mediator=python mediator-version=3.4
+license mod_wsgi.license license=Apache2.0
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/apache2-modules/mod_wsgi/mod_wsgi-34.p5m	Thu Mar 19 06:58:47 2015 -0700
@@ -0,0 +1,43 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
+#
+
+set name=pkg.fmri \
+    value=pkg:/web/server/apache-22/module/apache-wsgi-34@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary \
+    value="Python 3.4 mod_wsgi plugin for Apache Web Server v2.2"
+set name=com.oracle.info.description \
+    value="the Python 3.4 mod_wsgi plugin for Apache Web Server v2.2"
+set name=com.oracle.info.tpno value=$(TPNO)
+set name=info.classification \
+    value="org.opensolaris.category.2008:Web Services/Application and Web Servers"
+set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
+set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
+set name=org.opensolaris.arc-caseid value=PSARC/2012/162
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+file path=usr/apache2/2.2/libexec/$(MACH64)/mod_wsgi-3.4.so
+link path=usr/apache2/2.2/libexec/$(MACH64)/mod_wsgi.so target=mod_wsgi-3.4.so \
+    mediator=python mediator-version=3.4
+license mod_wsgi.license license=Apache2.0
+
--- a/components/apache2-modules/mod_wsgi/mod_wsgi.p5m	Wed Mar 25 03:26:21 2015 -0700
+++ b/components/apache2-modules/mod_wsgi/mod_wsgi.p5m	Thu Mar 19 06:58:47 2015 -0700
@@ -40,4 +40,7 @@
 depend type=conditional \
     fmri=web/server/apache-22/module/apache-wsgi-27@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
     predicate=runtime/python-27
+depend type=conditional \
+    fmri=web/server/apache-22/module/apache-wsgi-34@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) \
+    predicate=runtime/python-34
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/apache2-modules/mod_wsgi/patches/rename.patch	Thu Mar 19 06:58:47 2015 -0700
@@ -0,0 +1,24 @@
+Patch origin: in-house
+Patch status: Solaris-specific; not suitable for upstream
+
+Renames module to contain Python version in its name.
+
+--- mod_wsgi-4.3.0/Makefile.in	2014-09-14 22:00:29.000000000 +0000
++++ mod_wsgi-4.3.0/Makefile.in	2014-09-18 13:32:39.390320209 +0000
+@@ -23,6 +23,8 @@
+ LDFLAGS = @LDFLAGS@
+ LDLIBS = @LDLIBS@
+ 
++PYTHON_VERSION:=$(shell $(PYTHON) -V 2>&1 | sed -e 's/Python //' -e 's/..$$//')
++
+ SRCFILES = src/server/mod_wsgi.c src/server/wsgi_*.c
+ 
+ all : src/server/mod_wsgi.la
+@@ -35,6 +37,7 @@
+ 
+ install : all $(DESTDIR)$(LIBEXECDIR)
+ 	$(APXS) -i -S LIBEXECDIR=$(DESTDIR)$(LIBEXECDIR) -n 'mod_wsgi' src/server/mod_wsgi.la
++	mv $(DESTDIR)$(LIBEXECDIR)/mod_wsgi.so $(DESTDIR)$(LIBEXECDIR)/mod_wsgi-$(PYTHON_VERSION).so
+ 
+ clean :
+ 	-rm -rf src/server/.libs
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/apache2-modules/modules.mk	Thu Mar 19 06:58:47 2015 -0700
@@ -0,0 +1,78 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+#
+
+APACHE_22_USR_PREFIX=/usr/apache2/2.2
+APACHE_24_USR_PREFIX=/usr/apache2/2.4
+
+VARIANT_APACHE_22 =	$(BUILD_DIR)/apache22
+VARIANT_APACHE_24 =	$(BUILD_DIR)/apache24
+
+VARIANTS_32 = $(VARIANT_APACHE_22)
+VARIANTS_64 = $(VARIANT_APACHE_22) $(VARIANT_APACHE_24)
+
+BUILD_32 = $(VARIANTS_32:%=%/$(MACH32)/.built)
+BUILD_64 = $(VARIANTS_64:%=%/$(MACH64)/.built)
+
+INSTALL_32 = $(VARIANTS_32:%=%/$(MACH32)/.installed)
+INSTALL_64 = $(VARIANTS_64:%=%/$(MACH64)/.installed)
+
+TEST_32 = $(VARIANTS_32:%=%/$(MACH32)/.tested)
+TEST_64 = $(VARIANTS_64:%=%/$(MACH64)/.tested)
+
+$(VARIANT_APACHE_22)/$(MACH64)/.configured: BITS=64
+$(VARIANT_APACHE_24)/$(MACH64)/.configured: BITS=64
+
+$(VARIANT_APACHE_22)/$(MACH64)/.built: BITS=64
+$(VARIANT_APACHE_24)/$(MACH64)/.built: BITS=64
+
+$(VARIANT_APACHE_22)/$(MACH64)/.tested: BITS=64
+$(VARIANT_APACHE_24)/$(MACH64)/.tested: BITS=64
+
+$(VARIANT_APACHE_22)/%/.configured: APACHE_USR_PREFIX=$(APACHE_22_USR_PREFIX)
+$(VARIANT_APACHE_24)/%/.configured: APACHE_USR_PREFIX=$(APACHE_24_USR_PREFIX)
+
+$(VARIANT_APACHE_22)/%/.built: APACHE_USR_PREFIX=$(APACHE_22_USR_PREFIX)
+$(VARIANT_APACHE_24)/%/.built: APACHE_USR_PREFIX=$(APACHE_24_USR_PREFIX)
+
+$(VARIANT_APACHE_22)/%/.installed: APACHE_USR_PREFIX=$(APACHE_22_USR_PREFIX)
+$(VARIANT_APACHE_24)/%/.installed: APACHE_USR_PREFIX=$(APACHE_24_USR_PREFIX)
+
+$(BUILD_DIR)/apache22/$(MACH32)/.configured: APXS=$(APACHE_USR_PREFIX)/bin/apxs
+$(BUILD_DIR)/apache22/$(MACH64)/.configured: APXS=$(APACHE_USR_PREFIX)/bin/$(MACH64)/apxs
+$(BUILD_DIR)/apache24/$(MACH64)/.configured: APXS=$(APACHE_USR_PREFIX)/bin/apxs
+
+$(BUILD_DIR)/apache22/$(MACH32)/.built: APXS=$(APACHE_USR_PREFIX)/bin/apxs
+$(BUILD_DIR)/apache22/$(MACH64)/.built: APXS=$(APACHE_USR_PREFIX)/bin/$(MACH64)/apxs
+$(BUILD_DIR)/apache24/$(MACH64)/.built: APXS=$(APACHE_USR_PREFIX)/bin/apxs
+
+DEFAULT_COMPILER?=yes
+
+ifeq   ($(strip $(DEFAULT_COMPILER)),no)
+CC=
+CXX=
+endif
+
+PATH=$(SPRO_VROOT)/bin:/usr/bin:/usr/gnu/bin
+ifeq   ($(strip $(PARFAIT_BUILD)),yes)
+PATH=$(PARFAIT_TOOLS):$(SPRO_VROOT)/bin:/usr/bin
+endif