%define name castor %define version 0.9.5 %define release %mkrel 1.1 %define section free Summary: An open source data binding framework for Java Name: %{name} Version: %{version} Release: %{release} Epoch: 0 Group: Development/Java License: Exolab Software License URL: http://castor.exolab.org/ Source0: castor-0.9.5-src-RHCLEAN.tar.bz2 Patch0: example-servletapi4.patch.bz2 Patch1: example-servletapi5.patch.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root Requires: adaptx Requires: jdbc-stdext Requires: jndi Requires: jta Requires: ldapjdk Requires: oro Requires: regexp Requires: xerces-j2 BuildRequires: adaptx BuildRequires: ant BuildRequires: jdbc-stdext BuildRequires: jndi BuildRequires: jpackage-utils >= 0:1.5.16 BuildRequires: jta BuildRequires: ldapjdk BuildRequires: oro BuildRequires: regexp BuildRequires: xerces-j2 %description Castor is an open source data binding framework for Java. It's basically the shortest path between Java objects, XML documents and SQL tables. Castor provides Java to XML binding, Java to SQL persistence, and then some more. %package demo Group: Development/Java Summary: Demo for %{name} Requires: %{name} = %{epoch}:%{version}-%{release} Requires: servletapi5 BuildRequires: servletapi5 %description demo Demonstrations and samples for %{name}. %package test Group: Development/Java Summary: Tests for %{name} Requires: %{name} = %{epoch}:%{version}-%{release} Requires: junit BuildRequires: junit %description test Tests for %{name}. %package xml Group: Development/Java Summary: XML support for %{name} Requires: %{name} = %{epoch}:%{version}-%{release} %description xml XML support for Castor. %package javadoc Group: Development/Java Summary: Javadoc for %{name} %description javadoc Javadoc for %{name}. %package doc Summary: Documentation for %{name} Group: Development/Java %description doc Documentation for %{name}. %prep %setup -q find . -name "*.jar" -exec rm -f {} \; find . -name "*.class" -exec rm -f {} \; perl -p -i -e 's|org.apache.xerces.utils.regex|org.apache.xerces.impl.xpath.regex|g;' \ src/main/org/exolab/castor/util/XercesRegExpEvaluator.java find . -name "*.java" -exec perl -p -i -e 's|assert\(|assertTrue\(|g;' {} \; find . -name "*.java" -exec perl -p -i -e 's|_test.name\(\)|_test.getName\(\)|g;' {} \; find src/doc -name "*.xml" -exec perl -p -i -e 's|\222|’|g;' {} \; %patch0 %patch1 %build export CLASSPATH=$(build-classpath adaptx jdbc-stdext jndi jta junit ldapjdk oro regexp servletapi5 xerces-j2) %ant -buildfile src/build.xml jar %ant -buildfile src/build.xml examples %ant -buildfile src/build.xml CTFjar %ant -buildfile src/build.xml javadoc %install rm -rf $RPM_BUILD_ROOT # jar install -d -m 755 $RPM_BUILD_ROOT%{_javadir} install -m 644 dist/%{name}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar install -m 644 dist/%{name}-%{version}-xml.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-xml-%{version}.jar install -m 644 dist/CTF-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-tests-%{version}.jar (cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}.jar; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done) # examples (demo) install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/examples cp -pr build/examples/* $RPM_BUILD_ROOT%{_datadir}/%{name}/examples # javadoc install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} cp -pr build/doc/javadoc/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} # do this last, since it will delete all build directories export CLASSPATH=$(build-classpath adaptx) %ant -buildfile src/build.xml doc # like magic %jpackage_script org.exolab.castor.builder.SourceGenerator %{nil} %{nil} xerces-j2:%{name} %{name} %{__perl} -pi -e 's/\r$/\n/g' src/etc/{CHANGELOG,LICENSE,README} \ build/doc/*.{dtd,txt,xsd} build/doc/**/*.htm %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 src/etc/{CHANGELOG,LICENSE,README} %attr(0755,root,root) %{_bindir}/%{name} %{_javadir}/%{name}-%{version}.jar %{_javadir}/%{name}.jar %dir %{_datadir}/%{name} %files demo %defattr(0644,root,root,0755) %{_datadir}/%{name}/examples %files test %defattr(0644,root,root,0755) %{_javadir}/%{name}-tests-%{version}.jar %{_javadir}/%{name}-tests.jar %files xml %defattr(0644,root,root,0755) %{_javadir}/%{name}-xml-%{version}.jar %{_javadir}/%{name}-xml.jar %files javadoc %defattr(0644,root,root,0755) %{_javadocdir}/%{name}-%{version} %files doc %defattr(0644,root,root,0755) %doc build/doc/* %changelog * Sat Sep 10 2005 David Walluck <walluck@mandriva.org> 0:0.9.5-1.1mdk - release * Thu Jun 16 2005 Gary Benson <gbenson@redhat.com> 0:0.9.5-1jpp_1fc - Build into Fedora. * Fri Jun 10 2005 Gary Benson <gbenson@redhat.com> - Remove jarfiles and classfiles from the tarball. * Thu Jun 2 2005 Gary Benson <gbenson@redhat.com> - Fix up (alleged) invalid characters in the documentation. * Fri Jul 23 2004 Fernando Nasser <fnasser@redhat.com> 0:0.9.5-1jpp_3rh - use servletapi5 instead of servletapi4 * Thu Mar 11 2004 Frank Ch. Eigler <fche@redhat.com> 0:0.9.5-1jpp_2rh - try servletapi4 instead of servletapi3 - add example-servletapi4.patch.bz2 * Thu Mar 4 2004 Frank Ch. Eigler <fche@redhat.com> 0:0.9.5-1jpp_1rh - RH vacuuming * Tue Sep 09 2003 David Walluck <david@anti-microsoft.org> 0:0.9.5-1jpp - 0.9.5 * Fri May 16 2003 Nicolas Mailhot <Nicolas.Mailhot at laPoste.net> 0:0.9.4.3-2jpp - use same lsapjdk package as tyrex * Sat May 10 2003 David Walluck <david@anti-microsoft.org> 0:0.9.4.3-1jpp - release