# Copyright (c) 2000-2005, JPackage roject # 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. # %global mainname xmlrpc %global with_maven 0 Name: xmlrpc3 Version: 3.0 Release: 4.14%{?dist} Summary: Java XML-RPC implementation License: ASL 2.0 Group: Development/Libraries Url: http://ws.apache.org/xmlrpc/ Source0: http://archive.apache.org/dist/ws/xmlrpc/sources/xmlrpc-%{version}-src.tar.gz Source1: %{name}-jpp-depmap.xml %if ! %{with_maven} # These build files were generated with mvn ant:ant Source2: %{name}-buildfiles.tar.bz2 Source3: %{name}-ant-osgimanifests.tar.bz2 %endif # FIXME: file this upstream # The tests pom.xml doesn't include necessary dependencies on junit and # servletapi Patch0: %{name}-addjunitandservletapitotestpom.patch %if %{with_maven} # Add OSGi MANIFEST information Patch1: %{name}-client-addosgimanifest.patch Patch2: %{name}-common-addosgimanifest.patch %else Patch3: %{name}-ant-osgimanifests.patch %endif BuildRequires: dos2unix %if %{with_maven} BuildRequires: maven2 >= 2.0.4 BuildRequires: maven2-plugin-resources BuildRequires: maven2-plugin-compiler BuildRequires: maven2-plugin-surefire BuildRequires: maven2-plugin-jar BuildRequires: maven2-plugin-install BuildRequires: maven2-plugin-javadoc BuildRequires: maven2-plugin-eclipse BuildRequires: maven2-plugin-assembly BuildRequires: maven2-plugin-source %else BuildRequires: ant %endif BuildRequires: ws-jaxme BuildRequires: ws-commons-util BuildRequires: jpackage-utils >= 0:1.6 BuildRequires: servletapi5 BuildRequires: tomcat5 BuildRequires: junit BuildRequires: jakarta-commons-httpclient BuildRequires: jakarta-commons-codec >= 1.3 BuildRequires: jsse Requires: jpackage-utils >= 0:1.6 Requires: servletapi5 Requires: junit Requires: jakarta-commons-httpclient Requires: jakarta-commons-codec >= 1.3 Requires: jsse Requires: ws-jaxme Requires: ws-commons-util Buildarch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %description Apache XML-RPC is a Java implementation of XML-RPC, a popular protocol that uses XML over HTTP to implement remote procedure calls. Apache XML-RPC was previously known as Helma XML-RPC. If you have code using the Helma library, all you should have to do is change the import statements in your code from helma.xmlrpc.* to org.apache.xmlrpc.*. %package javadoc Summary: Javadoc for %{name} Group: Development/Libraries %description javadoc Javadoc for %{name}. %package common Summary: Common classes for XML-RPC client and server implementations Group: Development/Libraries %description common %{summary}. %package common-devel Summary: Source for common classes of XML-RPC Group: Development/Libraries Requires: %{name}-common %description common-devel %{summary} client and server implementations. %package client Summary: XML-RPC client implementation Group: Development/Libraries Requires: %{name}-common %description client %{summary}. %package client-devel Summary: Source for XML-RPC client implementation Group: Development/Libraries Requires: %{name}-client %description client-devel %{summary}. %package server Summary: XML-RPC server implementation Group: Development/Libraries Requires: %{name}-common %description server %{summary}. %package server-devel Summary: Source for XML-RPC server implementation Group: Development/Libraries Requires: %{name}-server %description server-devel %{summary}. %prep %setup -q -n %{mainname}-%{version} %patch0 %if %{with_maven} cp %{SOURCE1} . pushd client %patch1 popd pushd common %patch2 popd %else tar jxf %{SOURCE2} tar jxf %{SOURCE3} %patch3 %endif export MAVEN_REPO_LOCAL=$(pwd)/.m2/repository rm -rf $MAVEN_REPO_LOCAL mkdir -p $MAVEN_REPO_LOCAL %if ! %{with_maven} mkdir -p $MAVEN_REPO_LOCAL/org/apache/ws/commons/ws-commons-util/1.0.1 ln -s %{_javadir}/ws-commons-util-1.0.1.jar \ $MAVEN_REPO_LOCAL/org/apache/ws/commons/ws-commons-util/1.0.1 mkdir -p $MAVEN_REPO_LOCAL/junit/junit/3.8.1 ln -s %{_javadir}/junit-3.8.2.jar \ $MAVEN_REPO_LOCAL/junit/junit/3.8.1/junit-3.8.1.jar mkdir -p $MAVEN_REPO_LOCAL/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar ln -s %{_javadir}/xml-commons-apis-1.3.04.jar \ $MAVEN_REPO_LOCAL/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar mkdir -p $MAVEN_REPO_LOCAL/jaxme/jaxmeapi/0.5.1/jaxmeapi-0.5.1.jar ln -s %{_javadir}/jaxme/ws-jaxmeapi-0.5.1.jar \ $MAVEN_REPO_LOCAL/jaxme/jaxmeapi/0.5.1 mkdir -p $MAVEN_REPO_LOCAL/commons-httpclient/commons-httpclient/3.0.1 ln -s %{_javadir}/commons-httpclient.jar \ $MAVEN_REPO_LOCAL/commons-httpclient/commons-httpclient/3.0.1/commons-httpclient-3.0.1.jar mkdir -p $MAVEN_REPO_LOCAL/commons-logging/commons-logging/1.1 ln -s %{_javadir}/commons-logging.jar \ $MAVEN_REPO_LOCAL/commons-logging/commons-logging/1.1/commons-logging-1.1.jar mkdir -p $MAVEN_REPO_LOCAL/log4j/log4j/1.2.12 ln -s %{_javadir}/log4j.jar \ $MAVEN_REPO_LOCAL/log4j/log4j/1.2.12/log4j-1.2.12.jar mkdir -p $MAVEN_REPO_LOCAL/logkit/logkit/1.0.1 ln -s %{_javadir}/avalon-logkit.jar \ $MAVEN_REPO_LOCAL/logkit/logkit/1.0.1/logkit-1.0.1.jar mkdir -p $MAVEN_REPO_LOCAL/avalon-framework/avalon-framework/4.1.3 ln -s %{_javadir}/avalon-framework.jar \ $MAVEN_REPO_LOCAL/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar mkdir -p $MAVEN_REPO_LOCAL/javax/servlet/servlet-api/2.4 ln -s %{_javadir}/servlet_2_4_api.jar \ $MAVEN_REPO_LOCAL/javax/servlet/servlet-api/2.4/servlet-api-2.4.jar mkdir -p $MAVEN_REPO_LOCAL/commons-codec/commons-codec/1.2 ln -s %{_javadir}/commons-codec.jar \ $MAVEN_REPO_LOCAL/commons-codec/commons-codec/1.2/commons-codec-1.2.jar # These next three will appear broken but become un-broken during the build mkdir -p $MAVEN_REPO_LOCAL/org/apache/xmlrpc/xmlrpc-common/3.0 ln -s ../../../../../../../common/target/xmlrpc-common-3.0.jar \ $MAVEN_REPO_LOCAL/org/apache/xmlrpc/xmlrpc-common/3.0/xmlrpc-common-3.0.jar mkdir -p $MAVEN_REPO_LOCAL/org/apache/xmlrpc/xmlrpc-client/3.0 ln -s ../../../../../../../client/target/xmlrpc-client-3.0.jar \ $MAVEN_REPO_LOCAL/org/apache/xmlrpc/xmlrpc-client/3.0/xmlrpc-client-3.0.jar mkdir -p $MAVEN_REPO_LOCAL/org/apache/xmlrpc/xmlrpc-server/3.0 ln -s ../../../../../../../server/target/xmlrpc-server-3.0.jar \ $MAVEN_REPO_LOCAL/org/apache/xmlrpc/xmlrpc-server/3.0/xmlrpc-server-3.0.jar %endif %build dos2unix LICENSE.txt export MAVEN_REPO_LOCAL=$(pwd)/.m2/repository mkdir -p $MAVEN_REPO_LOCAL %if %{with_maven} # The java.home is due to java-gcj and libgcj weirdness on 64-bit # systems mvn-jpp \ -e \ -Dmaven.repo.local=$MAVEN_REPO_LOCAL \ -Djava.home=%{_jvmdir}/java/jre \ -Dmaven2.jpp.depmap.file=%{SOURCE1} \ -Dmaven.test.failure.ignore=true \ install javadoc:javadoc %else ant -Dmaven.mode.offline=true -Dmaven.repo.local=$MAVEN_REPO_LOCAL \ javadoc package find -name \.svn | xargs rm -rf jar cf common/target/%{mainname}-common-%{version}-sources.jar \ common/src/main/java/META-INF/MANIFEST.MF \ -C common/src/main/java . jar cf client/target/%{mainname}-client-%{version}-sources.jar \ client/src/main/java/META-INF/MANIFEST.MF \ -C client/src/main/java . jar cf server/target/%{mainname}-server-%{version}-sources.jar \ server/src/main/java/META-INF/MANIFEST.MF \ -C server/src/main/java . %endif %install rm -rf $RPM_BUILD_ROOT # jars install -d -m 755 $RPM_BUILD_ROOT%{_javadir} install -m 644 client/target/%{mainname}-client-%{version}.jar \ $RPM_BUILD_ROOT%{_javadir}/%{name}-client-%{version}.jar install -m 644 server/target/%{mainname}-server-%{version}.jar \ $RPM_BUILD_ROOT%{_javadir}/%{name}-server-%{version}.jar install -m 644 common/target/%{mainname}-common-%{version}.jar \ $RPM_BUILD_ROOT%{_javadir}/%{name}-common-%{version}.jar (cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}*; do \ ln -sf ${jar} ${jar/-%{version}/}; done) # sources jars install -m 644 client/target/%{mainname}-client-%{version}-sources.jar \ $RPM_BUILD_ROOT%{_javadir}/%{name}-client-%{version}-sources.jar install -m 644 server/target/%{mainname}-server-%{version}-sources.jar \ $RPM_BUILD_ROOT%{_javadir}/%{name}-server-%{version}-sources.jar install -m 644 common/target/%{mainname}-common-%{version}-sources.jar \ $RPM_BUILD_ROOT%{_javadir}/%{name}-common-%{version}-sources.jar # javadoc install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} %if %{with_maven} cp -pr target/site/apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} %else cp -pr common/target/site/apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} cp -pr client/target/site/apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} cp -pr server/target/site/apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} %endif %clean rm -rf $RPM_BUILD_ROOT %files javadoc %defattr(-,root,root,-) %{_javadocdir}/* %files common %defattr(-,root,root,-) %doc LICENSE.txt %{_javadir}/%{name}-common.jar %{_javadir}/%{name}-common-%{version}.jar %files common-devel %defattr(-,root,root,-) %{_javadir}/%{name}-common-%{version}-sources.jar %files client %defattr(-,root,root,-) %{_javadir}/%{name}-client.jar %{_javadir}/%{name}-client-%{version}.jar %files client-devel %defattr(-,root,root,-) %{_javadir}/%{name}-client-%{version}-sources.jar %files server %defattr(-,root,root,-) %{_javadir}/%{name}-server.jar %{_javadir}/%{name}-server-%{version}.jar %files server-devel %defattr(0644,root,root,0755) %{_javadir}/%{name}-server-%{version}-sources.jar %changelog * Wed Jan 13 2010 Andrew Overholt 3.0-4.14 - Really drop maven2-plugin-release BR. * Mon Jan 11 2010 Andrew Overholt 3.0-4.13 - Add ant BR. * Mon Jan 11 2010 Andrew Overholt 3.0-4.12 - Fix Source0 URL. * Wed Dec 09 2009 Andrew Overholt 3.0-4.11 - Disable building with maven due to missing -release plugin. - Provide ability to build with ant. - Drop maven2-plugin-release BR as it's folded into maven2. * Mon Aug 17 2009 Andrew Overholt 3.0-4.10 - Fixed URL (bug #354031) * Mon Jul 27 2009 Fedora Release Engineering - 3.0-4.9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Thu Feb 26 2009 Fedora Release Engineering - 3.0-3.9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Fri Oct 31 2008 Alexander Kurtakov 3.0-2.9 - Fix client osgi manifest - client should require common bundle. * Wed Oct 22 2008 Alexander Kurtakov 3.0-2.8 - Drop gcj_support. - Fix commons osgi manifest. - BR tomcat5. * Fri Sep 12 2008 Andrew Overholt 3.0-2.7 - Add ppc64. * Thu Jul 10 2008 Tom "spot" Callaway 3.0-2.6 - drop repotag - fix license tag * Wed Mar 19 2008 Andrew Overholt 3.0-2jpp.5 - Fix server description (rhbz#433699) * Tue Feb 19 2008 Fedora Release Engineering - 3.0-2jpp.4 - Autorebuild for GCC 4.3 * Fri Sep 07 2007 Andrew Overholt 3.0-1jpp.4 - Disable ppc64 (rh#239123). * Fri Sep 07 2007 Andrew Overholt 3.0-1jpp.3 - Add OSGi manifests. * Fri Aug 24 2007 Andrew Overholt 3.0-1jpp.2 - Rebuild. * Fri Mar 16 2007 Andrew Overholt 3.0-1jpp.1 - Create new xmlrpc3 package - Use maven to build - Shuffle to common, server, and client sub-packages - Add -devel sub-packages for -sources jars * Thu Mar 08 2007 Deepak Bhole 2.0.1-3jpp.2 - Add javax.net.ssl support to build org.apache.xmlrpc.secure.* - Minor spec file cleanup * Fri Aug 04 2006 Vivek Lakshmanan - 0:2.0.1-3jpp.1 - Merge with latest from JPP. * Sat Jul 22 2006 Jakub Jelinek - 0:2.0.1-1jpp_8.2fc - Rebuilt * Wed Jul 12 2006 Jesse Keating - 0:2.0.1-1jpp_8.1fc - rebuild * Wed Mar 8 2006 Rafael Schloming - 0:2.0.1-1jpp_7fc - excluded s390 due to eclipse * Mon Mar 6 2006 Jeremy Katz - 0:2.0.1-1jpp_6fc - stop scriptlet spew * Fri Feb 24 2006 Igor Foox - 0:2.0.1-1jpp_5fc - Added post/postun dependency on coreutils. * Fri Feb 10 2006 Jesse Keating - 0:2.0.1-1jpp_4fc - bump again for double-long bug on ppc(64) * Tue Feb 07 2006 Jesse Keating - 0:2.0.1-1jpp_3fc - rebuilt for new gcc4.1 snapshot and glibc changes * Wed Jan 25 2006 Igor Foox 0:2.0.1-1jpp_2fc - ExcludeArch s390x and ppc64 * Wed Jan 18 2006 Andrew Overholt 0:2.0.1-1jpp_2fc - Comment out JPackage Distribution and Vendor tags * Wed Jan 18 2006 Jesse Keating 0:2.0.1-1jpp_2fc - bump for test * Wed Jan 18 2006 Igor Foox 0:2.0.1-1jpp_1fc - Update to version 2.0.1 - Natively compile * Thu Aug 26 2004 Ralph Apel 0:1.2-0.b1.3jpp - Build with ant-1.6.2 * Thu Apr 29 2004 David Walluck 0:1.2-0.b1.2jpp - add jar symlinks - remove %%buildroot in %%install * Tue May 06 2003 David Walluck 0:1.2-0.b1.1jpp - 1.2-b1 - update for JPackage 1.5 * Mon Mar 18 2002 Guillaume Rousse 1.1-1jpp - 1.1 - generic servlet support - used source release - dropped patch - added applet jar * Mon Jan 21 2002 Guillaume Rousse 1.0-3jpp - versioned dir for javadoc - no dependencies for javadoc package - dropped jsse package - adaptation to new servlet3 package - adaptation to new jsse package - section macro * Fri Dec 7 2001 Guillaume Rousse 1.0-2jpp - javadoc into javadoc package * Sat Nov 3 2001 Guillaume Rousse 1.0-1jpp - first JPackage release