[El] gdal-java
Ralph Apel
r.apel at r-apel.de
Wed Nov 17 15:39:21 EST 2010
Hi,
I am now working on gdal-1.7.2-5_3; building it on my local CentOS 5.5,
as well as on a Fedora 12 and within an unmodified mock cfg i.e.
https://projects.argeo.org/elgis/svn/factory/trunk/modules/org.argeo.elgis.rpmfactory/files/etc/mock/elgis-5-testing-i386.cfg
I essentially added the JPackage compat bits, in order to be able to
build a new and better imageio-ext package. I now do have %check active.
Have had some trouble with the JPackage macro %add_to_maven_depmap which
evidently entered into some cross influence with
%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from
distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
%{!?ruby_sitearch: %define ruby_sitearch %(ruby -rrbconfig -e 'puts
Config::CONFIG["sitearchdir"]')}
sort of "undefining" both. Finally I only have been able to solve the
problem by shifting the %add_to_maven_depmap to the end of the %install
section and using files for the %files section of -python and -ruby
Hoping to get it done soon and then proceed to with imageio-ext ...
Which is the procedure for uploads?
Cheers
Ralph
On Mon, 2010-11-15 at 10:31 +0100, Ralph Apel wrote:
> Hi Mathieu,
>
> after rebuilding gdal-1.7.2-5_2.src.rpm on my box (had to disable tests
> for some reason), there are only some minor details to add, as well as
> consequences for other packages, i.e. imageio-ext. Here my comments:
>
> ========================================================================
>
> 1) The file locations for gdal-java are basically OK.
>
> 2) But there should be a versionless symlink /usr/share/java/gdal.jar
> --> gdal-1.7.2.jar (according to JPackage rules as adopted by many
> distros)
>
> 3) Marking gdal-java as architecture dependent (i.e. .i386.rpm, etc.) is
> OK because the shared libraries contained in this packages do the job
> and the Java classes are for binding purposes only.
>
> 4) But in order to just compile (not run) some reference to the gdal
> bindings the (arch independent) jar file is sufficient. This is what
> it.geosolutions do with their imageio-ext: they provide the jar file
> from gdal-1.7.2 naming it "gdal-bindings" from their point of view.
>
> 5) Therefore a new imageio-ext package should drop the
>
> $ tar tzf SOURCES/imageio-ext-1.1-SNAPSHOT.tgz | grep jar$ | grep gdal
> imageio-ext-1.1-SNAPSHOT/deploy/jar/gdal-1.7.2.jar
>
> and (Build)Require gdal-java instead.
>
> 6) In such a new imageio-ext package there will be no need for
>
> $ rpm -ql imageio-ext | grep bindings
> /usr/share/java/imageio-ext/gdal-bindings-1.7.2.jar
> /usr/share/java/imageio-ext/gdal-bindings.jar
> /usr/share/maven2/poms/JPP.imageio-ext-gdal-bindings.pom
> $ more /usr/share/maven2/poms/JPP.imageio-ext-gdal-bindings.pom
> <?xml version="1.0" encoding="UTF-8"?>
> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
> http://maven.apache.org/xsd/maven-4.0.0.xsd"
> xmlns="http://maven.apache.org/POM/4.0.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> <modelVersion>4.0.0</modelVersion>
> <groupId>it.geosolutions.imageio-ext</groupId>
> <artifactId>imageio-ext-gdal-bindings</artifactId>
> <version>1.7.2</version>
> </project>
>
> 7) Then, there also should be a .pom file for gdal-java, as well as a so
> called "dependency mapping" (depmap)
>
> 8) Regarding the pom file as such, the only reference I have been able
> to find is
> http://www.osgeo.org/pipermail/gdal-dev/2007-March/012266.html
> to no avail.
>
> I would propose to start with a very simple one like
>
> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
> http://maven.apache.org/xsd/maven-4.0.0.xsd"
> xmlns="http://maven.apache.org/POM/4.0.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> <modelVersion>4.0.0</modelVersion>
> <groupId>org.gdal</groupId>
> <artifactId>gdal-java-bindings</artifactId>
> <version>1.7.2</version>
> </project>
>
> 9) In the gdal-java subpackage, this pom should be located
> at /usr/share/maven2/poms/JPP-gdal.pom
> consistent with the location of the versionless
> symlink /usr/share/java/gdal.jar
>
> 10) If using jpackage-utils like
>
> BuildRequires: jpackage-utils >= 0:1.7.5
> Requires: jpackage-utils >= 0:1.7.5
> Requires(post): jpackage-utils >= 0:1.7.5
> Requires(postun): jpackage-utils >= 0:1.7.5
>
> in the %install section there should be a
>
> %add_to_maven_depmap org.gdal gdal-java-bindings %{version} JPP %{name}
>
> This macro creates a file /etc/maven/fragments/gdal for install,
> containing a "depmap" like
>
> <dependency>
> <maven>
> <groupId>org.gdal</groupId>
> <artifactId>gdal-java-bindings</artifactId>
> <version>1.7.2</version>
> </maven>
> <jpp>
> <groupId>JPP</groupId>
> <artifactId>gdal</artifactId>
> <version>1.7.2</version>
> </jpp>
> </dependency>
>
> which will be processed by maven2 from JPP permitting it to find the
> jar.
>
> If another macro
>
> %update_maven_depmap
>
> is included in %post as well as in %postun (of the gdal-java subpackage,
> I guess), then the "depmap summaries" in
>
> /etc/maven/maven2-depmap.xml
> /etc/maven/maven2-versionless-depmap.xml
>
> will be updated on install/uninstall.
>
> ========================================================================
>
> I will now test these modifications and prepare a modified imageio-ex
> package (which does still have some other issues to solve):
>
> $ tar tzf SOURCES/imageio-ext-1.1-SNAPSHOT.tgz | grep jar$
> imageio-ext-1.1-SNAPSHOT/deploy/jar/SwanHeaderSchema.jar
> imageio-ext-1.1-SNAPSHOT/deploy/jar/ncsa_jhdf.jar
> imageio-ext-1.1-SNAPSHOT/deploy/jar/jmagick.jar
> imageio-ext-1.1-SNAPSHOT/deploy/jar/kdu_jni.jar
> imageio-ext-1.1-SNAPSHOT/deploy/jar/gdal-1.7.2.jar
> imageio-ext-1.1-SNAPSHOT/plugin/swan/header/SwanHeaderSchema.jar
>
> Cheers
> Ralph
>
> >
>
> On Thu, 2010-11-11 at 10:11 +0100, Mathieu Baudier wrote:
> > Hi Ralph,
> >
> > while you are looking around the native libraries required for Java
> > GIS, I would be very interested in your opinion about the gdal-java
> > package (the version in testing).
> >
> > I kind of hacked the gdal spec file so that the JNI libraries are also
> > produced and installed.
> > But I'm not so sure that I did it properly and consistently with Java
> > packaging rules on EL (I had a look at Fedora Java packaging
> > guidelines, but did not implement all that they recommend).
> >
> > Moreover I am not sure whether the (arch independent) Java JAR file
> > which is produced, is also properly installed for use with other
> > applications.
> >
> > Thanks in advance!
> >
> > Mathieu
>
> _______________________________________________
> el mailing list
> el at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/el
More information about the el
mailing list