# 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 mainname xmlrpc
%define _with_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}}}
Name: xmlrpc3
Version: 3.0
Release: 1jpp.1%{?dist}
Summary: Java XML-RPC implementation
License: Apache Software License
Group: Development/Libraries
Url: http://xml.apache.org/%{name}/
Source0: http://www.apache.org/dist/ws/xmlrpc/sources/xmlrpc-%{version}-src.tar.gz
Source1: %{name}-jpp-depmap.xml
# FIXME: file this upstream
# The tests pom.xml doesn't include necessary dependencies on junit and
# servletapi
Patch0: %{name}-addjunitandservletapitotestpom.patch
BuildRequires: dos2unix
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-release
BuildRequires: maven2-plugin-source
BuildRequires: ws-jaxme
BuildRequires: ws-commons-util
BuildRequires: jpackage-utils >= 0:1.6
BuildRequires: servletapi5
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
%if ! %{gcj_support}
Buildarch: noarch
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%if %{gcj_support}
BuildRequires: java-gcj-compat-devel
Requires(post): java-gcj-compat
Requires(postun): java-gcj-compat
%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/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: Javadoc for %{name}
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
cp %{SOURCE1} .
%build
dos2unix LICENSE.txt
export MAVEN_REPO_LOCAL=$(pwd)/.m2/repository
mkdir -p $MAVEN_REPO_LOCAL
# 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
%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}
cp -pr target/site/apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
%if %{gcj_support}
%{_bindir}/aot-compile-rpm
%endif
%clean
rm -rf $RPM_BUILD_ROOT
%if %{gcj_support}
%post
if [ -x %{_bindir}/rebuild-gcj-db ]
then
%{_bindir}/rebuild-gcj-db
fi
%endif
%if %{gcj_support}
%postun
if [ -x %{_bindir}/rebuild-gcj-db ]
then
%{_bindir}/rebuild-gcj-db
fi
%endif
%files javadoc
%defattr(-,root,root,-)
%{_javadocdir}/*
%files common
%defattr(-,root,root,-)
%doc LICENSE.txt
%{_javadir}/%{name}-common.jar
%{_javadir}/%{name}-common-%{version}.jar
%if %{gcj_support}
%{_libdir}/gcj/%{name}/%{name}-common*
%endif
%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
%if %{gcj_support}
%{_libdir}/gcj/%{name}/%{name}-client*
%endif
%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
%if %{gcj_support}
%{_libdir}/gcj/%{name}/%{name}-server*
%endif
%files server-devel
%defattr(0644,root,root,0755)
%{_javadir}/%{name}-server-%{version}-sources.jar
%changelog
* 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