[batik] Add maven metadata and pom files

Stanislav Ochotnicky sochotni at fedoraproject.org
Tue May 3 11:24:25 UTC 2011


commit beae5890c056b2bf0c2498485ca67d36e2cdbacf
Author: Stanislav Ochotnicky <sochotnicky at redhat.com>
Date:   Tue May 3 11:18:43 2011 +0200

    Add maven metadata and pom files
    
    - Versionless jars & javadocs

 batik-script-remove-js.patch |   14 ++++
 batik.spec                   |  154 ++++++++++++++++++++++++++++++-----------
 2 files changed, 126 insertions(+), 42 deletions(-)
---
diff --git a/batik-script-remove-js.patch b/batik-script-remove-js.patch
new file mode 100644
index 0000000..3f582cc
--- /dev/null
+++ b/batik-script-remove-js.patch
@@ -0,0 +1,14 @@
+--- batik-script.pom	2011-05-03 12:57:35.428208738 +0200
++++ batik-script.pom.new	2011-05-03 13:08:54.565452184 +0200
+@@ -98,11 +98,6 @@
+       <version>1.7</version>
+     </dependency>
+     <dependency>
+-      <groupId>org.apache.xmlgraphics</groupId>
+-      <artifactId>batik-js</artifactId>
+-      <version>1.7</version>
+-    </dependency>
+-    <dependency>
+       <groupId>xml-apis</groupId>
+       <artifactId>xml-apis</artifactId>
+       <version>1.3.04</version>
diff --git a/batik.spec b/batik.spec
index e0e58b3..8445b67 100644
--- a/batik.spec
+++ b/batik.spec
@@ -1,6 +1,6 @@
 Name:           batik
 Version:        1.7
-Release:        10%{?dist}
+Release:        11%{?dist}
 Summary:        Scalable Vector Graphics for Java
 License:        ASL 2.0
 URL:            http://xml.apache.org/batik/
@@ -13,13 +13,16 @@ Source3:        %{name}.ttf2svg.script
 Source4:        %{name}.rasterizer.script
 Source5:        %{name}.slideshow.script
 Source6:        %{name}-squiggle.desktop
-Source7:       %{name}-repack.sh
+Source7:        %{name}-repack.sh
 Source8:        %{name}-orbit-manifests.tar.gz
+
+
 Patch0:         %{name}-manifests.patch
 Patch1:         %{name}-policy.patch
+# remove dependency on bundled rhino from pom
+Patch2:		%{name}-script-remove-js.patch
 Requires:       rhino >= 1.5
 
-BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildArch:      noarch
 
 BuildRequires:  java-devel >= 1:1.6.0
@@ -42,6 +45,10 @@ Requires:       java >= 1:1.6.0
 Requires:       rhino >= 1.5
 Requires:       xalan-j2
 Requires:       xml-commons-apis >= 1.3.04
+Requires:       jpackage-utils
+Requires(post):    jpackage-utils
+Requires(postun):  jpackage-utils
+
 
 
 %description
@@ -135,6 +142,14 @@ pushd orbit
 tar xzf %{SOURCE8}
 popd
 
+# create poms from templates
+for module in anim awt-util bridge codec css dom ext extension gui-util \
+              gvt parser script svg-dom svggen swing transcoder util xml \
+              rasterizer slideshow squiggle svgpp ttf2svg; do
+      sed "s:@version@:%{version}:g" sources/%{name}-$module.pom.template \
+      	  > %{name}-$module.pom
+done
+%patch2
 
 %build
 export CLASSPATH=$(build-classpath xml-commons-apis xml-commons-apis-ext js rhino xalan-j2 xalan-j2-serializer xerces-j2)
@@ -155,8 +170,6 @@ ant javadoc
 
 
 %install
-rm -rf $RPM_BUILD_ROOT
-
 # inject OSGi manifests
 mkdir -p META-INF
 cp -p orbit/batik-bridge-MANIFEST.MF META-INF/MANIFEST.MF
@@ -199,34 +212,49 @@ cp -p orbit/batik-xml-MANIFEST.MF META-INF/MANIFEST.MF
 touch META-INF/MANIFEST.MF
 zip -u %{name}-%{version}/lib/batik-xml.jar META-INF/MANIFEST.MF
 
+
 # jars
 mkdir -p $RPM_BUILD_ROOT%{_javadir}
-mkdir -p $RPM_BUILD_ROOT%{_javadir}/batik
+mkdir -p $RPM_BUILD_ROOT%{_javadir}/%{name}
 pushd %{name}-%{version}/lib
 for jarname in $(find batik-*.jar); do
-    cp -p ${jarname} \
-       $RPM_BUILD_ROOT%{_javadir}/batik/`echo ${jarname}|sed "s|.jar||g"`-%{version}.jar
+    cp -p ${jarname} $RPM_BUILD_ROOT%{_javadir}/%{name}/
 done
+
+rm -fr $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-all.jar
+cp -p %{name}-all.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-all.jar
+
 popd
-rm -fr $RPM_BUILD_ROOT%{_javadir}/batik/%{name}-all-%{version}.jar
-cp -p %{name}-%{version}/lib/%{name}-all.jar \
-       $RPM_BUILD_ROOT%{_javadir}/%{name}-all-%{version}.jar
+
 cp -p %{name}-%{version}/batik-rasterizer.jar \
-        %{name}-%{version}/batik-slideshow.jar \
-        %{name}-%{version}/batik-squiggle.jar \
-        %{name}-%{version}/batik-svgpp.jar \
-        %{name}-%{version}/batik-ttf2svg.jar \
+        %{name}-%{version}/%{name}-slideshow.jar \
+        %{name}-%{version}/%{name}-squiggle.jar \
+        %{name}-%{version}/%{name}-svgpp.jar \
+        %{name}-%{version}/%{name}-ttf2svg.jar \
         $RPM_BUILD_ROOT%{_javadir}
-pushd $RPM_BUILD_ROOT%{_javadir}
-  for jar in *-%{version}*; 
-    do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; 
-  done
-popd
-pushd $RPM_BUILD_ROOT%{_javadir}/batik
-    for jar in *-%{version}*.jar; do
-      ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; 
-    done
-popd
+
+# poms and depmaps for subpackages are different (no batik subdir)
+install -d -m 755 $RPM_BUILD_ROOT/%{_mavenpomdir}
+for module in rasterizer slideshow squiggle svgpp ttf2svg; do
+      install -pm 644 %{name}-$module.pom $RPM_BUILD_ROOT/%{_mavenpomdir}/JPP-%{name}-$module.pom
+      %add_to_maven_depmap org.apache.xmlgraphics %{name}-$module %{version} JPP %{name}-$module
+      # compatibility depmap
+      %add_to_maven_depmap batik %{name}-$module %{version} JPP %{name}-$module
+      mv $RPM_BUILD_ROOT%{_mavendepmapfragdir}/%{name} $RPM_BUILD_ROOT%{_mavendepmapfragdir}/%{name}-$module
+done
+
+# main pom files and maven depmaps
+for module in anim awt-util bridge codec css dom ext extension gui-util \
+              gvt parser script svg-dom svggen swing transcoder util xml; do
+
+      install -pm 644 %{name}-$module.pom $RPM_BUILD_ROOT/%{_mavenpomdir}/JPP.%{name}-%{name}-$module.pom
+      %add_to_maven_depmap org.apache.xmlgraphics %{name}-$module %{version} JPP/%{name} %{name}-$module
+      # compatibility depmap
+      %add_to_maven_depmap batik %{name}-$module %{version} JPP/%{name} %{name}-$module
+done
+
+
+
 
 # scripts
 mkdir -p $RPM_BUILD_ROOT%{_bindir}
@@ -237,11 +265,9 @@ cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_bindir}/rasterizer
 cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_bindir}/slideshow
 
 # javadoc
-mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
+mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}
 cp -pr %{name}-%{version}/docs/* \
-  $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
-rm -rf %{name}-%{version}/docs/javadoc
-ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}
+  $RPM_BUILD_ROOT%{_javadocdir}/%{name}
 
 # demo
 mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}
@@ -249,56 +275,100 @@ cp -pr contrib resources samples test-resources test-sources \
   $RPM_BUILD_ROOT%{_datadir}/%{name}
 
 #Fix perms
-chmod +x $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/rasterizertask/build.sh 
+chmod +x $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/rasterizertask/build.sh
 chmod +x $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/charts/convert.sh
 
-%clean
-rm -rf $RPM_BUILD_ROOT
+%post
+%update_maven_depmap
+
+%postun
+%update_maven_depmap
+
+%post squiggle
+%update_maven_depmap
+
+%postun squiggle
+%update_maven_depmap
+
+%post svgpp
+%update_maven_depmap
+
+%postun svgpp
+%update_maven_depmap
+
+%post ttf2svg
+%update_maven_depmap
+
+%postun ttf2svg
+%update_maven_depmap
+
+%post rasterizer
+%update_maven_depmap
+
+%postun rasterizer
+%update_maven_depmap
+
+%post slideshow
+%update_maven_depmap
+
+%postun slideshow
+%update_maven_depmap
+
+%pre javadoc
+# workaround for rpm bug, can be removed in F-17
+[ $1 -gt 1 ] && [ -L %{_javadocdir}/%{name} ] && \
+rm -rf $(readlink -f %{_javadocdir}/%{name}) %{_javadocdir}/%{name} || :
 
 
 %files
-%defattr(-,root,root,-)
 %doc KEYS LICENSE MAINTAIN NOTICE README
-%{_javadir}/%{name}-all-%{version}.jar
+%{_mavenpomdir}/JPP.%{name}-*pom
+%{_mavendepmapfragdir}/%{name}
 %{_javadir}/%{name}-all.jar
 %{_javadir}/batik
 
 %files squiggle
-%defattr(-,root,root,-)
 %{_javadir}/%{name}-squiggle.jar
+%{_mavendepmapfragdir}/%{name}-squiggle
+%{_mavenpomdir}/JPP-%{name}-squiggle.pom
 %attr(0755,root,root) %{_bindir}/squiggle
 
 %files svgpp
-%defattr(-,root,root,-)
 %{_javadir}/%{name}-svgpp.jar
+%{_mavendepmapfragdir}/%{name}-svgpp
+%{_mavenpomdir}/JPP-%{name}-svgpp.pom
 %attr(0755,root,root) %{_bindir}/svgpp
 
 %files ttf2svg
-%defattr(-,root,root,-)
 %{_javadir}/%{name}-ttf2svg.jar
+%{_mavendepmapfragdir}/%{name}-ttf2svg
+%{_mavenpomdir}/JPP-%{name}-ttf2svg.pom
 %attr(0755,root,root) %{_bindir}/ttf2svg
 
 %files rasterizer
-%defattr(-,root,root,-)
 %{_javadir}/%{name}-rasterizer.jar
+%{_mavendepmapfragdir}/%{name}-rasterizer
+%{_mavenpomdir}/JPP-%{name}-rasterizer.pom
 %attr(0755,root,root) %{_bindir}/rasterizer
 
 %files slideshow
-%defattr(-,root,root,-)
 %{_javadir}/%{name}-slideshow.jar
+%{_mavendepmapfragdir}/%{name}-slideshow
+%{_mavenpomdir}/JPP-%{name}-slideshow.pom
 %attr(0755,root,root) %{_bindir}/slideshow
 
 %files javadoc
-%defattr(-,root,root,-)
-%{_javadocdir}/%{name}-%{version}
 %{_javadocdir}/%{name}
 
 %files demo
-%defattr(-,root,root,-)
 %{_datadir}/%{name}
 
 
 %changelog
+* Tue May  3 2011 Stanislav Ochotnicky <sochotnicky at redhat.com> - 1.7-11
+- Add maven metadata and pom files
+- Versionless jars & javadocs
+
 * Mon Feb 07 2011 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.7-10
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
 


More information about the scm-commits mailing list