# 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. # %define with() %{expand:%%{?with_%{1}:1}%%{!?with_%{1}:0}} %define without() %{expand:%%{?with_%{1}:0}%%{!?with_%{1}:1}} %define bcond_with() %{expand:%%{?_with_%{1}:%%global with_%{1} 1}} %define bcond_without() %{expand:%%{!?_without_%{1}:%%global with_%{1} 1}} %bcond_with maven %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 section free %define oname xmlrpc Name: xmlrpc3 Version: 3.1 Release: %mkrel 3 Epoch: 0 Summary: Java XML-RPC implementation License: ASL 2.0 Group: Development/Java URL: http://ws.apache.org/xmlrpc/ Source0: http://www.apache.org/dist/ws/xmlrpc/sources/xmlrpc-3.1-src.tar.gz Source1: xmlrpc-settings.xml Source2: xmlrpc-jpp-depmap.xml Source3: xmlrpc-build.xml Source4: xmlrpc-client-build.xml Source5: xmlrpc-common-build.xml Source6: xmlrpc-server-build.xml Source7: xmlrpc-tests-build.xml Source8: MANIFEST.MF-client Source9: MANIFEST.MF-common Patch0: xmlrpc-pom_xml.patch Patch1: xmlrpc-tests-pom_xml.patch Patch2: xmlrpc-site_xml.patch Patch3: xmlrpc3-client-addosgimanifest3.patch Patch4: xmlrpc3-common-addosgimanifest3.patch BuildRequires: jpackage-utils >= 0:1.7.2 BuildRequires: ant BuildRequires: junit BuildRequires: jakarta-commons-codec BuildRequires: jakarta-commons-httpclient BuildRequires: jakarta-commons-logging BuildRequires: servletapi5 BuildRequires: ws-commons-util BuildRequires: ws-jaxme BuildRequires: xml-commons-jaxp-1.3-apis BuildRequires: java-rpmbuild BuildRequires: zip %if %with maven BuildRequires: maven2 >= 2.0.4-10jpp BuildRequires: maven2-plugin-assembly BuildRequires: maven2-plugin-compiler BuildRequires: maven2-plugin-eclipse BuildRequires: maven2-plugin-install BuildRequires: maven2-plugin-jar BuildRequires: maven2-plugin-javadoc BuildRequires: maven2-plugin-resources BuildRequires: maven2-plugin-source BuildRequires: maven2-plugin-surefire BuildRequires: maven-release %endif Requires: jakarta-commons-codec Requires: jakarta-commons-httpclient Requires: jakarta-commons-logging Requires: servletapi5 Requires: ws-commons-util Requires: ws-jaxme Requires: xml-commons-jaxp-1.3-apis Requires(post): jpackage-utils >= 0:1.7.2 Requires(postun): jpackage-utils >= 0:1.7.2 %if %{gcj_support} BuildRequires: java-gcj-compat-devel %else Buildarch: noarch %endif # https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=239123 ExcludeArch: ppc64 %if ! %{gcj_support} Buildarch: noarch %endif BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root %if %{gcj_support} BuildRequires: java-gcj-compat-devel %endif %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/Java %description javadoc Javadoc for %{name}. %package common Summary: Common classes for XML-RPC client and server implementations Group: Development/Java %description common %{summary}. %package client Summary: XML-RPC client implementation Group: Development/Java Requires: %{name}-common %description client %{summary}. %package server Summary: Javadoc for %{name} Group: Development/Java Requires: %{name}-common %description server %{summary}. %prep %setup -q -n xmlrpc-%{version} cp -p %{SOURCE1} settings.xml cp -p %{SOURCE3} build.xml cp -p %{SOURCE4} client/build.xml cp -p %{SOURCE5} common/build.xml cp -p %{SOURCE6} server/build.xml cp -p %{SOURCE7} tests/build.xml %if 0 %patch0 -p0 %patch1 -p0 %patch2 -p0 %endif pushd client %patch3 -p1 popd pushd common %patch4 -p1 popd perl -pi -e 's/\r$//g' LICENSE.txt %build %if %with maven sed -i -e "s|<url>__JPP_URL_PLACEHOLDER__</url>|<url>file://`pwd`/.m2/repository</url>|g" settings.xml sed -i -e "s|<url>__JAVADIR_PLACEHOLDER__</url>|<url>file://`pwd`/external_repo</url>|g" settings.xml sed -i -e "s|<url>__MAVENREPO_DIR_PLACEHOLDER__</url>|<url>file://`pwd`/.m2/repository</url>|g" settings.xml sed -i -e "s|<url>__MAVENDIR_PLUGIN_PLACEHOLDER__</url>|<url>file:///usr/share/maven2/plugins</url>|g" settings.xml sed -i -e "s|<url>__ECLIPSEDIR_PLUGIN_PLACEHOLDER__</url>|<url>file:///usr/share/eclipse/plugins</url>|g" settings.xml export MAVEN_REPO_LOCAL=$(pwd)/.m2/repository mkdir -p $MAVEN_REPO_LOCAL mkdir external_repo ln -s %{_javadir} external_repo/JPP mkdir common/src/site cp src/site/site.xml common/src/site mkdir client/src/site cp src/site/site.xml client/src/site mkdir server/src/site cp src/site/site.xml server/src/site mkdir tests/src/site cp src/site/site.xml tests/src/site mvn-jpp \ -e \ -s $(pwd)/settings.xml \ -Dmaven2.jpp.mode=true \ -Dmaven2.jpp.depmap.file=%{SOURCE2} \ -Dmaven.repo.local=$MAVEN_REPO_LOCAL \ install javadoc:javadoc site:site %else pushd common export CLASSPATH=$(build-classpath ws-commons-util jaxme/jaxmeapi xml-commons-jaxp-1.3-apis) export OPT_JAR_LIST=: %ant -Dbuild.sysclasspath=only jar javadoc popd pushd client export CLASSPATH=$(build-classpath ws-commons-util commons-httpclient xml-commons-jaxp-1.3-apis) CLASSPATH=$CLASSPATH:../common/target/%{oname}-common-%{version}.jar %ant -Dbuild.sysclasspath=only jar javadoc popd pushd server export CLASSPATH=$(build-classpath commons-logging ws-commons-util servletapi5 xml-commons-jaxp-1.3-apis) CLASSPATH=$CLASSPATH:../common/target/%{oname}-common-%{version}.jar %ant -Dbuild.sysclasspath=only jar javadoc popd pushd tests export CLASSPATH=$(build-classpath commons-logging commons-codec commons-httpclient ws-commons-util servletapi5 xml-commons-jaxp-1.3-apis) CLASSPATH=$CLASSPATH:../common/target/%{oname}-common-%{version}.jar CLASSPATH=$CLASSPATH:../client/target/%{oname}-client-%{version}.jar CLASSPATH=$CLASSPATH:../server/target/%{oname}-server-%{version}.jar CLASSPATH=$CLASSPATH:target/test-classes ant -Dbuild.sysclasspath=only jar javadoc popd %endif # inject OSGi manifests mkdir META-INF cp -f %{SOURCE8} META-INF/MANIFEST.MF zip -u client/target/%{oname}-client-%{version}.jar META-INF/MANIFEST.MF cp -f %{SOURCE9} META-INF/MANIFEST.MF zip -u common/target/%{oname}-common-%{version}.jar META-INF/MANIFEST.MF mkdir -p temp pushd temp %{jar} xfv ../server/target/%{oname}-server-%{version}.jar %{jar} xfv ../client/target/%{oname}-client-%{version}.jar %{jar} xfv ../common/target/%{oname}-common-%{version}.jar %{__sed} -i -e "s|-common||g" META-INF/MANIFEST.MF %{jar} cmf META-INF/MANIFEST.MF ../%{oname}-%{version}.jar * popd %install rm -rf $RPM_BUILD_ROOT # jars #install -d -m 755 $RPM_BUILD_ROOT%{_javadir}/%{name} #install -m 644 %{oname}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar #install -m 644 common/target/%{oname}-common-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/common-%{version}.jar #install -m 644 client/target/%{oname}-client-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/client-%{version}.jar #install -m 644 server/target/%{oname}-server-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/server-%{version}.jar #install -m 644 tests/target/%{oname}-tests-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/tests-%{version}.jar ############################################################################################## # jars install -d -m 755 $RPM_BUILD_ROOT%{_javadir} install -m 644 %{oname}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}.jar install -m 644 client/target/%{oname}-client-%{version}.jar \ $RPM_BUILD_ROOT%{_javadir}/%{name}-client-%{version}.jar install -m 644 server/target/%{oname}-server-%{version}.jar \ $RPM_BUILD_ROOT%{_javadir}/%{name}-server-%{version}.jar install -m 644 common/target/%{oname}-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) (cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}*; do \ ln -sf ${jar} ${jar/-%{version}/}; done) (cd $RPM_BUILD_ROOT%{_javadir}/%{name} && for jar in *-%{version}*; do \ ln -sf ${jar} ${jar/-%{version}/}; done) %add_to_maven_depmap org.apache.xmlrpc xmlrpc %{version} JPP %{name} %add_to_maven_depmap org.apache.xmlrpc xmlrpc-client %{version} JPP/%{name} client %add_to_maven_depmap org.apache.xmlrpc xmlrpc-common %{version} JPP/%{name} common %add_to_maven_depmap org.apache.xmlrpc xmlrpc-server %{version} JPP/%{name} server %add_to_maven_depmap org.apache.xmlrpc xmlrpc-tests %{version} JPP/%{name} tests # poms install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/maven2/poms install -m 644 pom.xml \ $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP-%{name}.pom install -m 644 client/pom.xml \ $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.%{name}-client.pom install -m 644 common/pom.xml \ $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.%{name}-common.pom install -m 644 server/pom.xml \ $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.%{name}-server.pom install -m 644 tests/pom.xml \ $RPM_BUILD_ROOT%{_datadir}/maven2/poms/JPP.%{name}-tests.pom # 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 for m in common client server tests; do install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}/$m cp -pr $m/target/site/apidocs/* \ $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}/$m done %endif ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} %if %with maven install -d -m 755 $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} # FIXME: (dwalluck): breaks -bi --short-circuit rm -rf target/site/apidocs cp -pr target/site $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} %endif %if %{gcj_support} %{_bindir}/aot-compile-rpm %endif %clean rm -rf $RPM_BUILD_ROOT %post %update_maven_depmap %if %{gcj_support} if [ -x %{_bindir}/rebuild-gcj-db ] then %{_bindir}/rebuild-gcj-db fi %endif %postun %update_maven_depmap %if %{gcj_support} if [ -x %{_bindir}/rebuild-gcj-db ] then %{_bindir}/rebuild-gcj-db fi %endif %files javadoc %defattr(-,root,root,-) %{_javadocdir}/%{name} %{_javadocdir}/%{name}-%{version} %files common %defattr(-,root,root,-) %doc LICENSE.txt %{_datadir}/maven2/poms/* %{_mavendepmapfragdir}/* %{_javadir}/%{name}-common.jar %{_javadir}/%{name}-common-%{version}.jar %{_javadir}/%{name}.jar %if %{gcj_support} %{_libdir}/gcj/%{name}/%{name}-common* %endif %files client %defattr(-,root,root,-) %{_javadir}/%{name}-client.jar %{_javadir}/%{name}-client-%{version}.jar %if %{gcj_support} %{_libdir}/gcj/%{name}/%{name}-client* %endif %files server %defattr(-,root,root,-) %{_javadir}/%{name}-server.jar %{_javadir}/%{name}-server-%{version}.jar %if %{gcj_support} %{_libdir}/gcj/%{name}/%{name}-server* %endif %changelog * Wed Jan 14 2009 Jérôme Soyer <saispo@mandriva.org> 0:3.1-3mdv2009.1 + Revision: 329502 - Add zip to BR - Add OSGI Information * Tue Jan 06 2009 Jérôme Soyer <saispo@mandriva.org> 0:3.1-2mdv2009.1 + Revision: 325697 - Fix error in maven * Tue Jan 06 2009 Jérôme Soyer <saispo@mandriva.org> 0:3.1-1mdv2009.1 + Revision: 325274 - Add BR - Fix Release - Update to 3.1 * Thu Jan 03 2008 Olivier Blin <oblin@mandriva.com> 3.0-1.4.4mdv2009.0 + Revision: 140966 - restore BuildRoot + Thierry Vignaud <tvignaud@mandriva.com> - kill re-definition of %%buildroot on Pixel's request * Sun Dec 16 2007 Anssi Hannula <anssi@mandriva.org> 3.0-1.4.4mdv2008.1 + Revision: 121059 - buildrequire java-rpmbuild, i.e. build with icedtea on x86(_64) * Sat Sep 15 2007 Anssi Hannula <anssi@mandriva.org> 3.0-1.4.3mdv2008.0 + Revision: 87309 - remove unnecessary Requires(post) on java-gcj-compat * Sat Sep 15 2007 Anssi Hannula <anssi@mandriva.org> 3.0-1.4.2mdv2008.0 + Revision: 87288 - rebuild to filter out autorequires of GCJ AOT objects * Wed Sep 12 2007 David Walluck <walluck@mandriva.org> 3.0-1.4.1mdv2008.0 + Revision: 84830 - sync with fc * Fri Aug 31 2007 David Walluck <walluck@mandriva.org> 3.0-1.1.2mdv2008.0 + Revision: 77163 - rebuild * Mon Aug 27 2007 David Walluck <walluck@mandriva.org> 3.0-1.1.1mdv2008.0 + Revision: 71707 - disable maven tests to fix build - fix buildroot - Import xmlrpc3 * Fri Mar 16 2007 Andrew Overholt <overholt@redhat.com> 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 <dbhole@redhat.com> 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 <vivekl@redhat.com> - 0:2.0.1-3jpp.1 - Merge with latest from JPP. * Sat Jul 22 2006 Jakub Jelinek <jakub@redhat.com> - 0:2.0.1-1jpp_8.2fc - Rebuilt * Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 0:2.0.1-1jpp_8.1fc - rebuild * Wed Mar 8 2006 Rafael Schloming <rafaels@redhat.com> - 0:2.0.1-1jpp_7fc - excluded s390 due to eclipse * Mon Mar 6 2006 Jeremy Katz <katzj@redhat.com> - 0:2.0.1-1jpp_6fc - stop scriptlet spew * Fri Feb 24 2006 Igor Foox <ifoox@redhat.com> - 0:2.0.1-1jpp_5fc - Added post/postun dependency on coreutils. * Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 0:2.0.1-1jpp_4fc - bump again for double-long bug on ppc(64) * Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 0:2.0.1-1jpp_3fc - rebuilt for new gcc4.1 snapshot and glibc changes * Wed Jan 25 2006 Igor Foox <ifoox@redhat.com> 0:2.0.1-1jpp_2fc - ExcludeArch s390x and ppc64 * Wed Jan 18 2006 Andrew Overholt <overholt@redhat.com> 0:2.0.1-1jpp_2fc - Comment out JPackage Distribution and Vendor tags * Wed Jan 18 2006 Jesse Keating <jkeating@redhat.com> 0:2.0.1-1jpp_2fc - bump for test * Wed Jan 18 2006 Igor Foox <ifoox@redhat.com> 0:2.0.1-1jpp_1fc - Update to version 2.0.1 - Natively compile * Thu Aug 26 2004 Ralph Apel <r.apel at r-apel.de> 0:1.2-0.b1.3jpp - Build with ant-1.6.2 * Thu Apr 29 2004 David Walluck <david@jpackage.org> 0:1.2-0.b1.2jpp - add jar symlinks - remove %%buildroot in %%install * Tue May 06 2003 David Walluck <david@anti-microsoft.org> 0:1.2-0.b1.1jpp - 1.2-b1 - update for JPackage 1.5 * Mon Mar 18 2002 Guillaume Rousse <guillomovitch@users.sourceforge.net> 1.1-1jpp - 1.1 - generic servlet support - used source release - dropped patch - added applet jar * Mon Jan 21 2002 Guillaume Rousse <guillomovitch@users.sourceforge.net> 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 <guillomovitch@users.sourceforge.net> 1.0-2jpp - javadoc into javadoc package * Sat Nov 3 2001 Guillaume Rousse <guillomovitch@users.sourceforge.net> 1.0-1jpp - first JPackage release