rpms/struts/devel struts-1.2.9-FacesTilesRequestProcessor.patch, NONE, 1.1 struts-1.2.9-HttpServletRequestWrapper.patch, NONE, 1.1 struts-1.2.9-strutsel-build_xml.patch, NONE, 1.1 struts-1.2.9-strutsfaces-example1-build_xml.patch, NONE, 1.1 struts-1.2.9-strutsfaces-example2-build_xml.patch, NONE, 1.1 struts-1.2.9-strutsfaces-systest1-build_xml.patch, NONE, 1.1 struts-1.2.9.bz157205.patch, NONE, 1.1 struts.spec, 1.40, 1.41 struts-1.2.8.build.patch, 1.5, NONE struts-1.2.8.servlet24.patch, 1.1, NONE

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Wed Aug 23 23:04:41 UTC 2006


Author: dbhole

Update of /cvs/dist/rpms/struts/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv9416

Modified Files:
	struts.spec 
Added Files:
	struts-1.2.9-FacesTilesRequestProcessor.patch 
	struts-1.2.9-HttpServletRequestWrapper.patch 
	struts-1.2.9-strutsel-build_xml.patch 
	struts-1.2.9-strutsfaces-example1-build_xml.patch 
	struts-1.2.9-strutsfaces-example2-build_xml.patch 
	struts-1.2.9-strutsfaces-systest1-build_xml.patch 
	struts-1.2.9.bz157205.patch 
Removed Files:
	struts-1.2.8.build.patch struts-1.2.8.servlet24.patch 
Log Message:

Upgrade to 1.2.9, merge with jpp. Also, see bz# 202692.



struts-1.2.9-FacesTilesRequestProcessor.patch:
 FacesTilesRequestProcessor.java |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

--- NEW FILE struts-1.2.9-FacesTilesRequestProcessor.patch ---
--- contrib/struts-faces/core-library/src/java/org/apache/struts/faces/application/FacesTilesRequestProcessor.java.sav	2006-03-09 16:32:44.000000000 +0100
+++ contrib/struts-faces/core-library/src/java/org/apache/struts/faces/application/FacesTilesRequestProcessor.java	2006-03-29 19:30:15.000000000 +0200
@@ -37,6 +37,7 @@
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.InvalidCancelException;
 import org.apache.struts.config.FormBeanConfig;
 import org.apache.struts.config.ForwardConfig;
 import org.apache.struts.faces.Constants;
@@ -425,8 +426,12 @@
         if (log.isTraceEnabled()) {
             log.trace("Performing standard validation");
         }
-        boolean result = super.processValidate
-            (request, response, form, mapping);
+        boolean result = false;
+        try {
+        result = super.processValidate(request, response, form, mapping);
+        } catch(InvalidCancelException ice) {
+            throw new ServletException(ice);
+        }
         if (log.isDebugEnabled()) {
             log.debug("Standard validation processing returned " + result);
         }

struts-1.2.9-HttpServletRequestWrapper.patch:
 HttpServletRequestWrapper.java |   17 +++++++++++++++++
 1 files changed, 17 insertions(+)

--- NEW FILE struts-1.2.9-HttpServletRequestWrapper.patch ---
--- contrib/struts-faces/core-library/src/java/org/apache/struts/faces/util/HttpServletRequestWrapper.java.sav	2006-03-09 16:32:50.000000000 +0100
+++ contrib/struts-faces/core-library/src/java/org/apache/struts/faces/util/HttpServletRequestWrapper.java	2006-03-29 19:09:54.000000000 +0200
@@ -409,4 +409,21 @@
 	public String toString() {
 		return original.toString();
 	}
+
+        public int getRemotePort(){
+            return original.getRemotePort();
+        }
+
+        public String getLocalName(){
+            return original.getLocalName();
+        }
+
+        public String getLocalAddr(){
+            return original.getLocalAddr();
+        }
+
+        public int getLocalPort(){
+            return original.getLocalPort();
+        }
+
 }

struts-1.2.9-strutsel-build_xml.patch:
 build.xml |    1 +
 1 files changed, 1 insertion(+)

--- NEW FILE struts-1.2.9-strutsel-build_xml.patch ---
--- contrib/struts-el/build.xml.sav	2005-09-29 18:41:40.000000000 +0200
+++ contrib/struts-el/build.xml	2005-09-29 18:42:12.000000000 +0200
@@ -171,6 +171,7 @@
   <pathelement location="${commons-validator.jar}"/>
   <pathelement location="${jdbc20ext.jar}"/>
   <pathelement location="${servlet.jar}"/>
+  <pathelement location="${jsp.jar}"/>
   <pathelement location="${struts.jar}"/>
   <pathelement location="${struts-el.jar}"/>
   <pathelement location="${jstl.jar}"/>

struts-1.2.9-strutsfaces-example1-build_xml.patch:
 build.xml |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

--- NEW FILE struts-1.2.9-strutsfaces-example1-build_xml.patch ---
--- contrib/struts-faces/example1-webapp/build.xml.sav	2005-09-30 10:04:38.000000000 +0200
+++ contrib/struts-faces/example1-webapp/build.xml	2005-09-30 10:05:05.000000000 +0200
@@ -170,7 +170,7 @@
 
     <!-- Copy required configuration files -->
     <copy    todir="${build.home}/${context.path}/WEB-INF">
-      <fileset dir="${struts.home}/lib"
+      <fileset dir="${struts.home}/target/library"
           includes="valid*.xml,*.tld"/>
     </copy>
 

struts-1.2.9-strutsfaces-example2-build_xml.patch:
 build.xml |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

--- NEW FILE struts-1.2.9-strutsfaces-example2-build_xml.patch ---
--- contrib/struts-faces/example2-webapp/build.xml.sav	2005-09-30 10:20:47.000000000 +0200
+++ contrib/struts-faces/example2-webapp/build.xml	2005-09-30 10:21:52.000000000 +0200
@@ -170,7 +170,7 @@
 
     <!-- Copy required configuration files -->
     <copy    todir="${build.home}/${context.path}/WEB-INF">
-      <fileset dir="${struts.home}/lib"
+      <fileset dir="${struts.home}/target/library"
           includes="valid*.xml,*.tld"/>
     </copy>
 

struts-1.2.9-strutsfaces-systest1-build_xml.patch:
 build.xml |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

--- NEW FILE struts-1.2.9-strutsfaces-systest1-build_xml.patch ---
--- contrib/struts-faces/systest1-webapp/build.xml.sav	2005-09-30 11:30:20.000000000 +0200
+++ contrib/struts-faces/systest1-webapp/build.xml	2005-09-30 11:30:41.000000000 +0200
@@ -170,7 +170,7 @@
 
     <!-- Copy required configuration files -->
     <copy    todir="${build.home}/${context.path}/WEB-INF">
-      <fileset dir="${struts.home}/lib"
+      <fileset dir="${struts.home}/target/library"
           includes="valid*.xml"/>
     </copy>
 

struts-1.2.9.bz157205.patch:
 MessageResourcesFactory.java |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

--- NEW FILE struts-1.2.9.bz157205.patch ---
--- ./src/share/org/apache/struts/util/MessageResourcesFactory.java.sav	2006-08-22 13:31:12.000000000 -0400
+++ ./src/share/org/apache/struts/util/MessageResourcesFactory.java	2006-08-22 13:32:35.000000000 -0400
@@ -167,8 +167,18 @@
 
         // Construct a new instance of the specified factory class
         try {
-            if (clazz == null)
-                clazz = RequestUtils.applicationClass(factoryClass);
+            if (clazz == null) {
+                if (System.getProperty("java.vm.name").equals("GNU libgcj")) {
+                    // XXX should use context class loader but it's wrong
+                    ClassLoader classLoader =
+                        MessageResourcesFactory.class.getClassLoader();
+                    clazz = classLoader.loadClass(factoryClass);
+                }
+                else { 
+                   clazz = RequestUtils.applicationClass(factoryClass);
+                }
+            }
+
             MessageResourcesFactory factory =
                 (MessageResourcesFactory) clazz.newInstance();
             return (factory);


Index: struts.spec
===================================================================
RCS file: /cvs/dist/rpms/struts/devel/struts.spec,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -r1.40 -r1.41
--- struts.spec	10 Aug 2006 23:06:33 -0000	1.40
+++ struts.spec	23 Aug 2006 23:04:36 -0000	1.41
@@ -1,13 +1,57 @@
+# Copyright (c) 2000-2005, JPackage Project
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the
+#    distribution.
+# 3. Neither the name of the JPackage Project nor the names of its
+#    contributors may be used to endorse or promote products derived
+#    from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+%define _gcj_support 1
+
+%define gcj_support %{?_with_gcj_support:1}%{!?_with_gcj_support:%{?_without_gcj_support:0}%{!?_without_gcj_support:%{?_gcj_support:%{_gcj_support}}%{!?_gcj_support:0}}}
+
+%define _with_coreonly 1
+
+# If you want only core modules to be built, 
+# give rpmbuild option '--with coreonly'
+
+%define with_coreonly %{?_with_coreonly:1}%{!?_with_coreonly:0}
+%define without_coreonly %{!?_with_coreonly:1}%{?_with_coreonly:0}
+
 %define full_name	jakarta-%{name}
+%define tomcat3appsdir	%{_localstatedir}/tomcat3/webapps
+%define tomcat4appsdir	%{_localstatedir}/lib/tomcat4/webapps
 %define tomcat5appsdir  %{_localstatedir}/lib/tomcat5/webapps
 %define tomcat5ctxdir   %{_sysconfdir}/tomcat5/Catalina/localhost
-%define section		free
 %define webapps		blank documentation example examples tiles-documentation
 %define webapplibs commons-beanutils commons-digester commons-fileupload commons-validator oro struts
+%define section		free
 
 Name:		struts
-Version:	1.2.8
-Release: 	2jpp.17
+Version:	1.2.9
+Release:	3jpp.1
 Epoch:		0
 Summary:	Web application framework
 License:	Apache License
@@ -15,43 +59,68 @@
 Source0:	%{name}-%{version}-src.tar.gz
 Source2:	tomcat4-context-allowlinking.xml
 Source3:	tomcat5-context-allowlinking.xml
-Patch0:		%{name}-%{version}.build.patch
-Patch1:         %{name}-%{version}.bz157205.patch
-Url:		http://jakarta.apache.org/%{name}
+#Patch0:		%{name}-%{version}.build.patch
+Patch0:		struts-1.2.9-strutsel-build_xml.patch
+Patch1:		struts-1.2.9-FacesRequestProcessor.patch
+Patch2:		struts-1.2.9-HttpServletRequestWrapper.patch
+Patch3:		struts-1.2.9-FacesTilesRequestProcessor.patch
+Patch4:		struts-1.2.9-strutsfaces-example1-build_xml.patch
+Patch5:		struts-1.2.9-strutsfaces-example2-build_xml.patch
+Patch6:		struts-1.2.9-strutsfaces-systest1-build_xml.patch
+Patch7:		struts-1.2.9.bz157205.patch
+Url:		http://struts.apache.org/
 Requires:	servletapi5
 Requires:	jdbc-stdext
-Requires:	jakarta-commons-beanutils >= 0:1.7.0
-Requires:	jakarta-commons-digester >= 0:1.6
-Requires:	jakarta-commons-fileupload >= 0:1.0
-Requires:	jakarta-commons-validator >= 0:1.1.4
-Requires:	oro >= 0:2.0.7
-Requires:       tomcat5-jsp-2.0-api
-BuildRequires:	jpackage-utils >= 1.5
-BuildRequires:	ant >= 1.6.1
-BuildRequires:	antlr >= 2.7.2
+Requires:	jakarta-commons-beanutils
+Requires:	jakarta-commons-digester
+Requires:	jakarta-commons-fileupload
+Requires:	jakarta-commons-validator
+Requires:	oro
+BuildRequires:	jpackage-utils >= 1.6
+BuildRequires:	ant >= 1.6
+BuildRequires:	antlr
 BuildRequires:	ant-trax
 BuildRequires:	ant-nodeps
 BuildRequires:	jaxp_transform_impl
 BuildRequires:	sed
 BuildRequires:	servletapi5
 BuildRequires:	jdbc-stdext
-BuildRequires:  jakarta-commons-beanutils >= 0:1.7.0
-BuildRequires:  jakarta-commons-digester >= 0:1.6
-BuildRequires:  jakarta-commons-fileupload >= 0:1.0
-BuildRequires:  jakarta-commons-logging >= 0:1.0.4
-BuildRequires:  jakarta-commons-validator >= 0:1.1.4
-BuildRequires:  oro >= 0:2.0.7
-BuildRequires:  tomcat5-jsp-2.0-api
-BuildRequires:	xhtml1-dtds
+BuildRequires:  jakarta-commons-beanutils
+BuildRequires:  jakarta-commons-digester
+BuildRequires:  jakarta-commons-fileupload
+BuildRequires:  jakarta-commons-logging
+BuildRequires:  jakarta-commons-validator
+BuildRequires:  oro
+BuildRequires:	tomcat5
+
+%if %{without_coreonly}
+BuildRequires:	aspectj
+BuildRequires:	httpunit
+BuildRequires:	junit
+BuildRequires:	jakarta-cactus >= 0:1.7.1-2jpp
+BuildRequires:	jakarta-commons-chain
+BuildRequires:	jakarta-commons-collections
+BuildRequires:	jakarta-commons-httpclient
+BuildRequires:	jakarta-commons-lang
+BuildRequires:	jakarta-commons-pool
+BuildRequires:	jakarta-taglibs-standard
+BuildRequires:	jtidy
+BuildRequires:	log4j
+BuildRequires:	myfaces
+BuildRequires:	xalan-j2
+%endif
 
 Group:		Development/Java
+%if ! %{gcj_support}
+Buildarch:	noarch
+%endif
 Buildroot:	%{_tmppath}/%{name}-%{version}-buildroot
-# RHEL4 and FC4
-Obsoletes:	struts11 <= 0:1.1-1jpp_7fc
-# libgcj aot-compiled native libraries
-BuildRequires:    java-gcj-compat-devel >= 1.0.35
-Requires(post):   java-gcj-compat >= 1.0.31
-Requires(postun): java-gcj-compat >= 1.0.31
+
+%if %{gcj_support}
+BuildRequires:		java-gcj-compat-devel
+Requires(post):		java-gcj-compat
+Requires(postun):	java-gcj-compat
+%endif
 
 %description
 Welcome to the Struts Framework! The goal of this project is to provide
@@ -75,74 +144,410 @@
 
 %package manual
 Summary:        Manual for %{name}
-Group:          Development/Java
+Group:          Development/Documentation
 
 %description manual
 Documentation for %{name}.
 
 %package javadoc
 Summary:        Javadoc for %{name}
-Group:          Development/Java
-Requires(post):   /bin/rm,/bin/ln
-Requires(postun): /bin/rm
+Group:          Development/Documentation
 
 %description javadoc
 Javadoc for %{name}.
 
+%if ! %{gcj_support}
+%package webapps-tomcat3
+Summary:        Sample %{name} webapps for tomcat3
+Group:          Development/Java
+Requires:       %{name} = %{version}-%{release}
+Requires:         tomcat3
+
+%if %{gcj_support}
+BuildRequires:		java-gcj-compat-devel
+Requires(post):		java-gcj-compat
+Requires(postun):	java-gcj-compat
+%endif
+
+%description webapps-tomcat3
+Sample %{name} webapps for tomcat3.
+
+%package webapps-tomcat4
+Summary:        Sample %{name} webapps for tomcat4
+Group:          Development/Java
+Requires:       %{name} = %{version}-%{release}
+Requires:         tomcat4
+
+%if %{gcj_support}
+BuildRequires:		java-gcj-compat-devel
+Requires(post):		java-gcj-compat
+Requires(postun):	java-gcj-compat
+%endif
+
+%description webapps-tomcat4
+Sample %{name} webapps for tomcat4.
+%endif
+
 %package webapps-tomcat5
 Summary:        Sample %{name} webapps for tomcat5
 Group:          Development/Java
 Requires:       %{name} = %{version}-%{release}
 Prereq:         tomcat5
-Requires(post): java-gcj-compat >= 1.0.31
-Requires(postun): java-gcj-compat >= 1.0.31
+
+%if %{gcj_support}
+BuildRequires:		java-gcj-compat-devel
+Requires(post):		java-gcj-compat
+Requires(postun):	java-gcj-compat
+%endif
 
 %description webapps-tomcat5
 Sample %{name} webapps for tomcat5.
 
+%if %{without_coreonly}
+%package chain
+Summary:        The %{name} Chain Of Responsibility Adapter
+Group:          Development/Java
+Requires:       %{name} = %{version}-%{release}
+Prereq:         jakarta-commons-chain
+
+%if %{gcj_support}
+BuildRequires:		java-gcj-compat-devel
+Requires(post):		java-gcj-compat
+Requires(postun):	java-gcj-compat
+%endif
+
+%description chain
+%{summary}.
+
+%package chain-javadoc
+Summary:        Javadoc for %{name}-chain
+Group:          Development/Documentation
+
+%description chain-javadoc
+%{summary}.
+
+%package chain-webapps-tomcat5
+Summary:        Sample %{name} chain adapter webapps for tomcat5
+Group:          Development/Java
+Requires:       %{name} = %{version}-%{release}
+Requires:       %{name}-chain = %{version}-%{release}
+Prereq:         tomcat5
+Prereq:         jakarta-commons-chain
+
+%if %{gcj_support}
+BuildRequires:		java-gcj-compat-devel
+Requires(post):		java-gcj-compat
+Requires(postun):	java-gcj-compat
+%endif
+
+%description chain-webapps-tomcat5
+%{summary}.
+%endif
+
+%if %{without_coreonly}
+%package el
+Summary:        The %{name} EL extension
+Group:          Development/Java
+Requires:       %{name} = %{version}-%{release}
+Prereq:         jakarta-taglibs-standard
+
+%if %{gcj_support}
+BuildRequires:		java-gcj-compat-devel
+Requires(post):		java-gcj-compat
+Requires(postun):	java-gcj-compat
+%endif
+
+%description el
+This subproject is an extension of the Struts tag library.
+Each JSP custom tag in this library is a subclass of an 
+associated tag in the Struts tag library. One difference is 
+that this tag library does not use "rtexprvalues", it uses
+the expression evaluation engine in the Jakarta Taglibs 
+implementation of the JSP Standard Tag Library (version 1.0) 
+to evaluate attribute values.
+
+%package el-javadoc
+Summary:        Javadoc for %{name}-el
+Group:          Development/Documentation
+
+%description el-javadoc
+%{summary}.
+
+%package el-webapps-tomcat5
+Summary:        Sample %{name} EL extension webapps for tomcat5
+Group:          Development/Java
+Requires:       %{name} = %{version}-%{release}
+Requires:       %{name}-el = %{version}-%{release}
+Prereq:         tomcat5
+Prereq:         jakarta-taglibs-standard
+
+%description el-webapps-tomcat5
+%{summary}.
+%endif
+
+%if %{without_coreonly}
+%package faces
+Summary:        The %{name}-faces integration library
+Group:          Development/Java
+Requires:       %{name} = %{version}-%{release}
+Prereq:         myfaces
+
+%if %{gcj_support}
+BuildRequires:		java-gcj-compat-devel
+Requires(post):		java-gcj-compat
+Requires(postun):	java-gcj-compat
+%endif
+
+%description faces
+This package contains an add-on library that supports the 
+use of JavaServer Faces (JSF) user interface technology in a 
+Struts based web application, in place of the Struts custom 
+tag libraries.  As a proof of concept, it also includes the 
+canonical "struts-example" example web application, converted 
+to use JSF tags, as well as tags from the JSP Standard Tag 
+Library (JSTL), version 1.0 or later.  It also includes
+a very basic Tiles based application, modified in a similar 
+manner.
+
+%package faces-javadoc
+Summary:        Javadoc for %{name}-faces
+Group:          Development/Documentation
+
+%description faces-javadoc
+%{summary}.
+
+%package faces-webapps-tomcat5
+Summary:        Sample %{name}-faces integration webapps for tomcat5
+Group:          Development/Java
+Requires:       %{name} = %{version}-%{release}
+Requires:       %{name}-faces = %{version}-%{release}
+Prereq:         tomcat5
+Prereq:         myfaces
+
+%description faces-webapps-tomcat5
+%{summary}.
+%endif
+
 
 %prep
 rm -rf $RPM_BUILD_ROOT
 %setup -n %{name}-%{version}-src -q
-%patch0
-%patch1 -p1
+%patch0 -b .sav
+%patch1 -b .sav
+%patch2 -b .sav
+%patch3 -b .sav
+%patch4 -b .sav
+%patch5 -b .sav
+%patch6 -b .sav
+%patch7 -b .sav
 # remove all binary libs
-find . -name "*.class" -exec rm -f {} \;
 find . -name "*.jar" -exec rm -f {} \;
-find . -name "*.war" -exec rm -f {} \;
-
-mkdir lib; pushd lib
-  ln -s $(find-jar jspapi) .
-popd
 
 %build
 
 # build struts
-ant -Djdbc20ext.jar=$(find-jar jdbc-stdext) \
+export CLASSPATH=
+export ANT_OPTS="-Xmx256m"
+STRUTS_BUILD_HOME=$(pwd)
+ant -Dlibdir=/usr/share/java \
+	-Dcommons-beanutils.jar=$(build-classpath commons-beanutils) \
+	-Dcommons-digester.jar=$(build-classpath commons-digester) \
+	-Dcommons-fileupload.jar=$(build-classpath commons-fileupload) \
+	-Dcommons-logging.jar=$(build-classpath commons-logging) \
+	-Dcommons-validator.jar=$(build-classpath commons-validator) \
+	-Djakarta-oro.jar=$(build-classpath oro) \
+        -Djdbc20ext.jar=$(find-jar jdbc-stdext) \
+	-Djsp.jar=$(build-classpath jspapi) \
+	-Dservlet.jar=$(build-classpath servletapi5) \
+	-Dantlr.jar=$(build-classpath antlr) \
+	 dist
+#	 compile.library compile.webapps compile.javadoc
+
+%if %{without_coreonly}
+pushd contrib/struts-chain
+export CLASSPATH=$(build-classpath catalina-ant5)
+ant -Dlibdir=/usr/share/java \
+	-Dcommons-chain.jar=$(build-classpath commons-chain) \
+	-Djsp.jar=$(build-classpath jspapi) \
+	-Dservlet.jar=$(build-classpath servletapi5) \
+	-Dstruts.core.home=$STRUTS_BUILD_HOME \
+	 dist
+popd
+%endif
+
+%if %{without_coreonly}
+pushd contrib/struts-el
+ant -Dlibdir=/usr/share/java \
+	-Dstruts.jar=$STRUTS_BUILD_HOME/dist/lib/struts.jar \
+	-Djstl.jar=$(build-classpath taglibs-core) \
+	-Djstl-standard.jar=$(build-classpath taglibs-standard) \
+	-Dservlet.jar=$(build-classpath servletapi5) \
+        -Djdbc20ext.jar=$(find-jar jdbc-stdext) \
 	-Dcommons-beanutils.jar=$(build-classpath commons-beanutils) \
+	-Dcommons-collections.jar=$(build-classpath commons-collections) \
+	-Dcommons-digester.jar=$(build-classpath commons-digester) \
+	-Dcommons-logging.jar=$(build-classpath commons-logging) \
+	-Dcommons-pool.jar=$(build-classpath commons-pool) \
+	-Dcommons-validator.jar=$(build-classpath commons-validator) \
+	-Djakarta-oro.jar=$(build-classpath oro) \
+	-Djsp.jar=$(build-classpath jspapi) \
+	-Dlog4j.jar=$(build-classpath log4j) \
+	-Daspectjrt.jar=$(build-classpath aspectjrt) \
+	-Dcactus.jar=$(build-classpath cactus-14/cactus) \
+	-Dcactus-ant.jar=$(build-classpath cactus-14/cactus-ant) \
+	-Djunit.jar=$(build-classpath junit) \
+	-Dhttpunit.jar=$(build-classpath httpunit) \
+	-Djtidy.jar=$(build-classpath jtidy) \
+	-Dcommons-httpclient.jar=$(build-classpath commons-httpclient) \
+	-Dxalanj.jar=$(build-classpath xalan-j2) \
+	compile.library compile.webapps compile.javadoc compile.website dist
+popd
+%endif
+
+%if %{without_coreonly}
+pushd contrib/struts-faces
+export CLASSPATH=$(build-classpath catalina-ant5):../../dist/lib/struts.jar
+ant -Dlibdir=/usr/share/java \
+	-Dcommons-beanutils.jar=$(build-classpath commons-beanutils) \
+	-Dcommons-collections.jar=$(build-classpath commons-collections) \
 	-Dcommons-digester.jar=$(build-classpath commons-digester) \
 	-Dcommons-fileupload.jar=$(build-classpath commons-fileupload) \
+	-Dcommons-lang.jar=$(build-classpath commons-lang) \
 	-Dcommons-logging.jar=$(build-classpath commons-logging) \
 	-Dcommons-validator.jar=$(build-classpath commons-validator) \
 	-Djakarta-oro.jar=$(build-classpath oro) \
-        -Djsp.jar=$(build-classpath jspapi) \
-        -Dservlet.jar=$(build-classpath servletapi5) \
-        -Dantlr.jar=$(build-classpath antlr) \
-	 compile.library compile.webapps compile.javadoc
+	-Djsf-api.jar=$(build-classpath myfaces/myfaces-jsf-api) \
+	-Djsf-impl.jar=$(build-classpath myfaces/myfaces-impl) \
+	-Djstl.jar=$(build-classpath taglibs-core) \
+	-Dstandard.jar=$(build-classpath taglibs-standard) \
+	-Djsp-api.jar=$(build-classpath jspapi) \
+	-Dservlet.jar=$(build-classpath servletapi5) \
+	-Dstruts.jar=$STRUTS_BUILD_HOME/dist/lib/struts.jar \
+	-Dstruts.home=$STRUTS_BUILD_HOME \
+	 dist
+popd
+%endif
 
 %install
+
 # jars
 install -d -m 755 $RPM_BUILD_ROOT%{_javadir}
-install -m 644 target/library/%{name}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
+install -m 644 dist/lib/%{name}.jar \
+	$RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
+%if %{without_coreonly}
+install -m 644 contrib/%{name}-chain/dist/lib/%{name}-chain.jar \
+	$RPM_BUILD_ROOT%{_javadir}/%{name}-chain-%{version}.jar
+install -m 644 contrib/%{name}-el/dist/lib/%{name}-el.jar \
+	$RPM_BUILD_ROOT%{_javadir}/%{name}-el-%{version}.jar
+install -m 644 contrib/%{name}-faces/dist/lib/%{name}-faces.jar \
+	$RPM_BUILD_ROOT%{_javadir}/%{name}-faces-%{version}.jar
+%endif
+
+
 (cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}*; do ln -sf ${jar} ${jar/-%{version}/}; done)
 # javadoc
 install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
 cp -pr target/documentation/api/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
+ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}
 rm -rf target/documentation/api
+
+%if %{without_coreonly}
+install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-chain-%{version}
+cp -pr contrib/struts-chain/dist/docs/api/* \
+	$RPM_BUILD_ROOT%{_javadocdir}/%{name}-chain-%{version}
+ln -s %{name}-chain-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}-chain
+rm -rf contrib/struts-chain/dist/docs/api
+
+install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-el-%{version}
+cp -pr contrib/struts-el/target/documentation/api/* \
+	$RPM_BUILD_ROOT%{_javadocdir}/%{name}-el-%{version}
+ln -s %{name}-el-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}-el
+rm -rf contrib/struts-el/target/documentation/api
+
+install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-faces-%{version}
+cp -pr contrib/struts-faces/dist/docs/api/* \
+	$RPM_BUILD_ROOT%{_javadocdir}/%{name}-faces-%{version}
+ln -s %{name}-faces-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}-faces
+rm -rf contrib/struts-faces/dist/docs/api
+%endif
+
 # data
 install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}
-install -m 644 target/library/*.tld $RPM_BUILD_ROOT%{_datadir}/%{name}
-install -m 644 target/library/*.dtd $RPM_BUILD_ROOT%{_datadir}/%{name}
+install -m 644 dist/lib/*.tld $RPM_BUILD_ROOT%{_datadir}/%{name}
+install -m 644 dist/lib/*.dtd $RPM_BUILD_ROOT%{_datadir}/%{name}
+install -m 644 dist/lib/vali*.xml $RPM_BUILD_ROOT%{_datadir}/%{name}
+
+%if %{without_coreonly}
+install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}-chain
+install -m 644 contrib/%{name}-chain/dist/webapps/%{name}-chain.war \
+	$RPM_BUILD_ROOT%{_datadir}/%{name}-chain
+install -m 644 contrib/%{name}-chain/src/conf/chain-config.xml \
+	$RPM_BUILD_ROOT%{_datadir}/%{name}-chain
+
+install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}-el
+install -m 644 contrib/%{name}-el/dist/webapps/%{name}el-exercise-taglib.war \
+	$RPM_BUILD_ROOT%{_datadir}/%{name}-el
+install -m 644 contrib/%{name}-el/dist/lib/*.tld \
+	$RPM_BUILD_ROOT%{_datadir}/%{name}-el
+
+install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}-faces
+install -m 644 contrib/%{name}-faces/dist/webapps/%{name}-faces-example1.war \
+	$RPM_BUILD_ROOT%{_datadir}/%{name}-faces
+install -m 644 contrib/%{name}-faces/dist/webapps/%{name}-faces-example2.war \
+	$RPM_BUILD_ROOT%{_datadir}/%{name}-faces
+install -m 644 contrib/%{name}-faces/dist/lib/%{name}-faces.tld \
+	$RPM_BUILD_ROOT%{_datadir}/%{name}-faces
+%endif
+
+# core docs
+install -d -m 755 $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/docs
+cp -p {INSTALL,LICENSE.txt,NOTICE.txt,README,STATUS.txt} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
+cp -p target/documentation/*.html $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/docs
+cp -p target/documentation/*.gif $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/docs
+cp -pr target/documentation/uml $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/docs
+cp -pr target/documentation/userGuide $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/docs
+cp -pr target/documentation/images $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/docs
+
+%if %{without_coreonly}
+# chain docs
+install -d -m 755 $RPM_BUILD_ROOT%{_docdir}/%{name}-chain-%{version}/docs
+#cp -pr contrib/struts-chain/dist/docs/* $RPM_BUILD_ROOT%{_docdir}/%{name}-chain-%{version}/docs
+cp -p contrib/struts-chain/{LICENSE.txt,NOTICE.txt,README.txt} $RPM_BUILD_ROOT%{_docdir}/%{name}-chain-%{version}
+
+# el docs
+install -d -m 755 $RPM_BUILD_ROOT%{_docdir}/%{name}-el-%{version}/docs
+cp -pr contrib/struts-el/target/documentation/* $RPM_BUILD_ROOT%{_docdir}/%{name}-el-%{version}/docs
+cp -pr contrib/struts-el/{LICENSE.txt,README.txt} $RPM_BUILD_ROOT%{_docdir}/%{name}-el-%{version}
+
+# faces docs
+install -d -m 755 $RPM_BUILD_ROOT%{_docdir}/%{name}-faces-%{version}/docs
+cp -pr contrib/struts-faces/dist/docs/* $RPM_BUILD_ROOT%{_docdir}/%{name}-faces-%{version}/docs
+cp -pr contrib/struts-faces/{LICENSE.txt,NOTICE.txt,README.txt} $RPM_BUILD_ROOT%{_docdir}/%{name}-faces-%{version}
+%endif
+
+%if ! %{gcj_support}
+# tomcat 3 webapps
+install -d -m 755 $RPM_BUILD_ROOT%{tomcat3appsdir}
+for webapp in %{webapps}; do
+    cp -pr target/$webapp $RPM_BUILD_ROOT%{tomcat3appsdir}/%{name}-$webapp
+    # tomcat3 doesn't support allowLinking, this might not work
+	# XXX: move to %%post/preun
+	rm -f $RPM_BUILD_ROOT%{tomcat3appsdir}/%{name}-$webapp/WEB-INF/lib/*
+    (cd $RPM_BUILD_ROOT%{tomcat3appsdir}/%{name}-$webapp/WEB-INF \
+    && for tld in ../../../../..%{_datadir}/%{name}/*.tld; do ln -sf $tld `basename $tld`; done)
+done
+
+# tomcat 4 webapps
+install -d -m 755 $RPM_BUILD_ROOT%{tomcat4appsdir}
+for webapp in %{webapps}; do
+    cp -pr target/$webapp $RPM_BUILD_ROOT%{tomcat4appsdir}/%{name}-$webapp
+    cat %{SOURCE2} | sed -e "s/@@@APPNAME@@@/$webapp/g;" > $RPM_BUILD_ROOT%{tomcat4appsdir}/%{name}-$webapp.xml
+	# XXX: move to %%post/preun
+	rm -f $RPM_BUILD_ROOT%{tomcat4appsdir}/%{name}-$webapp/WEB-INF/lib/*
+    (cd $RPM_BUILD_ROOT%{tomcat4appsdir}/%{name}-$webapp/WEB-INF \
+    && for tld in ../../../../../..%{_datadir}/%{name}/*.tld; do ln -sf $tld `basename $tld`; done)
+done
+%endif
 
 # tomcat 5 webapps
 install -d -m 755 $RPM_BUILD_ROOT%{tomcat5appsdir}
@@ -151,15 +556,136 @@
     cp -pr target/$webapp $RPM_BUILD_ROOT%{tomcat5appsdir}/%{name}-$webapp
     cat %{SOURCE3} | sed -e "s/@@@APPNAME@@@/$webapp/g;" > $RPM_BUILD_ROOT%{tomcat5ctxdir}/%{name}-$webapp.xml
 	# XXX: move to %%post/preun
-	for jar in %{webapplibs}; do
-        (cd $RPM_BUILD_ROOT%{tomcat5appsdir}/%{name}-$webapp/WEB-INF/lib \
-        && ln -sf ../../../../../../..%{_javadir}/$jar.jar .)
-    done
+	rm -f $RPM_BUILD_ROOT%{tomcat5appsdir}/%{name}-$webapp/WEB-INF/lib/*
     (cd $RPM_BUILD_ROOT%{tomcat5appsdir}/%{name}-$webapp/WEB-INF \
     && for tld in ../../../../../..%{_datadir}/%{name}/*.tld; do ln -sf $tld `basename $tld`; done)
 done
 
-aot-compile-rpm
+%if %{without_coreonly}
+pushd $RPM_BUILD_ROOT%{tomcat5appsdir}
+mkdir %{name}-chain
+pushd %{name}-chain
+%{jar} xf $RPM_BUILD_ROOT%{_datadir}/%{name}-chain/%{name}-chain.war
+pushd WEB-INF
+#for tld in ../../../../../..%{_datadir}/%{name}-chain/*.tld; do ln -sf $tld `basename $tld`; done
+rm -f lib/*
+popd
+popd
+cat %{SOURCE3} | sed -e "s/@@@APPNAME@@@/chain/g;" > $RPM_BUILD_ROOT%{tomcat5ctxdir}/%{name}-chain.xml
+mkdir %{name}-el-exercise-taglib
+pushd %{name}-el-exercise-taglib
+%{jar} xf $RPM_BUILD_ROOT%{_datadir}/%{name}-el/%{name}el-exercise-taglib.war
+pushd WEB-INF
+rm -f lib/*
+for tld in ../../../../../..%{_datadir}/%{name}-el/*.tld; do ln -sf $tld `basename $tld`; done
+popd
+popd
+cat %{SOURCE3} | sed -e "s/@@@APPNAME@@@/el-exercise-taglib/g;" > $RPM_BUILD_ROOT%{tomcat5ctxdir}/%{name}-el-exercise-taglib.xml
+
+mkdir %{name}-faces-example1
+pushd %{name}-faces-example1
+%{jar} xf $RPM_BUILD_ROOT%{_datadir}/%{name}-faces/%{name}-faces-example1.war
+pushd WEB-INF
+rm -f lib/*
+for tld in ../../../../../..%{_datadir}/%{name}-faces/*.tld; do ln -sf $tld `basename $tld`; done
+popd
+popd
+cat %{SOURCE3} | sed -e "s/@@@APPNAME@@@/faces-example1/g;" > $RPM_BUILD_ROOT%{tomcat5ctxdir}/%{name}-faces-example1.xml
+
+mkdir %{name}-faces-example2
+pushd %{name}-faces-example2
+%{jar} xf $RPM_BUILD_ROOT%{_datadir}/%{name}-faces/%{name}-faces-example2.war
+pushd WEB-INF
+rm -f lib/*
+for tld in ../../../../../..%{_datadir}/%{name}-faces/*.tld; do ln -sf $tld `basename $tld`; done
+popd
+popd
+cat %{SOURCE3} | sed -e "s/@@@APPNAME@@@/faces-example2/g;" > $RPM_BUILD_ROOT%{tomcat5ctxdir}/%{name}-faces-example2.xml
+popd
+#rm $RPM_BUILD_ROOT%{_datadir}/%{name}/%{name}-chain/%{name}-chain.war
+#rm $RPM_BUILD_ROOT%{_datadir}/%{name}/%{name}-el/%{name}-el-exercise-taglib.war
+#rm $RPM_BUILD_ROOT%{_datadir}/%{name}/%{name}-faces/%{name}-faces-example1.war
+#rm $RPM_BUILD_ROOT%{_datadir}/%{name}/%{name}-faces/%{name}-faces-example2.war
+%endif
+
+%if %{gcj_support}
+%{_bindir}/aot-compile-rpm
+%endif
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post webapps-tomcat5
+for webapp in %{webapps}; do
+build-jar-repository -s -p %{tomcat5appsdir}/%{name}-$webapp/WEB-INF/lib commons-beanutils commons-digester commons-fileupload commons-validator oro
+ln -s %{_javadir}/struts.jar %{tomcat5appsdir}/%{name}-$webapp/WEB-INF/lib
+done
+
+%if %{gcj_support}
+if [ -x %{_bindir}/rebuild-gcj-db ]
+then
+  %{_bindir}/rebuild-gcj-db
+fi
+%endif
+
+%preun webapps-tomcat5
+for webapp in %{webapps}; do
+rm -f %{tomcat5appsdir}/%{name}-$webapp/WEB-INF/lib/*
+done
+
+%if %{gcj_support}
+%postun webapps-tomcat5
+if [ -x %{_bindir}/rebuild-gcj-db ]
+then
+  %{_bindir}/rebuild-gcj-db
+fi
+%endif
+
+
+%if %{without_coreonly}
+%post webapps-tomcat3
+for webapp in %{webapps}; do
+build-jar-repository -s -p %{tomcat3appsdir}/%{name}-$webapp/WEB-INF/lib commons-beanutils commons-digester commons-fileupload commons-validator oro
+ln -s %{_javadir}/struts.jar %{tomcat3appsdir}/%{name}-$webapp/WEB-INF/lib
+done
+
+%preun webapps-tomcat3
+for webapp in %{webapps}; do
+rm -f %{tomcat3appsdir}/%{name}-$webapp/WEB-INF/lib/*
+done
+
+%post webapps-tomcat4
+for webapp in %{webapps}; do
+build-jar-repository -s -p %{tomcat4appsdir}/%{name}-$webapp/WEB-INF/lib commons-beanutils commons-digester commons-fileupload commons-validator oro
+ln -s %{_javadir}/struts.jar %{tomcat4appsdir}/%{name}-$webapp/WEB-INF/lib
+done
+
+%preun webapps-tomcat4
+for webapp in %{webapps}; do
+rm -f %{tomcat4appsdir}/%{name}-$webapp/WEB-INF/lib/*
+done
+
+%post chain-webapps-tomcat5
+build-jar-repository -s -p %{tomcat5appsdir}/%{name}-chain/WEB-INF/lib commons-chain struts-chain
+
+%preun chain-webapps-tomcat5
+rm -f  %{tomcat5appsdir}/%{name}-chain/WEB-INF/lib/*
+
+%post el-webapps-tomcat5
+build-jar-repository -s -p %{tomcat5appsdir}/%{name}-el-exercise-taglib/WEB-INF/lib taglibs-core taglibs-standard struts-el struts
+
+%preun el-webapps-tomcat5
+rm -f  %{tomcat5appsdir}/%{name}-el-exercise-taglib/WEB-INF/lib/*
+
+%post faces-webapps-tomcat5
+build-jar-repository -s -p %{tomcat5appsdir}/%{name}-faces-example1/WEB-INF/lib commons-beanutils commons-collections commons-digester commons-fileupload commons-logging commons-validator oro struts-faces struts myfaces/myfaces-all
+build-jar-repository -s -p %{tomcat5appsdir}/%{name}-faces-example2/WEB-INF/lib commons-beanutils commons-collections commons-digester commons-fileupload commons-logging commons-validator oro struts-faces struts myfaces/myfaces-all
+
+%preun faces-webapps-tomcat5
+rm -f %{tomcat5appsdir}/%{name}-faces-example1/WEB-INF/lib/*
+rm -f %{tomcat5appsdir}/%{name}-faces-example2/WEB-INF/lib/*
+
+%endif
 
 %post javadoc
 rm -f %{_javadocdir}/%{name}
@@ -167,43 +693,174 @@
 
 %postun javadoc
 if [ "$1" = "0" ]; then
-    rm -f %{_javadocdir}/%{name}
+  rm -f %{_javadocdir}/%{name}
+fi
+
+%if %{without_coreonly}
+%post chain-javadoc
+rm -f %{_javadocdir}/%{name}-chain
+ln -s %{name}-chain-%{version} %{_javadocdir}/%{name}-chain
+
+%postun chain-javadoc
+if [ "$1" = "0" ]; then
+  rm -f %{_javadocdir}/%{name}-chain
+fi
+
+%post el-javadoc
+rm -f %{_javadocdir}/%{name}-el
+ln -s %{name}-el-%{version} %{_javadocdir}/%{name}-el
+
+%postun el-javadoc
+if [ "$1" = "0" ]; then
+  rm -f %{_javadocdir}/%{name}-el
 fi
 
+%post faces-javadoc
+rm -f %{_javadocdir}/%{name}-faces
+ln -s %{name}-faces-%{version} %{_javadocdir}/%{name}-faces
+
+%postun faces-javadoc
+if [ "$1" = "0" ]; then
+  rm -f %{_javadocdir}/%{name}-faces
+fi
+%endif
+
+
+%if %{without_coreonly}
+%if %{gcj_support}
+%post chain-webapps-tomcat5
+if [ -x %{_bindir}/rebuild-gcj-db ]
+then
+  %{_bindir}/rebuild-gcj-db
+fi
+%endif
+
+%if %{gcj_support}
+%postun chain-webapps-tomcat5
+if [ -x %{_bindir}/rebuild-gcj-db ]
+then
+  %{_bindir}/rebuild-gcj-db
+fi
+%endif
+%endif
+
+%if %{gcj_support}
 %post
-%{_bindir}/rebuild-gcj-db
+if [ -x %{_bindir}/rebuild-gcj-db ]
+then
+  %{_bindir}/rebuild-gcj-db
+fi
+%endif
 
+%if %{gcj_support}
 %postun
-%{_bindir}/rebuild-gcj-db
+if [ -x %{_bindir}/rebuild-gcj-db ]
+then
+  %{_bindir}/rebuild-gcj-db
+fi
+%endif
 
-%post webapps-tomcat5
-%{_bindir}/rebuild-gcj-db
+%if %{without_coreonly}
+%if %{gcj_support}
+%post el
+if [ -x %{_bindir}/rebuild-gcj-db ]
+then
+  %{_bindir}/rebuild-gcj-db
+fi
+%endif
 
-%postun webapps-tomcat5
-%{_bindir}/rebuild-gcj-db
+%if %{gcj_support}
+%postun el
+if [ -x %{_bindir}/rebuild-gcj-db ]
+then
+  %{_bindir}/rebuild-gcj-db
+fi
+%endif
 
-%clean
-rm -rf $RPM_BUILD_ROOT
+%if %{gcj_support}
+%post chain
+if [ -x %{_bindir}/rebuild-gcj-db ]
+then
+  %{_bindir}/rebuild-gcj-db
+fi
+%endif
+
+%if %{gcj_support}
+%postun chain
+if [ -x %{_bindir}/rebuild-gcj-db ]
+then
+  %{_bindir}/rebuild-gcj-db
+fi
+%endif
+
+%if %{gcj_support}
+%post faces
+if [ -x %{_bindir}/rebuild-gcj-db ]
+then
+  %{_bindir}/rebuild-gcj-db
+fi
+%endif
+
+%if %{gcj_support}
+%postun faces
+if [ -x %{_bindir}/rebuild-gcj-db ]
+then
+  %{_bindir}/rebuild-gcj-db
+fi
+%endif
+%endif
 
 %files
 %defattr(-,root,root)
-%doc INSTALL LICENSE.txt README NOTICE.txt STATUS.txt
-%{_javadir}/*
+%doc %{_docdir}/%{name}-%{version}/INSTALL
+%doc %{_docdir}/%{name}-%{version}/README
+%doc %{_docdir}/%{name}-%{version}/*.txt
+%{_javadir}/%{name}-%{version}.jar
+%{_javadir}/%{name}.jar
 %{_datadir}/%{name}
-%dir %{_libdir}/gcj/%{name}
-%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-%{version}.jar.*
+
+%if %{gcj_support}
+%dir %attr(-,root,root) %{_libdir}/gcj/%{name}
+%attr(-,root,root) %{_libdir}/gcj/%{name}/struts-1.2.9.jar.*
+%endif
 
 %files manual
 %defattr(-,root,root)
-%doc target/documentation/*.html
-%doc target/documentation/*.gif
-%doc target/documentation/uml
-%doc target/documentation/userGuide
-%doc target/documentation/images
+%doc %{_docdir}/%{name}-%{version}/docs
 
 %files javadoc
 %defattr(-,root,root)
-%{_javadocdir}/%{name}-%{version}
+%doc %{_javadocdir}/%{name}-%{version}
+%ghost %{_javadocdir}/%{name}
+
+%if ! %{gcj_support}
+%files webapps-tomcat3
+%defattr(-,tomcat3,tomcat3)
+%dir %{tomcat3appsdir}/%{name}-blank
+%{tomcat3appsdir}/%{name}-blank/*
+%dir %{tomcat3appsdir}/%{name}-documentation
+%{tomcat3appsdir}/%{name}-documentation/*
+%dir %{tomcat3appsdir}/%{name}-example
+%{tomcat3appsdir}/%{name}-example/*
+%dir %{tomcat3appsdir}/%{name}-examples
+%{tomcat3appsdir}/%{name}-examples/*
+%dir %{tomcat3appsdir}/%{name}-tiles-documentation
+%{tomcat3appsdir}/%{name}-tiles-documentation/*
+
+%files webapps-tomcat4
+%defattr(-,tomcat4,tomcat4)
+%dir %{tomcat4appsdir}/%{name}-blank
+%{tomcat4appsdir}/%{name}-blank/*
+%dir %{tomcat4appsdir}/%{name}-documentation
+%{tomcat4appsdir}/%{name}-documentation/*
+%dir %{tomcat4appsdir}/%{name}-example
+%{tomcat4appsdir}/%{name}-example/*
+%dir %{tomcat4appsdir}/%{name}-examples
+%{tomcat4appsdir}/%{name}-examples/*
+%dir %{tomcat4appsdir}/%{name}-tiles-documentation
+%{tomcat4appsdir}/%{name}-tiles-documentation/*
+%{tomcat4appsdir}/%{name}-*.xml
+%endif
 
 %files webapps-tomcat5
 %defattr(-,tomcat,tomcat)
@@ -217,75 +874,136 @@
 %{tomcat5appsdir}/%{name}-examples/*
 %dir %{tomcat5appsdir}/%{name}-tiles-documentation
 %{tomcat5appsdir}/%{name}-tiles-documentation/*
-%{tomcat5ctxdir}/%{name}-*.xml
-%attr(-,root,root) %{_libdir}/gcj/%{name}/*classes.jar.*
-
-%changelog
-* Thu Aug 10 2006 Deepak Bhole <dbhole at redhat.com> 1.2.8-2jpp.17
-- Added post/postun for javadoc.
-
-* Wed Jul 26 2006 Deepak Bhole <dbhole at redhat.com> - 0:1.2.8-2jpp_16fc
-- Remove xalan-j2-serializer from classpath.
-- Added missing BR for xhtml1-dtds.
-
-* Mon Jul 24 2006 Deepak Bhole <dbhole at redhat.com> - 0:1.2.8-2jpp_15fc
-- Fixed classpath issue.
-- Removed spurious macros.
-- Disable failonerror for xml validation for now.
-
-* Sat Jul 22 2006 Jakub Jelinek <jakub at redhat.com> - 0:1.2.8-2jpp_14fc
-- Rebuilt
-
-* Wed Jul 12 2006 Jesse Keating <jkeating at redhat.com> - 0:1.2.8-2jpp_13fc
-- rebuild
-
-* Wed Jun 21 2006 Deepak Bhole <dbhole at redhat.com> - 0:1.2.8-2jpp_12fc
-- Re-enable ppc64, s390 and s390x builds
+%{tomcat5ctxdir}/%{name}-blank.xml
+%{tomcat5ctxdir}/%{name}-documentation.xml
+%{tomcat5ctxdir}/%{name}-example.xml
+%{tomcat5ctxdir}/%{name}-examples.xml
+%{tomcat5ctxdir}/%{name}-tiles-documentation.xml
+
+%if %{gcj_support}
+%dir %attr(-,root,root) %{_libdir}/gcj/%{name}
+%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-example_classes*
+%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-examples_classes*
+%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-tiles-documentation_classes*
+%endif
 
-* Wed Jun  7 2006 Deepak Bhole <dbhole at redhat.com> - 0:1.2.8-2jpp_11fc
-- Added missing BR/Req. for tomcat5-jsp-2.0-api.
+%if %{without_coreonly}
+%files chain
+%defattr(-,root,root)
+%doc %{_docdir}/%{name}-chain-%{version}
+%{_javadir}/%{name}-chain-%{version}.jar
+%{_javadir}/%{name}-chain.jar
+%{_datadir}/%{name}-chain
+
+%if %{gcj_support}
+%dir %attr(-,root,root) %{_libdir}/gcj/%{name}
+%attr(-,root,root) %{_libdir}/gcj/%{name}/struts-chain-1.2.9.jar.*
+%endif
 
-* Wed Mar  8 2006 Rafael Schloming <rafaels at redhat.com> - 0:1.2.8-2jpp_10fc
-- excluded s390[x] and ppc64 due to eclipse
+%files chain-javadoc
+%defattr(-,root,root)
+%doc %{_javadocdir}/%{name}-chain-%{version}
+%ghost %{_javadocdir}/%{name}-chain
 
-* Fri Feb 24 2006 Rafael Schloming <rafaels at redhat.com> - 0:1.2.8-2jpp_9fc
-- Removed the webapps-tomcat{3,4} subpackages.
+%files chain-webapps-tomcat5
+%defattr(-,tomcat,tomcat)
+%dir %{tomcat5appsdir}/%{name}-chain
+%{tomcat5appsdir}/%{name}-chain/*
+%{tomcat5ctxdir}/%{name}-chain.xml
+
+%if %{gcj_support}
+%dir %attr(-,root,root) %{_libdir}/gcj/%{name}
+%attr(-,root,root) %{_libdir}/gcj/%{name}/antlr.jar.*
+%attr(-,root,root) %{_libdir}/gcj/%{name}/commons-beanutils.jar.*
+%attr(-,root,root) %{_libdir}/gcj/%{name}/commons-digester.jar.*
+%attr(-,root,root) %{_libdir}/gcj/%{name}/commons-fileupload.jar.*
+%attr(-,root,root) %{_libdir}/gcj/%{name}/commons-logging.jar.*
+%attr(-,root,root) %{_libdir}/gcj/%{name}/commons-validator.jar.*
+%attr(-,root,root) %{_libdir}/gcj/%{name}/jakarta-oro.jar.*
+%attr(-,root,root) %{_libdir}/gcj/%{name}/struts.jar.*
+%endif
 
-* Tue Feb 21 2006 Rafael Schloming <rafaels at redhat.com> - 0:1.2.8-2jpp_8fc
-- Updated to 1.2.8
+%files el
+%defattr(-,root,root)
+%doc %{_docdir}/%{name}-el-%{version}
+%{_javadir}/%{name}-el-%{version}.jar
+%{_javadir}/%{name}-el.jar
+%{_datadir}/%{name}-el
+
+%if %{gcj_support}
+%dir %attr(-,root,root) %{_libdir}/gcj/%{name}
+%attr(-,root,root) %{_libdir}/gcj/%{name}/struts-el-1.2.9.jar.*
+%endif
 
-* Fri Feb 10 2006 Jesse Keating <jkeating at redhat.com> - 0:1.2.4-2jpp_7fc
-- bump again for double-long bug on ppc(64)
+%files el-javadoc
+%defattr(-,root,root)
+%doc %{_javadocdir}/%{name}-el-%{version}
+%ghost %{_javadocdir}/%{name}-el
 
-* Tue Feb 07 2006 Jesse Keating <jkeating at redhat.com> - 0:1.2.4-2jpp_6fc
-- rebuilt for new gcc4.1 snapshot and glibc changes
+%files el-webapps-tomcat5
+%defattr(-,tomcat,tomcat)
+%dir %{tomcat5appsdir}/%{name}-el-exercise-taglib
+%{tomcat5appsdir}/%{name}-el-exercise-taglib/*
+%{tomcat5ctxdir}/%{name}-el-exercise-taglib.xml
 
-* Wed Dec 21 2005 Jesse Keating <jkeating at redhat.com> - 0:1.2.4-2jpp_5fc
-- rebuilt again
+%files faces
+%defattr(-,root,root)
+%doc %{_docdir}/%{name}-faces-%{version}
+%{_javadir}/%{name}-faces-%{version}.jar
+%{_javadir}/%{name}-faces.jar
+%{_datadir}/%{name}-faces
+
+%if %{gcj_support}
+%dir %attr(-,root,root) %{_libdir}/gcj/%{name}
+%attr(-,root,root) %{_libdir}/gcj/%{name}/struts-faces-1.2.9.jar.*
+%endif
 
-* Fri Dec 09 2005 Jesse Keating <jkeating at redhat.com> - 0:1.2.4-2jpp_4fc
-- rebuilt
+%files faces-javadoc
+%defattr(-,root,root)
+%doc %{_javadocdir}/%{name}-faces-%{version}
+%ghost %{_javadocdir}/%{name}-faces
 
-* Fri Jul 22 2005 Gary Benson <gbenson at redhat.com> - 0:1.2.4-2jpp_3fc
-- Remove workarounds for #163689.
+%files faces-webapps-tomcat5
+%defattr(-,tomcat,tomcat)
+%dir %{tomcat5appsdir}/%{name}-faces-example1
+%{tomcat5appsdir}/%{name}-faces-example1/*
+%{tomcat5ctxdir}/%{name}-faces-example1.xml
+%dir %{tomcat5appsdir}/%{name}-faces-example2
+%{tomcat5appsdir}/%{name}-faces-example2/*
+%{tomcat5ctxdir}/%{name}-faces-example2.xml
+%endif
 
-* Wed Jul 20 2005 Gary Benson <gbenson at redhat.com> - 0:1.2.4-2jpp_2fc
-- Build on ia64, ppc64, s390 and s390x.
-- Switch to aot-compile-rpm (also BC-compiles webapps).
 
-* Wed Jun 15 2005 Gary Benson <gbenson at redhat.com> - 0:1.2.4-2jpp_1fc
-- Make workaround for #157205 specific to libgcj.
+%changelog
+* Tue Aug 22 2006 Fernando Nasser <fnasser at redhat.com> - 0:1.2.9-3jpp.1
+- Merge with upstream for upgrade to 1.2.9
+- Use symlinks instead of actual files in WEB-INF/lib folders
+- Add conditional native compilation
+
+* Tue Aug 22 2006 Fernando Nasser <fnasser at redhat.com> - 0:1.2.9-3jpp
+- Remove duplicate macros
+- Fix removal of old struts-el documentation link
+- Create coreonly option
+
+* Thu Apr 06 2006 Ralph Apel <r.apel at r-apel.de> - 0:1.2.9-2jpp
+- Switch to _javadir/cactus-14/*.jar
+- Thus require cactus >= 1.7.1-2jpp
+
+* Wed Mar 29 2006 Ralph Apel <r.apel at r-apel.de> - 0:1.2.9-1jpp
+- Upgrade to 1.2.9
+
+* Thu Oct 20 2005 Ralph Apel <r.apel at r-apel.de> - 0:1.2.7-2jpp
+- Add struts-chain subpackages
+- Add struts-el subpackages
+- Add struts-faces subpackages
 
-* Tue Jun 14 2005 Gary Benson <gbenson at redhat.com>
-- Remove jars, wars and classes from the tarball.
+* Tue Jul 26 2005 Fernando Nasser <fnasser at redhat.com> - 0:1.2.7-1jpp
+- Upgrade to 1.2.7
 
 * Fri May 27 2005 Gary Benson <gbenson at redhat.com> - 0:1.2.4-2jpp
 - Build with servletapi5.
 - Add build dependency on ant-nodeps.
 
-* Fri May 27 2005 Gary Benson <gbenson at redhat.com> - 0:1.2.4-1jpp_1fc
-- Build into Fedora.
-
 * Tue Feb  1 2005 Joe Orton <jorton at redhat.com>
 - Change webapps subpackages' tomcat dependencies to prereqs.
 


--- struts-1.2.8.build.patch DELETED ---


--- struts-1.2.8.servlet24.patch DELETED ---




More information about the fedora-cvs-commits mailing list