%define name axis
%define version 1.2
%define archivever 1_2
%define release 1jpp_1fc
%define section free
Name: %{name}
Version: %{version}
Release: %{release}
Epoch: 0
Summary: A SOAP implementation in Java
License: Apache Software License
Group: Development/Libraries/Java
Url: http://ws.apache.org/%{name}/
Source0: %{name}-src-%{archivever}-RHCLEAN.tar.bz2
Patch1: %{name}-bz152255.patch
Patch2: %{name}-imageio.patch
Patch3: %{name}-objectweb.patch
BuildRequires: jpackage-utils >= 0:1.5
BuildRequires: java-devel
BuildRequires: ant >= 0:1.6
BuildRequires: ant-nodeps
# Mandatory requires
BuildRequires: jaf
BuildRequires: jakarta-commons-discovery
BuildRequires: jakarta-commons-httpclient
BuildRequires: jakarta-commons-logging
BuildRequires: javamail
BuildRequires: log4j
BuildRequires: servletapi5
BuildRequires: wsdl4j
BuildRequires: jacorb
BuildRequires: jonathan-rmi
# optional requires
BuildRequires: jsse
BuildRequires: junit
BuildRequires: oro
BuildRequires: jms
BuildRequires: castor
#BuildRequires: xml-security
Requires: java
Requires: jpackage-utils >= 0:1.5
Requires: jaf
Requires: jakarta-commons-discovery
Requires: jakarta-commons-logging
Requires: jakarta-commons-httpclient
Requires: javamail
Requires: log4j
Requires: wsdl4j
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
%description
Apache AXIS is an implementation of the SOAP ("Simple Object Access Protocol")
submission to W3C.
From the draft W3C specification:
SOAP is a lightweight protocol for exchange of information in a decentralized,
distributed environment. It is an XML based protocol that consists of three
parts: an envelope that defines a framework for describing what is in a message
and how to process it, a set of encoding rules for expressing instances of
application-defined datatypes, and a convention for representing remote
procedure calls and responses.
This project is a follow-on to the Apache SOAP project.
%package javadoc
Summary: Javadoc for %{name}
Group: Development/Libraries/Java
%description javadoc
Javadoc for %{name}.
%package manual
Summary: Manual for %{name}
Group: Development/Libraries/Java
%description manual
Documentation for %{name}.
%prep
rm -rf $RPM_BUILD_ROOT
%setup -q -n %{name}-%{archivever}
%patch1 -p1 -b .orig
%patch2 -p1 -b .orig
%patch3 -p1 -b .orig
# Remove provided binaries
find . -name "*.jar" -exec rm -f {} \;
find . -name "*.zip" -exec rm -f {} \;
find . -name "*.class" -exec rm -f {} \;
%build
[ -z "$JAVA_HOME" ] && export JAVA_HOME=%{_jvmdir}/java
CLASSPATH=$(build-classpath wsdl4j jakarta-commons-discovery jakarta-commons-httpclient jakarta-commons-logging log4j jaf javamail/mailapi servletapi5)
CLASSPATH=$CLASSPATH:$(build-classpath jacorb/jacorb jonathan-rmi)
export CLASSPATH=$CLASSPATH:$(build-classpath oro junit jimi xml-security jsse httpunit jms castor 2>/dev/null)
ulimit -n 2048
ant -Dcompile.ime=true \
-Dwsdl4j.jar=$(build-classpath wsdl4j) \
-Dcommons-discovery.jar=$(build-classpath jakarta-commons-discovery) \
-Dcommons-logging.jar=$(build-classpath jakarta-commons-logging) \
-Dcommons-httpclient.jar=$(build-classpath jakarta-commons-httpclient) \
-Dlog4j-core.jar=$(build-classpath log4j) \
-Dactivation.jar=$(build-classpath jaf) \
-Dmailapi.jar=$(build-classpath javamail/mailapi) \
-Dxerces.jar=$(build-classpath jaxp_parser_impl) \
-Dservlet.jar=$(build-classpath servletapi5) \
-Dregexp.jar=$(build-classpath oro 2>/dev/null) \
-Djunit.jar=$(build-classpath junit 2>/dev/null) \
-Djimi.jar=$(build-classpath jimi 2>/dev/null) \
-Djsse.jar=$(build-classpath jsse/jsse 2>/dev/null) \
clean compile javadocs
%install
### Jar files
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}/%{name}
pushd build/lib
install -m 644 axis.jar axis-ant.jar saaj.jar jaxrpc.jar \
$RPM_BUILD_ROOT%{_javadir}/%{name}
popd
pushd $RPM_BUILD_ROOT%{_javadir}/%{name}
for jar in *.jar ; do
vjar=$(echo $jar | sed s+.jar+-%{version}.jar+g)
mv $jar $vjar
ln -fs $vjar $jar
done
popd
### Javadoc
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
cp -pr build/javadocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
pushd docs
rm -fr apiDocs
ln -fs %{_javadocdir}/%{name} apiDocs
popd
%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 LICENSE README release-notes.html changelog.html
%dir %{_javadir}/%{name}
%{_javadir}/%{name}/*.jar
%files javadoc
%defattr(0644,root,root,0755)
%dir %{_javadocdir}/%{name}-%{version}
%{_javadocdir}/%{name}-%{version}/*
%files manual
%defattr(0644,root,root,0755)
%doc docs/*
%changelog
* Fri Jun 17 2005 Gary Benson <gbenson@redhat.com> 0:1.2-1jpp_1fc
- Avoid file descriptor leak with big ulimit.
- Build into Fedora.
* Mon Jun 13 2005 Gary Benson <gbenson@redhat.com>
- Add ObjectWeb's patch.
* Fri Jun 10 2005 Gary Benson <gbenson@redhat.com>
- Remove jarfiles from the tarball.
* Tue Jun 7 2005 Gary Benson <gbenson@redhat.com>
- Add DOM3 stubs to classes that need them (#152255).
- Avoid some API holes in libgcj's ImageIO implementation.
- Pick up CORBA and javax.rmi classes from jacorb and jonathan-rmi.
* Wed May 04 2005 Fernando Nasser <fnasser@redhat.com> 0:1.2-1jpp_1rh
- Merge with upstream for upgrade
* Wed May 04 2005 Fernando Nasser <fnasser@redhat.com> 0:1.2-1jpp
- Finaly 1.2 final release
* Sat Mar 12 2005 Ralph Apel <r.apel at r-apel.de> 0:1.2-0.rc2.3jpp
- Also Buildrequire ant-nodeps
* Fri Mar 11 2005 Ralph Apel <r.apel at r-apel.de> 0:1.2-0.rc2.2jpp
- Set OPT_JAR_LIST to "ant/ant-nodeps"
- Buildrequire ant >= 1.6
* Wed Dec 22 2004 Fernando Nasser <fnasser@redhat.com> 0:1.2-0.rc2.1jpp_1rh
- Merge with upstream for upgrade
* Wed Dec 22 2004 Fernando Nasser <fnasser@redhat.com> 0:1.2-0.rc2.1jpp
- Upgrade to 1.2.rc2
* Fri Aug 20 2004 Ralph Apel <r.apel at r-apel.de> 0:1.1-3jpp
- Build with ant-1.6.2
* Thu Mar 4 2004 Frank Ch. Eigler <fche@redhat.com> 0:1.1-2jpp_1rh
- RH vacuuming
* Thu Jun 26 2003 Nicolas Mailhot <Nicolas.Mailhot at laPoste.net> 0:1.1-2jpp
- fix javadoc versionning
* Thu Jun 26 2003 Nicolas Mailhot <Nicolas.Mailhot at laPoste.net> 0:1.1-1jpp
- Initial packaging
- no xml security for now since xml-security is not packaged yet
- functional tests not executed yet - seems they need some setup and do not
run out of the box
- no webapp right now - file layout is too messy if hidden into a war file
since jpp installs webapps expanded, this matters