%define section free %define gcj_support 1 # If you do not want to build samples in demo subpackage because of their # runtime deps, give rpmbuild option '--without demo' %define with_demo %{!?_without_demo:1}%{?_without_demo:0} # We do not ship webwork nor jsf, which are required for the demo # One can always get the demo subpackage directly from http://jpackage.org %define with_demo 0 Name: xdoclet Version: 1.2.3 Release: %mkrel 4 Epoch: 0 Summary: XDoclet Attribute Orientated Programming Framework License: BSD-style Group: Development/Java URL: http://xdoclet.sourceforge.net/xdoclet/index.html Source0: http://ovh.dl.sourceforge.net/sourceforge/xdoclet/%{name}-src-%{version}-MDKCLEAN.tar.bz2 Source1: %{name}-modules-objectweb-4.3.tar.bz2 Patch0: xdoclet-build_xml.patch Patch1: xdoclet-XDocletModulesEjbMessages.patch Patch2: xdoclet-ant.not-required.patch Patch3: xdoclet-WebLogicSubTask.patch %if %{gcj_support} Requires(post): java-gcj-compat Requires(postun): java-gcj-compat BuildRequires: java-gcj-compat-devel %else Buildarch: noarch %endif BuildRoot: %{_tmppath}/%{name}-root BuildRequires: java-devel BuildRequires: jpackage-utils >= 0:1.6 BuildRequires: ant >= 0:1.6 # for XMLValidate BuildRequires: ant-nodeps >= 0:1.6 # for TraXLiaison BuildRequires: ant-trax >= 0:1.6 BuildRequires: junit BuildRequires: javacc BuildRequires: jrefactory BuildRequires: bsf BuildRequires: jakarta-commons-collections BuildRequires: jakarta-commons-logging BuildRequires: log4j BuildRequires: mockobjects BuildRequires: struts BuildRequires: velocity BuildRequires: xalan-j2 BuildRequires: xml-commons-apis BuildRequires: xjavadoc = 0:1.1 BuildRequires: ant-trax Requires: bsf Requires: jakarta-commons-collections Requires: jakarta-commons-logging Requires: log4j Requires: mockobjects Requires: velocity Requires: xalan-j2 Requires: xml-commons-apis Requires: xjavadoc = 0:1.1 %description This package contains the XDoclet Attribute Orientated Programming Framework %if %{with_demo} %package demo Summary: XDoclet Sample Projects Group: Development/Java BuildRequires: servletapi4 BuildRequires: struts BuildRequires: velocity BuildRequires: webwork BuildRequires: ejb BuildRequires: jsf BuildRequires: jms BuildRequires: mx4j Requires: %{name} = %{epoch}:%{version}-%{release} Requires: ejb Requires: jsf Requires: jms Requires: webwork Requires: mx4j Requires: struts Requires: servletapi4 %description demo This package contains sample XDoclet projects. %endif %package javadoc Summary: XDoclet Javadoc Group: Development/Java %description javadoc This package contains XDoclet javadoc %package manual Summary: XDoclet Sample Manuals and Documentation Group: Development/Java %description manual This package contains XDoclet documentation. %prep %setup -q # Replace JOnAS specific tasks with code blessed by ObjectWeb pushd modules mv objectweb objectweb.orig tar xjf %{SOURCE1} popd for j in xjavadoc-1.1 jrefactory javacc junit bsf commons-collections commons-logging log4j velocity xalan-j2 xalan-j2-serializer xjavadoc xml-commons-apis mockobjects-core; do ln -s $(build-classpath $j) lib/$j.jar done %if %{with_demo} for j in servletapi4 struts velocity webwork ejb jsf-api jms; do ln -s $(build-classpath $j) samples/lib/$j.jar done for j in mx4j/mx4j-jmx mx4j/mx4j-tools; do i=$(build-classpath $j) ln -s $i samples/lib/$(basename $i) done %endif %patch0 -b .sav %patch1 -b .sav %patch2 %patch3 -b .sav %build export OPT_JAR_LIST="ant/ant-nodeps ant/ant-trax" # Apparently, symlinking isn't enough to override the default export CLASSPATH=$(build-classpath xalan-j2 xalan-j2-serializer) %ant xjavadoc core modules docs l10n %if %{with_demo} %ant samples %endif %install %{__rm} -rf %{buildroot} mkdir -p $RPM_BUILD_ROOT%{_javadir}/%{name} install -m 644 target/lib/xdoclet*.jar $RPM_BUILD_ROOT%{_javadir}/%{name} (cd $RPM_BUILD_ROOT%{_javadir}/%{name} && for jar in *-%{version}.jar; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done) %if %{with_demo} mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version} cp -pr samples/* $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version} %endif mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} # FIXME: javadocs do not build #cp -pr target/docs/api/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} rm -rf target/docs/api mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} cp -p LICENSE.txt $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} cp -pr target/docs/* $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} # ghost symlink %if %{gcj_support} %{_bindir}/aot-compile-rpm %endif %clean rm -rf $RPM_BUILD_ROOT %if %{gcj_support} %post %{update_gcjdb} %postun %{clean_gcjdb} %endif %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(-, root, root, -) %{_javadir}/%{name} %if %{gcj_support} %dir %{_libdir}/gcj/%{name} %attr(-,root,root) %{_libdir}/gcj/%{name}/* %endif #%doc %{_docdir}/%{name}-%{version}/LICENSE.txt %if %{with_demo} %files demo %defattr(-, root, root, -) %{_datadir}/%{name}-%{version} %endif %files javadoc %defattr(-, root, root, -) %doc %{_javadocdir}/%{name}-%{version} %ghost %doc %{_javadocdir}/%{name} %files manual %defattr(-, root, root, -) %doc %{_docdir}/%{name}-%{version} %changelog * Sat Dec 16 2006 David Walluck <walluck@mandriva.org> 1.2.3-4mdv2007.0 + Revision: 98108 - rebuild - rebuild - Import xdoclet * Wed Aug 16 2006 David Walluck <walluck@mandriva.org> 0:1.2.3-3mdv2007.0 - add xalan-j2-serializer to CLASSPATH - fix macro in changelog * Sat Jun 03 2006 David Walluck <walluck@mandriva.org> 0:1.2.3-2mdv2007.0 - rebuild for libgcj.so.7 * Wed Nov 02 2005 David Walluck <walluck@mandriva.org> 0:1.2.2-2.2mdk - BuildRequires: ant-nodeps, ant-trax * Sat Sep 10 2005 David Walluck <walluck@mandriva.org> 0:1.2.2-2.1mdk - release * Wed Jun 15 2005 Gary Benson <gbenson@redhat.com> - 0:1.2.2-2jpp_1fc - Add missing javadoc %%ghost symlink. - Build into Fedora. * Thu Jun 9 2005 Gary Benson <gbenson@redhat.com> - Remove jarfiles and classfiles from the tarball. * Tue Jun 7 2005 Gary Benson <gbenson@redhat.com> - Don't build maven stuff. - Add missing dependency on ant-trax. * Wed May 04 2005 Fernando Nasser <fnasser@redhat.com> - 0:1.2.2-2jpp_1rh - Equivalent to 2jpp upstream * Thu Apr 28 2005 Fernando Nasser <fnasser@redhat.com> - 0:1.2.2-1jpp_7rh - Rebuild with the docs as maven is now available - Fix patch to correct xjavadoc building logic - Don't try and build twice * Fri Feb 25 2005 Fernando Nasser <fnasser@redhat.com> - 0:1.2.2-1jpp_4rh - Remove extra file from objectweb module * Fri Feb 25 2005 Fernando Nasser <fnasser@redhat.com> - 0:1.2.2-1jpp_3rh - Do not save copies of the java files when patching. * Thu Feb 24 2005 Fernando Nasser <fnasser@redhat.com> - 0:1.2.2-1jpp_2rh - Replace JOnAS specific tasks with code blessed by ObjectWeb * Wed Feb 16 2005 Fernando Nasser <fnasser@redhat.com> - 0:1.2.2-1jpp_1rh - Merge with upstream for upgrade - Add patch to prevent attempt to load DTD from the net, when it comes with the source and is locally available - Temporarely disable documentation and mave plugin building for lack of maven * Tue Feb 15 2005 Ralph Apel <r.apel at r-apel.de> - 0:1.2.2-1jpp - Upgrade to 1.2.2 - Add jsf requirement for demo - Drop jndi requirement for demo - Drop servletapi and mx4j requirement for main package - Buildrequire maven and use it to build docs * Thu Oct 14 2004 Fernando Nasser <fnasser@redhat.com> - 0:1.2.1-2jpp_1rh * First Red Hat build * Thu Aug 26 2004 Ralph Apel <r.apel at r-apel.de> - 0:1.2.1-2jpp - Build with ant-1.6.2 * Fri Jul 02 2004 Ralph Apel <r.apel at r-apel.de> - 0:1.2.1-1jpp - Upgrade to 1.2.1 - Relax build-time dependencies - Relax dependency versions - Make subpackage xdoclet-demo optional * Fri Mar 05 2004 Ralph Apel <r.apel at r-apel.de> - 0:1.2-1jpp - First JPackage release.