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 /usr/bin/gdal-config /usr/bin/gdal-config-64 /usr/share/man/man1/gdal-config.1.gz B) some header files (they belong here since this is a devel package) C) some library symlinks: /usr/lib64/libgdal.so /usr/lib64/libgdalconstjni.so /usr/lib64/libgdaljni.so /usr/lib64/libogrjni.so /usr/lib64/libosrjni.so 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 /usr/lib64/pkgconfig/gdal.pc 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 %{_libdir}/*jni.so to the existing line %{_libdir}/*jni.so.* 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 > /usr/bin/gdal-config > /usr/bin/gdal-config-64 > /usr/share/man/man1/gdal-config.1.gz > > 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: > /usr/lib64/libgdal.so > /usr/lib64/libgdalconstjni.so > /usr/lib64/libgdaljni.so > /usr/lib64/libogrjni.so > /usr/lib64/libosrjni.so > 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 gdal-devel > /usr/lib64/libgdalconstjni.so -> gdal-java > /usr/lib64/libgdaljni.so -> gdal-java > /usr/lib64/libogrjni.so -> gdal-java > /usr/lib64/libosrjni.so -> gdal-java gdal-java-devel > D) A PKGconfig file > /usr/lib64/pkgconfig/gdal.pc > 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 > %{_libdir}/*jni.so > to the existing line > %{_libdir}/*jni.so.* 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 [1] from %{_libdir}/*.so to %{_libdir}/libgdal.so [1] http://pkgs.fedoraproject.org/cgit/gdal.git/tree/gdal.spec#n759
gdal-1.9.2-7.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/gdal-1.9.2-7.fc19
Package gdal-1.9.2-7.fc19: * 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: https://admin.fedoraproject.org/updates/FEDORA-2013-10774/gdal-1.9.2-7.fc19 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.