From f6e89d0cd9c0afbe4cedfb7f3af6c83edad6506f Mon Sep 17 00:00:00 2001 From: Ruediger Landmann Date: Thu, 10 Mar 2011 15:58:05 +1000 Subject: [PATCH 1/3] =?UTF-8?q?*=20Thu=20Mar=2010=202011=20R=C3=BCdiger=20?= =?UTF-8?q?Landmann=20=201.0-13=20-=20reinstate=20u?= =?UTF-8?q?pdated=20manifest=20patch=20-=20change=20define=20to=20global?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + batik-pdf-MANIFEST.MF | 28 ----- fop-manifest.patch | 27 ++--- fop.script | 3 - fop.spec | 236 ++++++++++++++++++++++++------------------ sources | 2 +- 6 files changed, 153 insertions(+), 144 deletions(-) delete mode 100644 batik-pdf-MANIFEST.MF diff --git a/.gitignore b/.gitignore index 71ee9dc..afa5e11 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ fop-0.95-src.tar.gz +/fop-1.0-src.tar.gz diff --git a/batik-pdf-MANIFEST.MF b/batik-pdf-MANIFEST.MF deleted file mode 100644 index 15c910d..0000000 --- a/batik-pdf-MANIFEST.MF +++ /dev/null @@ -1,28 +0,0 @@ -Manifest-Version: 1.0 -Main-Class: org.apache.fop.cli.Main -Bundle-RequiredExecutionEnvironment: J2SE-1.4 -Bundle-SymbolicName: org.apache.batik.pdf -Import-Package: org.apache.batik.bridge;version="[1.6.0,1.7.0)",org.ap - ache.batik.dom.svg;version="[1.6.0,1.7.0)",org.apache.batik.dom.util; - version="[1.6.0,1.7.0)",org.apache.batik.ext.awt;version="[1.6.0,1.7. - 0)",org.apache.batik.ext.awt.g2d;version="[1.6.0,1.7.0)",org.apache.b - atik.gvt;version="[1.6.0,1.7.0)",org.apache.batik.gvt.renderer;versio - n="[1.6.0,1.7.0)",org.apache.batik.gvt.text;version="[1.6.0,1.7.0)",o - rg.apache.batik.transcoder;version="[1.6.0,1.7.0)",org.apache.batik.t - ranscoder.image;version="[1.6.0,1.7.0)",org.apache.batik.transcoder.k - eys;version="[1.6.0,1.7.0)",org.apache.batik.util;version="[1.6.0,1.7 - .0)",org.w3c.dom -Bundle-ManifestVersion: 2 -Bundle-Name: %Bundle-Name -Bundle-Localization: plugin -Bundle-Version: 1.6.0.v200806031500 -Bundle-Vendor: %Bundle-Vendor -Export-Package: org.apache.avalon.framework,org.apache.avalon.framewor - k.activity,org.apache.avalon.framework.configuration,org.apache.avalo - n.framework.container,org.apache.commons.io,org.apache.commons.io.out - put,org.apache.commons.logging,org.apache.commons.logging.impl,org.ap - ache.fop.apps,org.apache.fop.fo,org.apache.fop.fonts,org.apache.fop.f - onts.apps,org.apache.fop.fonts.base14,org.apache.fop.fonts.truetype,o - rg.apache.fop.fonts.type1,org.apache.fop.image,org.apache.fop.image.a - nalyser,org.apache.fop.pdf,org.apache.fop.render.pdf,org.apache.fop.r - ender.ps,org.apache.fop.svg,org.apache.fop.util diff --git a/fop-manifest.patch b/fop-manifest.patch index 7208469..d1e23a9 100644 --- a/fop-manifest.patch +++ b/fop-manifest.patch @@ -1,22 +1,25 @@ -diff -uN fop-0.94/build.xml fop-0.94-mod/build.xml ---- fop-0.94/build.xml 2007-08-18 19:56:46.000000000 -0400 -+++ fop-0.94-mod/build.xml 2007-09-17 16:41:01.000000000 -0400 -@@ -502,10 +502,10 @@ - +diff -uN fop-1.0/build.xml fop-1.0-mod/build.xml +--- fop-1.0/build.xml 2010-07-13 05:34:37.000000000 +1000 ++++ fop-1.0-mod/build.xml 2011-03-10 14:42:17.000000000 +1000 +@@ -517,10 +517,10 @@ + + - - + ++ basedir="${build.classes.dir}" ++ manifest="${basedir}/fop.mf"> - - - +
---- fop-0.94/fopmf.old 2007-11-23 10:53:31.000000000 -0500 -+++ fop-0.94/fop.mf 2007-11-23 10:53:18.000000000 -0500 -@@ -0,0 +1,2 @@ + +--- fop-1.0/fop.mf 2011-03-10 14:53:21.000000000 +1000 ++++ fop-1.0-mod/fop.mf 2011-03-10 14:53:21.000000000 +1000 +@@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: org.apache.fop.cli.Main ++ + diff --git a/fop.script b/fop.script index 65282de..2da49be 100644 --- a/fop.script +++ b/fop.script @@ -30,8 +30,5 @@ set_classpath commons-io batik-all avalon-framework xmlgraphics-commons \ set_flags $BASE_FLAGS set_options $BASE_OPTIONS - -export CLASSPATH=$CLASSPATH:/usr/share/java/xml-commons-apis-ext.jar - # Let's start run "$@" diff --git a/fop.spec b/fop.spec index 770ed77..3b81886 100644 --- a/fop.spec +++ b/fop.spec @@ -1,35 +1,33 @@ -Summary: XSL-driven print formatter -Name: fop -Version: 0.95 -Release: 6%{?dist} -License: ASL 2.0 -Group: Applications/Text -Source0: http://www.apache.org/dist/xmlgraphics/fop/source/%{name}-%{version}-src.tar.gz -Source1: %{name}.script -Source2: batik-pdf-MANIFEST.MF -Patch0: %{name}-manifest.patch -Patch1: %{name}-main.patch -URL: http://xmlgraphics.apache.org/fop +%global gcj_support 0 -Requires: xmlgraphics-commons >= 1.2 -Requires: avalon-framework >= 4.1.4 -Requires: batik >= 1.7 -Requires: xalan-j2 >= 2.7.0 -Requires: xml-commons-apis >= 1.3.04 -Requires: jakarta-commons-httpclient -Requires: jakarta-commons-io >= 1.2 -Requires: jakarta-commons-logging >= 1.0.4 +Summary: XSL-driven print formatter +Name: fop +Version: 1.0 +Release: 13%{?dist} +License: ASL 2.0 +Group: Applications/Text +URL: http://xmlgraphics.apache.org/fop +Source0: http://www.apache.org/dist/xmlgraphics/fop/source/%{name}-%{version}-src.tar.gz +Source1: %{name}.script +Patch0: %{name}-manifest.patch +Patch1: %{name}-main.patch +BuildArch: noarch +Requires: xmlgraphics-commons >= 1.2 +Requires: avalon-framework >= 4.1.4 +Requires: batik >= 1.7 +Requires: xalan-j2 >= 2.7.0 +Requires: xml-commons-apis >= 1.3.04 +Requires: jakarta-commons-httpclient +Requires: jakarta-commons-io >= 1.2 +Requires: jakarta-commons-logging >= 1.0.4 Requires: java-1.6.0-openjdk - -Requires(post): jpackage-utils -Requires(postun): jpackage-utils - -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: ant -BuildRequires: ant-trax +Requires: jpackage-utils +BuildRequires: ant +BuildRequires: ant-trax BuildRequires: java-1.6.0-openjdk-devel BuildRequires: java-1.6.0-openjdk-javadoc -BuildArch: noarch +BuildRequires: jpackage-utils +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot %description FOP is the world's first print formatter driven by XSL formatting @@ -39,129 +37,166 @@ be in the form of an XML document (output by an XSLT engine like XT or Xalan) or can be passed in memory as a DOM Document or (in the case of XT) SAX events. -%package javadoc -Summary: Javadoc for %{name} -Group: Documentation +%package javadoc +Summary: Javadoc for %{name} +Group: Development/Java %description javadoc Javadoc for %{name}. - %prep %setup -q %patch0 -p1 %patch1 -p0 %build -export ANT_HOME=/usr/share/ant -export JAVA_HOME=/usr/lib/jvm/java-openjdk -export CLASSPATH=$CLASSPATH:/usr/share/java/ant/ant-trax-1.7.0.jar -export CLASSPATH=$CLASSPATH:/usr/share/java/xmlgraphics-commons.jar -export CLASSPATH=$CLASSPATH:/usr/share/java/batik-all.jar -export CLASSPATH=$CLASSPATH:/usr/share/java/xml-commons-apis.jar -export CLASSPATH=$CLASSPATH:/usr/share/java/xml-commons-apis-ext.jar -ant clean jar-main transcoder-pkg javadocs +export JAVA_HOME=%{java_home} +export CLASSPATH= +export OPT_JAR_LIST="`%{__cat} %{_sysconfdir}/ant.d/trax`" + +%ant clean jar-main transcoder-pkg javadocs %install -rm -rf $RPM_BUILD_ROOT -# inject OSGi manifests -mkdir -p META-INF -cp -p %{SOURCE2} META-INF/MANIFEST.MF -touch META-INF/MANIFEST.MF -zip -u build/%{name}.jar META-INF/MANIFEST.MF +rm -rf %{buildroot} # jars -mkdir -p $RPM_BUILD_ROOT%{_javadir} -cp -p build/%{name}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar -cp -p build/%{name}-transcoder.jar $RPM_BUILD_ROOT%{_javadir}/pdf-transcoder.jar -pushd $RPM_BUILD_ROOT%{_javadir} +mkdir -p %{buildroot}%{_javadir} +cp -a build/%{name}.jar %{buildroot}%{_javadir}/%{name}-%{version}.jar +cp -a build/%{name}-transcoder.jar %{buildroot}%{_javadir}/pdf-transcoder.jar +pushd %{buildroot}%{_javadir} for jar in *-%{version}* -do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"` +do ln -s ${jar} `echo $jar| sed "s|-%{version}||g"` done popd # script -mkdir -p $RPM_BUILD_ROOT%{_bindir} -cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/fop +mkdir -p %{buildroot}%{_bindir} +cp -a %{SOURCE1} %{buildroot}%{_bindir}/fop # data -mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name} -cp -pr conf $RPM_BUILD_ROOT%{_datadir}/%{name} +mkdir -p %{buildroot}%{_datadir}/%{name} +cp -a conf %{buildroot}%{_datadir}/%{name} # javadoc -mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} -cp -pr build/javadocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} -ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} +mkdir -p %{buildroot}%{_javadocdir}/%{name}-%{version} +cp -a build/javadocs/* %{buildroot}%{_javadocdir}/%{name}-%{version} +ln -s %{name}-%{version} %{buildroot}%{_javadocdir}/%{name} -%add_to_maven_depmap org.apache.xmlgraphics %{name} %{version} JPP %{name} %{version} +%if %{gcj_support} +%{_bindir}/aot-compile-rpm +%endif %clean -rm -rf $RPM_BUILD_ROOT +rm -rf %{buildroot} +%if %{gcj_support} %post -%update_maven_depmap +%{update_gcjdb} %postun -%update_maven_depmap - +%{clean_gcjdb} +%endif %files -%defattr(-,root,root,-) +%defattr(-,root,root) %doc LICENSE README NOTICE %{_javadir}/%{name}*.jar %{_datadir}/%{name} %{_javadir}/pdf-transcoder.jar -%{_mavendepmapfragdir}/* %attr(0755,root,root) %{_bindir}/fop - +%if %{gcj_support} +%dir %{_libdir}/gcj/%{name} +%{_libdir}/gcj/%{name}/* +%endif %files javadoc -%defattr(-,root,root,-) +%defattr(-,root,root) %doc %{_javadocdir}/%{name}-%{version} %doc %{_javadocdir}/%{name} %changelog -* Mon May 31 2010 Ville Skyttä - 0.95-6 -- Fix specfile encoding. +* Thu Mar 10 2011 Rüdiger Landmann 1.0-13 +- reinstate updated manifest patch +- change define to global -* Thu Mar 25 2010 Mary Ellen Foster - 0.95-5 -- Add maven depmap fragment -- Add dist to version +* Thu Mar 10 2011 Rüdiger Landmann 1.0-12 +- buildarch: noarch -* Fri Jul 24 2009 Fedora Release Engineering - 0.95-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild +* Thu Mar 10 2011 Rüdiger Landmann 1.0-11 +- drop obsolete manifest patch -* Tue Feb 24 2009 Fedora Release Engineering - 0.95-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild +* Wed Mar 10 2011 Rüdiger Landmann 1.0-10 +- import 1.0 into Fedora, based on Mandriva package -* Fri Feb 6 2009 Alexander Kurtakov 0.95-2 -- Add OSGi manifest (needed for eclipse-birt). +* Tue Feb 08 2011 Fedora Release Engineering - 1.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild -* Thu Dec 18 2008 Lubomir Rintel - 0.95-1 -- New upstream release +* Tue Jan 4 2011 Rüdiger Landmann - 1.0-8 +- BR qdox -* Wed Apr 2 2008 Lillian Angel - 0.95.0.2.beta1 -- Updated release. +* Tue Jan 4 2011 Rüdiger Landmann - 1.0-7 +- set BR on xmlgraphics-commons >= 1.4 +- Add qdox classpath -* Tue Apr 1 2008 Lillian Angel - 0.95.0.1.beta1 -- Added CLASSPATH to fop.script. +* Thu Dec 09 2010 Paulo Ricardo Zanoni 1.0-0.0.3mdv2011.0 +- Revision: 617684 +- Resubmit after moving -* Mon Mar 31 2008 Lillian Angel - 0.95.0.1.beta1 -- Updated sources to 0.95 beta. -- Updated patches. -- Updated release. +* Fri Dec 3 2010 Stanislav Ochotnicky - 1.0-6 +- Add LICENSE to javadoc sub-package +- Few other tweaks according to new guidelines +- Make jars and javadoc versionless +- Add pom file (Resolves rhbz#655804) -* Mon Mar 31 2008 Lillian Angel - 0.94.4 -- Updated CLASSPATH. -- Updated release. +* Fri Oct 1 2010 Alexander Kurtakov 1.0-5 +- We need servlet not jsp. -* Mon Mar 31 2008 Lillian Angel - 0.94.3 -- Fixed JAVA_HOME to point to openjdk, instead of icedtea. +* Fri Oct 1 2010 Alexander Kurtakov 1.0-4 +- BR jsp. + +* Fri Oct 1 2010 Alexander Kurtakov 1.0-3 +- Add more BRs. + +* Fri Oct 1 2010 Alexander Kurtakov 1.0-2 +- BR ant-nodeps. + +* Fri Oct 1 2010 Alexander Kurtakov 1.0-1 +- Update to 1.0. +- BR/R java 1.6.0 not openjdk (rhbz#620330). +- Remove jars in prep. + +* Sat Sep 04 2010 Tomasz Pawel Gajc 1.0-0.0.2mdv2011.0 +- Revision: 576002 +- rebuild for new xmlgraphics-commons + +* Sun Aug 29 2010 Tomasz Pawel Gajc 1.0-0.0.1mdv2011.0 +- Revision: 574030 +- update to new version 1.0 +- disable patch 1 +- disable gcj support + +* Thu Apr 29 2010 Tomasz Pawel Gajc 0.95-0.0.3mdv2010.1 +- Revision: 540954 +- rebuild + +* Fri Sep 11 2009 Thierry Vignaud 0.95-0.0.2mdv2010.0 +- Revision: 437573 +- rebuild + +* Wed Dec 17 2008 Tomasz Pawel Gajc 0.95-0.0.1mdv2009.1 +- Revision: 315376 +- update to new version 0.95 +- drop patch0, not needed anymore +- spec file clean +- drop useles buildrequires +- use %%java_home + +* Sat Dec 29 2007 David Walluck 0.94-0.2.1mdv2008.1 +- Revision: 139372 +- spec cleanup +- import fop -* Mon Mar 31 2008 Lillian Angel - 0.94.3 -- Updated build requirements and requirements to include java-1.6.0-openjdk. -- Updated release. * Fri Dec 7 2007 Lillian Angel - 0.94-2 - Updated Release. @@ -199,7 +234,7 @@ rm -rf $RPM_BUILD_ROOT * Tue Jun 01 2004 Randy Watler - 0:0.20.5-4jpp - Upgrade to Ant 1.6.X -* Thu Jan 8 2004 Ville Skyttä - 0:0.20.5-3jpp +* Thu Jan 8 2004 Ville Skyttä - 0:0.20.5-3jpp - BuildRequires ant-optional. - Crosslink with full J2SE javadocs instead of just JAXP/XML-commons. - Add Main-Class back to manifest. @@ -209,17 +244,17 @@ rm -rf $RPM_BUILD_ROOT - Remove class path in manifest - New javadoc style -* Sat Jul 19 2003 Ville Skyttä - 0:0.20.5-1jpp +* Sat Jul 19 2003 Ville Skyttä - 0:0.20.5-1jpp - Update to 0.20.5. - Crosslink with xml-commons-apis and batik javadocs. - BuildRequires jai, jce and jimi. -* Sat Jun 7 2003 Ville Skyttä - 0:0.20.5-0.rc3a.1jpp +* Sat Jun 7 2003 Ville Skyttä - 0:0.20.5-0.rc3a.1jpp - Update to 0.20.5rc3a. - Include fop script. - Non-versioned javadoc symlinks. -* Thu Apr 17 2003 Ville Skyttä - 0:0.20.5-0.rc2.1jpp +* Thu Apr 17 2003 Ville Skyttä - 0:0.20.5-0.rc2.1jpp - Update to 0.20.5rc2 and JPackage 1.5. * Sun Mar 10 2002 Guillaume Rousse 0.20.3-1jpp @@ -237,3 +272,4 @@ rm -rf $RPM_BUILD_ROOT * Thu Aug 30 2001 Guillaume Rousse 0.20.1-1mdk - first release + diff --git a/sources b/sources index 9da02a2..49c53ca 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -58593e6c86be17d7dc03c829630fd152 fop-0.95-src.tar.gz +95dcc4c2dd08b4bc88ce9ce1ee88c439 fop-1.0-src.tar.gz From 34b0d2484f949807663dd346aef888277367487e Mon Sep 17 00:00:00 2001 From: Ruediger Landmann Date: Fri, 11 Mar 2011 10:02:43 +1000 Subject: [PATCH 2/3] * Thu Mar 10 2011 Alexander Kurtakov 1.0-14 - Reapply Fedora guidelines. - Re-add pom.xml to unbreak Maven stack. - Re-add OSGi manifest to unbreak Eclipse stack. - Remove all bundled jars and classes and fix the build to work with our libs. --- batik-pdf-MANIFEST.MF | 28 ++++++++ fop-1.0.pom | 150 ++++++++++++++++++++++++++++++++++++++++++ fop.spec | 113 ++++++++++++++++++------------- qdox-build.patch | 80 ++++++++++++++++++++++ 4 files changed, 324 insertions(+), 47 deletions(-) create mode 100644 batik-pdf-MANIFEST.MF create mode 100644 fop-1.0.pom create mode 100644 qdox-build.patch diff --git a/batik-pdf-MANIFEST.MF b/batik-pdf-MANIFEST.MF new file mode 100644 index 0000000..15c910d --- /dev/null +++ b/batik-pdf-MANIFEST.MF @@ -0,0 +1,28 @@ +Manifest-Version: 1.0 +Main-Class: org.apache.fop.cli.Main +Bundle-RequiredExecutionEnvironment: J2SE-1.4 +Bundle-SymbolicName: org.apache.batik.pdf +Import-Package: org.apache.batik.bridge;version="[1.6.0,1.7.0)",org.ap + ache.batik.dom.svg;version="[1.6.0,1.7.0)",org.apache.batik.dom.util; + version="[1.6.0,1.7.0)",org.apache.batik.ext.awt;version="[1.6.0,1.7. + 0)",org.apache.batik.ext.awt.g2d;version="[1.6.0,1.7.0)",org.apache.b + atik.gvt;version="[1.6.0,1.7.0)",org.apache.batik.gvt.renderer;versio + n="[1.6.0,1.7.0)",org.apache.batik.gvt.text;version="[1.6.0,1.7.0)",o + rg.apache.batik.transcoder;version="[1.6.0,1.7.0)",org.apache.batik.t + ranscoder.image;version="[1.6.0,1.7.0)",org.apache.batik.transcoder.k + eys;version="[1.6.0,1.7.0)",org.apache.batik.util;version="[1.6.0,1.7 + .0)",org.w3c.dom +Bundle-ManifestVersion: 2 +Bundle-Name: %Bundle-Name +Bundle-Localization: plugin +Bundle-Version: 1.6.0.v200806031500 +Bundle-Vendor: %Bundle-Vendor +Export-Package: org.apache.avalon.framework,org.apache.avalon.framewor + k.activity,org.apache.avalon.framework.configuration,org.apache.avalo + n.framework.container,org.apache.commons.io,org.apache.commons.io.out + put,org.apache.commons.logging,org.apache.commons.logging.impl,org.ap + ache.fop.apps,org.apache.fop.fo,org.apache.fop.fonts,org.apache.fop.f + onts.apps,org.apache.fop.fonts.base14,org.apache.fop.fonts.truetype,o + rg.apache.fop.fonts.type1,org.apache.fop.image,org.apache.fop.image.a + nalyser,org.apache.fop.pdf,org.apache.fop.render.pdf,org.apache.fop.r + ender.ps,org.apache.fop.svg,org.apache.fop.util diff --git a/fop-1.0.pom b/fop-1.0.pom new file mode 100644 index 0000000..46b43c4 --- /dev/null +++ b/fop-1.0.pom @@ -0,0 +1,150 @@ + + + + + 4.0.0 + org.apache.xmlgraphics + fop + jar + Apache FOP + 1.0 + http://xmlgraphics.apache.org/fop/ + Apache FOP (Formatting Objects Processor) is the world's first print formatter driven by XSL formatting objects (XSL-FO) and the world's first output independent formatter. It is a Java application that reads a formatting object (FO) tree and renders the resulting pages to a specified output. Output formats currently supported include PDF, PCL, PS, AFP, TIFF, PNG, SVG, XML (area tree representation), Print, AWT and TXT. The primary output target is PDF. + 1999 + + + FOP Users List + fop-users-subscribe@xmlgraphics.apache.org + fop-users-unsubscribe@xmlgraphics.apache.org + http://mail-archives.apache.org/mod_mbox/xmlgraphics-fop-users/ + + + FOP Developer List + fop-dev-subscribe@xmlgraphics.apache.org + fop-dev-unsubscribe@xmlgraphics.apache.org + http://mail-archives.apache.org/mod_mbox/xmlgraphics-fop-dev/ + + + FOP Commit List + fop-commits-subscribe@xmlgraphics.apache.org + fop-commits-unsubscribe@xmlgraphics.apache.org + http://mail-archives.apache.org/mod_mbox/xmlgraphics-fop-commits/ + + + + + The Apache Software License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + repo + + + + scm:svn:http://svn.apache.org/repos/asf/xmlgraphics/fop/trunk + scm:svn:https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk + http://svn.apache.org/viewcvs.cgi/xmlgraphics/fop/trunk/?root=Apache-SVN + + + Apache Software Foundation + http://www.apache.org/ + + + + + org.apache.xmlgraphics + xmlgraphics-commons + 1.4 + + + org.apache.xmlgraphics + batik-svg-dom + 1.7 + + + org.apache.xmlgraphics + batik-bridge + 1.7 + + + org.apache.xmlgraphics + batik-awt-util + 1.7 + + + org.apache.xmlgraphics + batik-gvt + 1.7 + + + org.apache.xmlgraphics + batik-transcoder + 1.7 + + + org.apache.xmlgraphics + fop + + + + + org.apache.xmlgraphics + batik-extension + 1.7 + + + org.apache.xmlgraphics + batik-ext + 1.7 + + + + commons-logging + commons-logging + 1.0.4 + + + commons-io + commons-io + 1.3.1 + + + org.apache.avalon.framework + avalon-framework-api + 4.3.1 + + + org.apache.avalon.framework + avalon-framework-impl + 4.3.1 + + + javax.servlet + servlet-api + 2.2 + provided + + + xalan + xalan + 2.7.0 + provided + + + diff --git a/fop.spec b/fop.spec index 3b81886..bab3229 100644 --- a/fop.spec +++ b/fop.spec @@ -1,33 +1,46 @@ -%global gcj_support 0 - Summary: XSL-driven print formatter Name: fop Version: 1.0 -Release: 13%{?dist} +Release: 14%{?dist} License: ASL 2.0 Group: Applications/Text URL: http://xmlgraphics.apache.org/fop Source0: http://www.apache.org/dist/xmlgraphics/fop/source/%{name}-%{version}-src.tar.gz Source1: %{name}.script +Source2: batik-pdf-MANIFEST.MF +Source3: http://mirrors.ibiblio.org/pub/mirrors/maven2/org/apache/xmlgraphics/%{name}/%{version}/%{name}-%{version}.pom Patch0: %{name}-manifest.patch Patch1: %{name}-main.patch -BuildArch: noarch +Patch2: qdox-build.patch +BuildArch: noarch Requires: xmlgraphics-commons >= 1.2 Requires: avalon-framework >= 4.1.4 Requires: batik >= 1.7 Requires: xalan-j2 >= 2.7.0 Requires: xml-commons-apis >= 1.3.04 Requires: jakarta-commons-httpclient -Requires: jakarta-commons-io >= 1.2 -Requires: jakarta-commons-logging >= 1.0.4 -Requires: java-1.6.0-openjdk -Requires: jpackage-utils +Requires: apache-commons-io >= 1.2 +Requires: apache-commons-logging >= 1.0.4 +Requires: java >= 1:1.6.0 +Requires: jpackage-utils + +Requires(post): jpackage-utils +Requires(postun): jpackage-utils + BuildRequires: ant -BuildRequires: ant-trax -BuildRequires: java-1.6.0-openjdk-devel -BuildRequires: java-1.6.0-openjdk-javadoc -BuildRequires: jpackage-utils -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot +BuildRequires: java-devel >= 1:1.6.0 +BuildRequires: java-javadoc >= 1:1.6.0 +BuildRequires: jpackage-utils +BuildRequires: apache-commons-logging +BuildRequires: apache-commons-io +BuildRequires: avalon-framework +BuildRequires: xmlgraphics-commons +BuildRequires: batik +BuildRequires: servlet +BuildRequires: qdox +BuildRequires: xmlunit +BuildRequires: zip +BuildRequires: junit %description FOP is the world's first print formatter driven by XSL formatting @@ -39,7 +52,8 @@ XT) SAX events. %package javadoc Summary: Javadoc for %{name} -Group: Development/Java +Group: Documentation +Requires: jpackage-utils %description javadoc Javadoc for %{name}. @@ -48,26 +62,28 @@ Javadoc for %{name}. %setup -q %patch0 -p1 %patch1 -p0 +%patch2 -b .sav + +find -name '*.class' -exec rm -f '{}' \; +find -name '*.jar' -exec rm -f '{}' \; + +sed -i -e "s|1.4|1.5|g" build.xml %build -export JAVA_HOME=%{java_home} -export CLASSPATH= -export OPT_JAR_LIST="`%{__cat} %{_sysconfdir}/ant.d/trax`" - -%ant clean jar-main transcoder-pkg javadocs +export CLASSPATH=$(build-classpath apache-commons-logging apache-commons-io xmlgraphics-commons batik-all avalon-framework servlet batik/batik-svg-dom xml-commons-apis xml-commons-apis-ext qdox objectweb-asm/asm-all xmlunit) +ant clean jar-main transcoder-pkg javadocs %install -rm -rf %{buildroot} +# inject OSGi manifests +mkdir -p META-INF +cp -p %{SOURCE2} META-INF/MANIFEST.MF +touch META-INF/MANIFEST.MF +zip -u build/%{name}.jar META-INF/MANIFEST.MF # jars mkdir -p %{buildroot}%{_javadir} -cp -a build/%{name}.jar %{buildroot}%{_javadir}/%{name}-%{version}.jar +cp -a build/%{name}.jar %{buildroot}%{_javadir}/%{name}.jar cp -a build/%{name}-transcoder.jar %{buildroot}%{_javadir}/pdf-transcoder.jar -pushd %{buildroot}%{_javadir} -for jar in *-%{version}* -do ln -s ${jar} `echo $jar| sed "s|-%{version}||g"` -done -popd # script mkdir -p %{buildroot}%{_bindir} @@ -78,44 +94,48 @@ mkdir -p %{buildroot}%{_datadir}/%{name} cp -a conf %{buildroot}%{_datadir}/%{name} # javadoc -mkdir -p %{buildroot}%{_javadocdir}/%{name}-%{version} -cp -a build/javadocs/* %{buildroot}%{_javadocdir}/%{name}-%{version} -ln -s %{name}-%{version} %{buildroot}%{_javadocdir}/%{name} +mkdir -p %{buildroot}%{_javadocdir}/%{name} +cp -a build/javadocs/* %{buildroot}%{_javadocdir}/%{name} -%if %{gcj_support} -%{_bindir}/aot-compile-rpm -%endif +mkdir -p $RPM_BUILD_ROOT%{_mavenpomdir} +cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_mavenpomdir}/JPP-%{name}.pom +%add_to_maven_depmap org.apache.xmlgraphics %{name} %{version} JPP %{name} %{version} -%clean -rm -rf %{buildroot} +%pre javadoc +# workaround for rpm bug 646523, can be removed in F-17 +[ $1 -gt 1 ] && [ -L %{_javadocdir}/%{name} ] && \ +rm -rf $(readlink -f %{_javadocdir}/%{name}) %{_javadocdir}/%{name} || : -%if %{gcj_support} %post -%{update_gcjdb} +%update_maven_depmap %postun -%{clean_gcjdb} -%endif +%update_maven_depmap + %files -%defattr(-,root,root) +%defattr(-,root,root,-) %doc LICENSE README NOTICE -%{_javadir}/%{name}*.jar +%{_javadir}/%{name}.jar %{_datadir}/%{name} %{_javadir}/pdf-transcoder.jar +%{_mavendepmapfragdir}/* +%{_mavenpomdir}/*pom %attr(0755,root,root) %{_bindir}/fop -%if %{gcj_support} -%dir %{_libdir}/gcj/%{name} -%{_libdir}/gcj/%{name}/* -%endif %files javadoc -%defattr(-,root,root) -%doc %{_javadocdir}/%{name}-%{version} +%defattr(-,root,root,-) %doc %{_javadocdir}/%{name} +%doc LICENSE %changelog +* Thu Mar 10 2011 Alexander Kurtakov 1.0-14 +- Reapply Fedora guidelines. +- Re-add pom.xml to unbreak Maven stack. +- Re-add OSGi manifest to unbreak Eclipse stack. +- Remove all bundled jars and classes and fix the build to work with our libs. + * Thu Mar 10 2011 Rüdiger Landmann 1.0-13 - reinstate updated manifest patch - change define to global @@ -272,4 +292,3 @@ rm -rf %{buildroot} * Thu Aug 30 2001 Guillaume Rousse 0.20.1-1mdk - first release - diff --git a/qdox-build.patch b/qdox-build.patch new file mode 100644 index 0000000..7d37c26 --- /dev/null +++ b/qdox-build.patch @@ -0,0 +1,80 @@ +--- src/codegen/java/org/apache/fop/tools/EventProducerCollector.java.sav 2010-07-12 22:34:46.000000000 +0300 ++++ src/codegen/java/org/apache/fop/tools/EventProducerCollector.java 2011-03-10 16:59:50.680483330 +0200 +@@ -15,13 +15,12 @@ + * limitations under the License. + */ + +-/* $Id: EventProducerCollector.java 932502 2010-04-09 16:48:27Z vhennebert $ */ ++/* $Id: EventProducerCollector.java 1066078 2011-02-01 16:04:41Z jeremias $ */ + + package org.apache.fop.tools; + + import java.io.File; + import java.io.IOException; +-import java.util.ArrayList; + import java.util.Collections; + import java.util.List; + import java.util.Map; +@@ -47,10 +46,10 @@ import com.thoughtworks.qdox.model.Type; + class EventProducerCollector { + + private static final String CLASSNAME_EVENT_PRODUCER = EventProducer.class.getName(); +- private static final Map PRIMITIVE_MAP; ++ private static final Map> PRIMITIVE_MAP; + + static { +- Map m = new java.util.HashMap(); ++ Map > m = new java.util.HashMap>(); + m.put("boolean", Boolean.class); + m.put("byte", Byte.class); + m.put("char", Character.class); +@@ -63,7 +62,7 @@ class EventProducerCollector { + } + + private DocletTagFactory tagFactory; +- private List models = new ArrayList(); ++ private List models = new java.util.ArrayList(); + + /** + * Creates a new EventProducerCollector. +@@ -123,6 +122,9 @@ class EventProducerCollector { + */ + protected void processEventProducerInterface(JavaClass clazz) + throws EventConventionException, ClassNotFoundException { ++ if (clazz.getParentClass() == null || clazz.getParentClass().getName().equals("java.lang.Object")) { ++ return; ++ } + EventProducerModel prodMeta = new EventProducerModel(clazz.getFullyQualifiedName()); + JavaMethod[] methods = clazz.getMethods(true); + for (int i = 0, c = methods.length; i < c; i++) { +@@ -139,7 +141,7 @@ class EventProducerCollector { + throws EventConventionException, ClassNotFoundException { + JavaClass clazz = method.getParentClass(); + //Check EventProducer conventions +- if (!method.getReturns().isVoid()) { ++ if (!method.getReturnType().isVoid()) { + throw new EventConventionException("All methods of interface " + + clazz.getFullyQualifiedName() + " must have return type 'void'!"); + } +@@ -168,10 +170,10 @@ class EventProducerCollector { + if (params.length > 1) { + for (int j = 1, cj = params.length; j < cj; j++) { + JavaParameter p = params[j]; +- Class type; ++ Class type; + JavaClass pClass = p.getType().getJavaClass(); + if (p.getType().isPrimitive()) { +- type = (Class)PRIMITIVE_MAP.get(pClass.getName()); ++ type = PRIMITIVE_MAP.get(pClass.getName()); + if (type == null) { + throw new UnsupportedOperationException( + "Primitive datatype not supported: " + pClass.getName()); +@@ -197,7 +199,7 @@ class EventProducerCollector { + * Returns the event model that has been accumulated. + * @return the event model. + */ +- public List getModels() { ++ public List getModels() { + return this.models; + } + From 3b3ae5a6b90360a47f3cfc8ac375d50e255080e9 Mon Sep 17 00:00:00 2001 From: Ruediger Landmann Date: Wed, 7 Sep 2011 16:22:16 +1000 Subject: [PATCH 3/3] Incorporate workaround from upstream bug #50575 --- fop.script | 3 +- fop.spec | 18 ++++++++--- qdox-build.patch | 80 ------------------------------------------------ 3 files changed, 15 insertions(+), 86 deletions(-) delete mode 100644 qdox-build.patch diff --git a/fop.script b/fop.script index 2da49be..8e688e4 100644 --- a/fop.script +++ b/fop.script @@ -25,7 +25,8 @@ fi MAIN_CLASS=org.apache.fop.cli.Main # Set parameters set_jvm -set_classpath commons-io batik-all avalon-framework xmlgraphics-commons \ +set_classpath commons-io batik-all avalon-framework-api \ + avalon-framework-impl xmlgraphics-commons \ commons-logging fop set_flags $BASE_FLAGS set_options $BASE_OPTIONS diff --git a/fop.spec b/fop.spec index bab3229..ec9987a 100644 --- a/fop.spec +++ b/fop.spec @@ -1,7 +1,7 @@ Summary: XSL-driven print formatter Name: fop Version: 1.0 -Release: 14%{?dist} +Release: 17%{?dist} License: ASL 2.0 Group: Applications/Text URL: http://xmlgraphics.apache.org/fop @@ -11,7 +11,6 @@ Source2: batik-pdf-MANIFEST.MF Source3: http://mirrors.ibiblio.org/pub/mirrors/maven2/org/apache/xmlgraphics/%{name}/%{version}/%{name}-%{version}.pom Patch0: %{name}-manifest.patch Patch1: %{name}-main.patch -Patch2: qdox-build.patch BuildArch: noarch Requires: xmlgraphics-commons >= 1.2 Requires: avalon-framework >= 4.1.4 @@ -62,16 +61,19 @@ Javadoc for %{name}. %setup -q %patch0 -p1 %patch1 -p0 -%patch2 -b .sav find -name '*.class' -exec rm -f '{}' \; find -name '*.jar' -exec rm -f '{}' \; sed -i -e "s|1.4|1.5|g" build.xml +#upstream workaround -- many thanks to spepping@apache.org -- see https://issues.apache.org/bugzilla/show_bug.cgi?id=50575 +ln -s %{_javadir}/qdox.jar lib/build/qdox.jar + %build -export CLASSPATH=$(build-classpath apache-commons-logging apache-commons-io xmlgraphics-commons batik-all avalon-framework servlet batik/batik-svg-dom xml-commons-apis xml-commons-apis-ext qdox objectweb-asm/asm-all xmlunit) -ant clean jar-main transcoder-pkg javadocs +#qdox intentionally left off classpath -- see https://issues.apache.org/bugzilla/show_bug.cgi?id=50575 +export CLASSPATH=$(build-classpath apache-commons-logging apache-commons-io xmlgraphics-commons batik-all avalon-framework-api avalon-framework-impl servlet batik/batik-svg-dom xml-commons-apis xml-commons-apis-ext objectweb-asm/asm-all xmlunit) +ant jar-main transcoder-pkg javadocs %install # inject OSGi manifests @@ -130,6 +132,12 @@ rm -rf $(readlink -f %{_javadocdir}/%{name}) %{_javadocdir}/%{name} || : %changelog +* Tue Jun 21 2011 Rüdiger Landmann 1.0-16 +- Supply missing event-model.xml files + +* Fri Jun 3 2011 Rüdiger Landmann 1.0-15 +- Split avalon-framework into avalon-framework-api and avalon-framework-impl in classpath + * Thu Mar 10 2011 Alexander Kurtakov 1.0-14 - Reapply Fedora guidelines. - Re-add pom.xml to unbreak Maven stack. diff --git a/qdox-build.patch b/qdox-build.patch deleted file mode 100644 index 7d37c26..0000000 --- a/qdox-build.patch +++ /dev/null @@ -1,80 +0,0 @@ ---- src/codegen/java/org/apache/fop/tools/EventProducerCollector.java.sav 2010-07-12 22:34:46.000000000 +0300 -+++ src/codegen/java/org/apache/fop/tools/EventProducerCollector.java 2011-03-10 16:59:50.680483330 +0200 -@@ -15,13 +15,12 @@ - * limitations under the License. - */ - --/* $Id: EventProducerCollector.java 932502 2010-04-09 16:48:27Z vhennebert $ */ -+/* $Id: EventProducerCollector.java 1066078 2011-02-01 16:04:41Z jeremias $ */ - - package org.apache.fop.tools; - - import java.io.File; - import java.io.IOException; --import java.util.ArrayList; - import java.util.Collections; - import java.util.List; - import java.util.Map; -@@ -47,10 +46,10 @@ import com.thoughtworks.qdox.model.Type; - class EventProducerCollector { - - private static final String CLASSNAME_EVENT_PRODUCER = EventProducer.class.getName(); -- private static final Map PRIMITIVE_MAP; -+ private static final Map> PRIMITIVE_MAP; - - static { -- Map m = new java.util.HashMap(); -+ Map > m = new java.util.HashMap>(); - m.put("boolean", Boolean.class); - m.put("byte", Byte.class); - m.put("char", Character.class); -@@ -63,7 +62,7 @@ class EventProducerCollector { - } - - private DocletTagFactory tagFactory; -- private List models = new ArrayList(); -+ private List models = new java.util.ArrayList(); - - /** - * Creates a new EventProducerCollector. -@@ -123,6 +122,9 @@ class EventProducerCollector { - */ - protected void processEventProducerInterface(JavaClass clazz) - throws EventConventionException, ClassNotFoundException { -+ if (clazz.getParentClass() == null || clazz.getParentClass().getName().equals("java.lang.Object")) { -+ return; -+ } - EventProducerModel prodMeta = new EventProducerModel(clazz.getFullyQualifiedName()); - JavaMethod[] methods = clazz.getMethods(true); - for (int i = 0, c = methods.length; i < c; i++) { -@@ -139,7 +141,7 @@ class EventProducerCollector { - throws EventConventionException, ClassNotFoundException { - JavaClass clazz = method.getParentClass(); - //Check EventProducer conventions -- if (!method.getReturns().isVoid()) { -+ if (!method.getReturnType().isVoid()) { - throw new EventConventionException("All methods of interface " - + clazz.getFullyQualifiedName() + " must have return type 'void'!"); - } -@@ -168,10 +170,10 @@ class EventProducerCollector { - if (params.length > 1) { - for (int j = 1, cj = params.length; j < cj; j++) { - JavaParameter p = params[j]; -- Class type; -+ Class type; - JavaClass pClass = p.getType().getJavaClass(); - if (p.getType().isPrimitive()) { -- type = (Class)PRIMITIVE_MAP.get(pClass.getName()); -+ type = PRIMITIVE_MAP.get(pClass.getName()); - if (type == null) { - throw new UnsupportedOperationException( - "Primitive datatype not supported: " + pClass.getName()); -@@ -197,7 +199,7 @@ class EventProducerCollector { - * Returns the event model that has been accumulated. - * @return the event model. - */ -- public List getModels() { -+ public List getModels() { - return this.models; - } -