%define section free # If you do not want cos-multipart support, give rpmbuild option '--without nonfree' %define with_nonfree %{!?_without_nonfree:1}%{?_without_nonfree:0} %define without_nonfree %{?_without_nonfree:1}%{!?_without_nonfree:0} Summary: Web application framework for J2EE Name: webwork Version: 1.4 Release: 3jpp Epoch: 0 License: Apache Software License URL: http://www.opensymphony.com/webwork/ Group: Development/Libraries/Java Vendor: JPackage Project Distribution: JPackage Source0: webwork-1.4.tar.gz # cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/opensymphony login # cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/opensymphony export -r release_1_4_0 webwork Patch0: webwork-Script.patch Patch1: webwork-Multipart.patch Patch2: webwork-build_xml.patch BuildRequires: jpackage-utils >= 0:1.5 BuildRequires: ant >= 0:1.5.4 BuildRequires: javacc BuildRequires: jtidy BuildRequires: bsf BuildRequires: httpunit BuildRequires: junit >= 0:3.8.1 BuildRequires: servletapi4 BuildRequires: xalan-j2 BuildRequires: xerces-j2 BuildRequires: jakarta-commons-logging BuildRequires: jdom %if %{with_nonfree} BuildRequires: cos-multipart >= 0:0.05Nov2002 %endif BuildRequires: rhino BuildRequires: pell-multipart BuildRequires: jakarta-commons-beanutils BuildRequires: jakarta-commons-collections BuildRequires: jakarta-commons-digester BuildRequires: itext BuildRequires: jasperreports BuildRequires: jakarta-poi BuildRequires: log4j BuildRequires: velocity Requires: bsf Requires: httpunit Requires: servletapi4 Requires: xalan-j2 Requires: xerces-j2 Requires: jakarta-commons-logging Requires: jdom Requires: bsf Requires: rhino Requires: jakarta-commons-beanutils Requires: jakarta-commons-collections Requires: jakarta-commons-digester Requires: itext Requires: jasperreports Requires: jakarta-poi Requires: log4j Requires: velocity BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot %description WebWork is a web application framework for J2EE. It is based on a concept called "Pull HMVC" Pull Hierarchical Model View Controller). It supports an arrange of view technologies - XSLT, JSP, Velocity, Applet, Jasper Reports, and more. %package multipart Summary: Multipart support for %{name} Group: Development/Libraries/Java Requires: pell-multipart %if %{with_nonfree} Requires: cos-multipart %endif %description multipart %{summary}. %package javadoc Summary: Javadoc for %{name} Group: Development/Documentation %description javadoc %{summary}. %package manual Summary: Documents for %{name} Group: Development/Documentation %description manual %{summary}. %prep %setup -q -n %{name} find . -name "*.jar" -exec rm {} \; # Remove example with db4o, this lib is non-free, commercial only rm -rf src/main/webwork/examples/userreg # Remove cos-multipart implementation, pell-multipart will do it %if %{without_nonfree} rm src/main/webwork/multipart/CosMultiPartRequest.java %endif # Save MultiPartRequestWrapper, it may be patched to not accept cos cp src/main/webwork/multipart/MultiPartRequestWrapper.java src/main/webwork/multipart/MultiPartRequestWrapper.java.sav # save original build.xml cp build.xml build.xml.sav %patch0 %if %{without_nonfree} %patch1 %endif %patch2 %build export CLASSPATH=$(build-classpath \ junit) ln -s $(find-jar jtidy) lib/build/jtidy.jar ln -s $(find-jar bsf) lib/build/bsf.jar ln -s $(find-jar httpunit) lib/build/httpunit.jar ln -s $(find-jar junit) lib/build/junit.jar ln -s $(find-jar servletapi4) lib/build/servlet.jar ln -s $(find-jar xalan-j2) lib/build/xalan.jar ln -s $(find-jar xerces-j2) lib/build/xerces.jar ln -s $(find-jar commons-logging) lib/core/commons-logging.jar ln -s $(find-jar jdom) lib/examples/jdom.jar ln -s $(find-jar bsf) lib/examples/bsf.jar %if %{with_nonfree} ln -s $(find-jar cos-multipart) lib/optional/cos-multipart.jar %endif ln -s $(find-jar rhino) lib/optional/js.jar ln -s $(find-jar pell-multipart) lib/optional/pell-multipart.jar ln -s $(find-jar commons-beanutils) lib/view/commons-beanutils.jar ln -s $(find-jar commons-collections) lib/view/commons-collections.jar ln -s $(find-jar commons-digester) lib/view/commons-digester.jar ln -s $(find-jar itext) lib/view/itext.jar ln -s $(find-jar jasperreports) lib/view/jasperreports.jar ln -s $(find-jar poi) lib/view/poi.jar ln -s $(find-jar log4j) lib/view/log4j.jar ln -s $(find-jar velocity) lib/view/velocity.jar ant -Dbuild.sysclasspath=first dist %install rm -rf $RPM_BUILD_ROOT # jars mkdir -p $RPM_BUILD_ROOT%{_javadir} cp -p dist/lib/%{name}.jar \ $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar cp -p dist/lib/%{name}client.jar \ $RPM_BUILD_ROOT%{_javadir}/%{name}-client-%{version}.jar cp -p dist/lib/%{name}multipart.jar \ $RPM_BUILD_ROOT%{_javadir}/%{name}-multipart-%{version}.jar (cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}.jar; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done) mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/etc cp dist/etc/* $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/etc cp dist/%{name}.war $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version} # javadoc mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} cp -pr dist/docs/api/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} # ghost symlink rm -rf dist/docs/api # manual mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} cp -pr dist/docs/* $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} %clean rm -rf $RPM_BUILD_ROOT %post javadoc rm -f %{_javadocdir}/%{name} ln -s %{name}-%{version} %{_javadocdir}/%{name} %postun javadoc if [ "$1" = "0" ]; then rm -f %{_javadocdir}/%{name} fi %files %defattr(0644,root,root,0755) %doc %{_docdir}/%{name}-%{version}/license.txt %{_datadir}/%{name}-%{version} %{_javadir}/%{name}-%{version}.jar %{_javadir}/%{name}.jar %{_javadir}/%{name}-client-%{version}.jar %{_javadir}/%{name}-client.jar %files multipart %defattr(0644,root,root,0755) %{_javadir}/%{name}-multipart-%{version}.jar %{_javadir}/%{name}-multipart.jar %files javadoc %defattr(0644,root,root,0755) %doc %{_javadocdir} %files manual %defattr(0644,root,root,0755) %doc %{_docdir} # ----------------------------------------------------------------------------- %changelog * Fri Jul 02 2004 Ralph Apel <r.apel at r-apel.de> - 0:1.4-3jpp - better solution for non-free exclusion (--without nonfree) - relax versioned dependencies - pell-multipart (and cos-multipart) are runtime deps only of webwork-multipart * Mon Jun 28 2004 Ralph Apel <r.apel at r-apel.de> - 0:1.4-2jpp - put multipart classes into separate subpackage and jar - optionally build without cos-multipart option (-D'without_nonfree 1') - drop requires clover * Tue Mar 02 2004 Ralph Apel <r.apel at r-apel.de> - 0:1.4-1jpp - First JPackage release