Installing gdal-devel drags in quite a few Java packages because of the JNI library it provides. Would it be possible to split off the Java bits?
I tried that when I introduced 1.9, as far as I remember. It seemed impossible.
I'd be very happy to receive help though!
This really should be fixed. Installing 174 unrelated packages (maven, plexus, tomcat, jetty, …) for just one -devel package containing a single script plus some header files is massive overkill.
The gdal-devel package currently contains:
A) 2 shell scripts providing information about the gdal version installed plus a man page
B) some header files (they belong here since this is a devel package)
C) some library symlinks:
Since they are symlinks I don't think they belong here but in the package where the actual library is provided:
/usr/lib64/libgdal.so -> gdal-libs
/usr/lib64/libgdalconstjni.so -> gdal-java
/usr/lib64/libgdaljni.so -> gdal-java
/usr/lib64/libogrjni.so -> gdal-java
/usr/lib64/libosrjni.so -> gdal-java
D) A PKGconfig file
I don't know for sure what it does but at least it does not rely on any gdal-java files.
Since the shell scripts (gdal-config and gdal-config-64) and the header files don't rely on any binary files provided by any gdal package, the gdal-java dependency can be removed without side effect.
I suggest moving the libgdalconstjni.so, libgdaljni.so, libogrjnis.so, libosrjni.so symlinks into gdal-java removing the dependency of gdal-devel on gdal-java. I think we should just ship the package the way debian ships it: http://packages.debian.org/sid/amd64/libgdal-dev/filelist
I'm not into SPEC files but I think the bug is in http://pkgs.fedoraproject.org/cgit/gdal.git/tree/gdal.spec line 773: the .so files without suffix are ignored. How about adding a line
to the existing line
Can anyone with some knowledge on packaging please check that?
(In reply to Christian Stadelmann from comment #3)
> This really should be fixed. Installing 174 unrelated packages (maven,
> plexus, tomcat, jetty, …) for just one -devel package containing a single
> script plus some header files is massive overkill.
> The gdal-devel package currently contains:
> A) 2 shell scripts providing information about the gdal version installed
> plus a man page
> B) some header files (they belong here since this is a devel package)
Any jni-related headers belong in -java-devel.
> C) some library symlinks:
> Since they are symlinks I don't think they belong here but in the package
> where the actual library is provided:
No, these belong in -devel; they're the files the linker looks for when doing -lgdal. Programs which have already linked do not need them.
> /usr/lib64/libgdal.so -> gdal-libs
> /usr/lib64/libgdalconstjni.so -> gdal-java
> /usr/lib64/libgdaljni.so -> gdal-java
> /usr/lib64/libogrjni.so -> gdal-java
> /usr/lib64/libosrjni.so -> gdal-java
> D) A PKGconfig file
> I don't know for sure what it does but at least it does not rely on any
> gdal-java files.
gdal-devel (used during configure steps in dependent projects; not needed at runtime).
> I'm not into SPEC files but I think the bug is in
> http://pkgs.fedoraproject.org/cgit/gdal.git/tree/gdal.spec line 773: the .so
> files without suffix are ignored. How about adding a line
> to the existing line
No (explained above).
> Can anyone with some knowledge on packaging please check that?
Other than that, without looking at the spec, the steps here (as commented) should suffice.
There are no java-related header files for gdal since they are generated at compile time from javac and not intended to be used by anyone except the *jni.so and gdal.jar libraries.
The only files which could be possibly shipped with gdal-java-devel are the 4 *jni.so files which are in fact symlinks. It doesn't make sense to compile C/C++ code against java bindings for a C/C++ library so it doesn't make sense to ship this symlink at all.
How about removing the *jni.so files from gdal-devel and not shipping them in a new gdal-java-devel package.
So I suggest to change the gdal.spec:759  from
gdal-1.9.2-7.fc19 has been submitted as an update for Fedora 19.
* should fix your issue,
* was pushed to the Fedora 19 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing gdal-1.9.2-7.fc19'
as soon as you are able to.
Please go to the following url:
then log in and leave karma (feedback).
Looks much better here. Thanks!
gdal-1.9.2-7.fc19 has been pushed to the Fedora 19 stable repository. If problems still persist, please make note of it in this bug report.