diff options
author | Volker Fröhlich <volker27@gmx.at> | 2011-04-15 10:21:37 +0200 |
---|---|---|
committer | Volker Fröhlich <volker27@gmx.at> | 2011-04-15 10:21:37 +0200 |
commit | c18304aa6f38ddb3ed14ae0c2033ff511b73c249 (patch) | |
tree | 7dcf5c34a15ee2d9a570aa68b406a2f3031e3292 /gdal.spec | |
download | repo-master.tar.gz repo-master.tar.xz repo-master.zip |
Diffstat (limited to 'gdal.spec')
-rw-r--r-- | gdal.spec | 1076 |
1 files changed, 1076 insertions, 0 deletions
diff --git a/gdal.spec b/gdal.spec new file mode 100644 index 0000000..cf40ddc --- /dev/null +++ b/gdal.spec @@ -0,0 +1,1076 @@ +#TODO: Use the sed modified pom +Name: gdal +Version: 1.8.0 +Release: 2%{?dist} +Summary: GIS file format library +Group: System Environment/Libraries +License: MIT +URL: http://www.gdal.org/ +# Source0: http://download.osgeo.org/gdal/gdal-%%{version}.tar.gz +# see PROVENANCE.TXT-fedora for details +Source0: %{name}-%{version}-fedora.tar.gz +Source1: http://download.osgeo.org/%{name}/%{name}autotest-%{version}.tar.gz +# TODO: create versionless symlink +Source2: %{name}.pom + +# See commit message in http://trac.osgeo.org/gdal/browser/trunk/gdal/ogr/ogrsf_frmts/dods/ogr_dods.h +#Patch0: %{name}-libdap.patch +#Include is still there -- don't know yet. Patches should be unified. + +# GDAL 1.9 will have a different driver for MS Access, that will replace the need for the mdbtools. See http://www.gdal.org/ogr/drv_mdb.html -- The current implementation mdbtools and hardly works + +#Seit 1.8 +#https://trac.osgeo.org/gdal/log/branches/1.8/gdal + +Patch1: %{name}-mysql.patch + +#Could still be valid +Patch2: %{name}-bindir.patch + +#Most likely solved +#Patch3: %{name}-AIS.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +#TODO: Fedora 15 has Maven3 and the package is called maven +#What is dwgdirect? + +BuildRequires: ant +BuildRequires: cfitsio-devel +BuildRequires: CharLS-devel +BuildRequires: chrpath +BuildRequires: curl-devel +BuildRequires: doxygen +BuildRequires: expat-devel +BuildRequires: fontconfig-devel +BuildRequires: geos-devel +BuildRequires: ghostscript +BuildRequires: hdf-devel +BuildRequires: hdf-static +BuildRequires: hdf5-devel +BuildRequires: jasper-devel +BuildRequires: jpackage-utils +BuildRequires: libgeotiff-devel +BuildRequires: libjpeg-devel +BuildRequires: libpng-devel +BuildRequires: libspatialite-devel +BuildRequires: libtiff-devel +BuildRequires: libtool +BuildRequires: libungif-devel +BuildRequires: netcdf-devel +BuildRequires: libdap-devel +BuildRequires: librx-devel +BuildRequires: mysql-devel +BuildRequires: numpy +BuildRequires: ogdi-devel +BuildRequires: openjpeg-devel +BuildRequires: perl(ExtUtils::MakeMaker) +BuildRequires: pkgconfig +BuildRequires: poppler-devel +BuildRequires: postgresql-devel +BuildRequires: proj-devel +BuildRequires: python-devel +BuildRequires: ruby-devel +BuildRequires: sqlite-devel +BuildRequires: swig +BuildRequires: tetex-latex +#TODO: Remove ODBC? +BuildRequires: unixODBC-devel +BuildRequires: xerces-c-devel +BuildRequires: xz-devel +BuildRequires: zlib-devel +BuildRequires: java-devel-gcj + +# enable/disable refman generation +%global build_refman 1 + +# we have multilib triage +%if "%{_lib}" == "lib" +%global cpuarch 32 +%else +%global cpuarch 64 +%endif + +%{!?python_lib: %global python_lib %(%{__python} -c 'from distutils.sysconfig import get_python_lib; print get_python_lib(1)')} +%{!?ruby_sitelib: %global ruby_sitelib %(ruby -rrbconfig -e 'puts Config::CONFIG["sitearchdir"]')} + +# Avoid providing private python extension libs +%{?filter_setup: +%filter_provides_in %{python_lib}/.*\.so %{_libdir}/perl5/.*\.so$ +%filter_setup +} + +#TODO: Das ist irgendwie auch nicht taufrisch! +%description +Geospatial Data Abstraction Library (GDAL/OGR) is a cross platform +C++ translator library for raster and vector geospatial data formats. +As a library, it presents a single abstract data model to the calling +application for all supported formats. It also comes with a variety of +useful commandline utilities for data translation and processing. + +It provides the primary data access engine for many applications including +MapServer, GRASS, QGIS, and OpenEV. It is also utilized by packages such as +OSSIM, Cadcorp SIS, FME, Google Earth, VTP, Thuban, ILWIS, MapGuide and ArcGIS. +GDAL/OGR is the most widely used geospatial data access library. + +%package devel +Summary: Development Libraries for the GDAL file format library +Group: Development/Libraries +Requires: pkgconfig +#Why? +#Requires: libgeotiff-devel +Requires: %{name} = %{version}-%{release} +Requires: %{name}-libs = %{version}-%{release} +Obsoletes: %{name}-static < 1.8.0 +#RPM should know! +#Requires: %{name}-java = %{version}-%{release} + +%description devel +The GDAL library provides support to handle multiple GIS file formats. + +%package libs +Summary: GDAL file format library +Group: Development/Libraries + +%description libs +The GDAL library provides support to handle multiple GIS file formats. + +%package ruby +Summary: Ruby modules for the GDAL file format library +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} + +%description ruby +The GDAL ruby modules provides support to handle multiple GIS file formats. + +%package java +Summary: Java modules for the GDAL file format library +Group: Development/Libraries +Requires: java +# require maven2 for the poms and depmap frag parent dirs +# these are provided by many JPP packages but that is wrong +Requires: maven2 +Requires: jpackage-utils +BuildRequires: jpackage-utils +Requires(post): jpackage-utils +Requires(postun): jpackage-utils +Requires: %{name} = %{version}-%{release} + +%description java +The GDAL java modules provides support to handle multiple GIS file formats. + +%package perl +Summary: Perl modules for the GDAL file format library +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} + +%description perl +The GDAL perl modules provides support to handle multiple GIS file formats. +%package doc +Summary: Documentation for GDAL +Group: Documentation +Requires: %{name} = %{version}-%{release} + +%package python +Summary: Python modules for the GDAL file format library +Group: Development/Libraries +Requires: numpy +Requires: %{name} = %{version}-%{release} + +%description python +The GDAL python modules provides support to handle multiple GIS file formats. + +%description doc +This package contains html and pdf documentation for GDAL. + +%prep +%setup -q -n %{name}-%{version}-fedora +# None of these patches seems necessary to me +#%patch1 -p0 -b .mysql~ +#%patch2 -p1 -b .bindir~ +#%patch3 -p1 -b .AIS~ +#TODO: Die depperten Flags stimmen auch nicht immer! + +#TODO: I think, that should go round here. +#Update version and name for Maven's POM file +#sed 's|<version>|<version>%{version}|' %{name}.pom > %{name}-%{version}.pom +#Versionless symlink? + +%if %cpuarch == 64 + #That driver is rubbish! + #sed -i 's|/usr/lib|/usr/lib64|' ogr/ogrsf_frmts/pgeo/ogrpgeodriver.cpp + + # Check for LibDAP version + sed -i 's|with_dods_root/lib|with_dods_root/lib64|' configure +%endif + +# Sanitize linebreaks and encoding +set +x +for f in `find . -type f` ; do + if file $f | grep -q ISO-8859 ; then + set -x + iconv -f ISO-8859-1 -t UTF-8 $f > ${f}.tmp && \ + mv -f ${f}.tmp $f + set +x + fi + if file $f | grep -q CRLF ; then + set -x + sed -i -e 's|\r||g' $f + set +x + fi +done +set -x + +# Unpack test cases +tar -xzf %{SOURCE1} + +# Correct permissions +find swig/python/samples -name "*.py" -exec chmod -x '{}' \; +# There's also a README and a scripts directory, that should go to doc + +# Delete bundled libraries +rm -rf frmts/zlib +rm -rf frmts/png/libpng +rm -rf frmts/gif/giflib +rm -rf frmts/jpeg/libjpeg frmts/jpeg/libjpeg12 +rm -rf frmts/gtiff/libgeotiff frmts/gtiff/libtiff +# Is the PCIDSK SDK legal? + +# fix hardcoded issues +sed -i 's|@LIBTOOL@|%{_bindir}/libtool|g' GDALmake.opt.in +sed -i 's|-L\$with_cfitsio -L\$with_cfitsio\/lib -lcfitsio|-lcfitsio|g' configure +sed -i 's|-I\$with_cfitsio|-I\$with_cfitsio\/include\/cfitsio|g' configure +sed -i 's|-L\$with_netcdf -L\$with_netcdf\/lib -lnetcdf|-lnetcdf|g' configure +sed -i 's|-L\$DODS_LIB -ldap++|-ldap++|g' configure +sed -i 's|-L\$with_ogdi -L\$with_ogdi\/lib -logdi|-logdi|g' configure +sed -i 's|-L\$with_jpeg -L\$with_jpeg\/lib -ljpeg|-ljpeg|g' configure +sed -i 's|-L\$with_libtiff\/lib -ltiff|-ltiff|g' configure +sed -i 's|-lgeotiff -L$with_geotiff $LIBS|-lgeotiff $LIBS|g' configure +sed -i 's|-L\$with_geotiff\/lib -lgeotiff $LIBS|-lgeotiff $LIBS|g' configure +#Should be changed in 1.8 -- see NEWS +#sed -i 's|-lmfhdf -ldf|-L$libdir/hdf -lmfhdf -ldf|g' configure +sed -i 's|-logdi31|-logdi|g' configure +#Upstream? +sed -i 's|libproj.so|libproj.so.0|g' ogr/ogrct.cpp + +# fix python path for ppc64 +#Aha? +sed -i 's|test \"$ARCH\" = \"x86_64\"|test \"$libdir\" = \"\/usr\/lib64\"|g' configure + +# Activate support for JPEGLS +sed -i 's|^#HAVE_CHARLS|HAVE_CHARLS|' GDALmake.opt.in +sed -i 's|#CHARLS_INC = -I/path/to/charls_include|CHARLS_INC = -I%{_includedir}/CharLS|' GDALmake.opt.in +sed -i 's|#CHARLS_LIB = -L/path/to/charls_lib -lCharLS|CHARLS_LIB = -L%{_libdir} -lCharLS|' GDALmake.opt.in + +# Repair check for Spatialite and also Curl +sed -i 's|-ldap++|-ldap -ldapclient -ldapserver|' configure configure.in +sed -i 's|/include/spatialite/sqlite3.h|/include/sqlite3.h|' configure configure.in +sed -i 's|spatialite/sqlite3.h|sqlite3.h|' ogr/ogrsf_frmts/sqlite/ogr_sqlite.h + +# fixup hardcoded wrong compile flags. +#TODO: Upstream? +# Does that do anything? +sed -i 's/-L\$(INST_LIB) -lgdal/-lgdal/' GDALmake.opt.in + +# fix doxygen for multilib docs +# TODO: How about the other Doxyfiles? +sed -i -e 's|^HTML_FOOTER|HTML_FOOTER = ../../doc/gdal_footer.html\n#HTML_FOOTER = |' swig/perl/Doxyfile +sed -i -e 's|^HTML_FOOTER|HTML_FOOTER = ../../doc/gdal_footer.html\n#HTML_FOOTER = |' frmts/gxf/Doxyfile +sed -i -e 's|^HTML_FOOTER|HTML_FOOTER = ../../doc/gdal_footer.html\n#HTML_FOOTER = |' frmts/sdts/Doxyfile +sed -i -e 's|^HTML_FOOTER|HTML_FOOTER = ../../doc/gdal_footer.html\n#HTML_FOOTER = |' frmts/pcraster/doxygen.cfg +sed -i -e 's|^HTML_FOOTER|HTML_FOOTER = ../../doc/gdal_footer.html\n#HTML_FOOTER = |' frmts/iso8211/Doxyfile + +%build + +# Append some include paths +export CPPFLAGS="$CPPFLAGS -I%{_includedir}/libgeotiff" +export CPPFLAGS="$CPPFLAGS `dap-config --cflags`" + +# code may contain sensible buffer overflows triggered by gcc ssp flag (mustfixupstream). +#TODO: Upstream +#Probably useless -- Während Libgeotiff-Problem probiert +# There actually is a test for the version of Libdap, but it is set manually down here +# EPEL 5 has 3.9 and not 3.10, why this is not a good idea +export CXXFLAGS=`echo %{optflags}|sed -e 's/\-Wp\,-D_FORTIFY_SOURCE\=2 / -fPIC -DPIC -DLIBDAP_310 /g'` +export CFLAGS=`echo %{optflags}|sed -e 's/\-Wp\,\-D_FORTIFY_SOURCE\=2 / -fPIC -DPIC /g'` + +# For future reference: +#--with-epsilon (https://bugzilla.redhat.com/show_bug.cgi?id=660023) +#--with-rasdaman (not packaged yet, but experimented around (Volker Fröhlich)) +#jdk und jre? + +%configure \ + --datadir=%{_datadir}/%{name}/ \ + --includedir=%{_includedir}/%{name}/ \ + --prefix=%{_prefix} \ + --with-curl \ + --with-cfitsio=%{_prefix} \ + --with-dods-root=%{_prefix} \ + --with-expat \ + --with-geos \ + --with-geotiff=external \ + --with-gif \ + --with-hdf4 \ + --with-hdf5 \ + --with-jasper \ + --with-jpeg \ + --with-jpeg12=no \ + --with-liblzma \ + --with-libtiff=external \ + --with-libz \ + --with-mysql \ + --with-netcdf \ + --with-odbc \ + --with-ogdi \ + --with-openjpeg \ + --with-pcraster \ + --with-perl \ + --with-pg \ + --with-png \ + --with-poppler \ + --with-python \ + --with-spatialite \ + --with-sqlite3 \ + --with-threads \ + --with-xerces \ + --with-xerces-inc=%{_includedir} \ + --with-xerces-lib='-lxerces-c' \ + --enable-shared \ + --with-ruby \ + --with-gdal-ver=%{version}-fedora + + +# WARNING !!! +# {?_smp_mflags} don't work for this package +make + +# make perl modules, disable makefile generate +pushd swig/perl + perl Makefile.PL; make; + echo > Makefile.PL; +popd + +# Make Java module +pushd swig/java + #Why do I BR Ant then? + # fix makefile + #TODO: Upstream + sed -i -e 's|include java.opt|\#include java.opt|' GNUmakefile + sed -i -e 's|\$(LD) -shared \$(LDFLAGS) \$(CONFIG_LIBS)|g++ -shared -lgdal -L..\/..\/.libs|g' GNUmakefile + make +popd + +# remake documentation for multilib issues +# also include many pdf documentation +# make man gibt es irgendwie auch +#Für gdal-config muss man die Man-Seite eventuell namentlich anpassen +#Andere sind vielleicht auch sinnlos. Und ob die alle man3 sind, weiß ich auch nicht. + +%global docdirs ./ apps doc doc/br doc/ru ogr ogr/ogrsf_frmts frmts/gxf frmts/iso8211 frmts/pcidsk frmts/sdts frmts/vrt swig/perl swig/python +for docdir in %{docdirs}; do +cp -p doc/gdal_footer.html $docdir/footer_local.html +pushd $docdir + if [ ! -f Doxyfile ]; then + doxygen -g + else + doxygen -u + fi + sed -i -e 's|^HTML_FOOTER|HTML_FOOTER = footer_local.html\n#HTML_FOOTER |' Doxyfile + sed -i -e 's|^GENERATE_LATEX|GENERATE_LATEX = YES\n#GENERATE_LATEX |' Doxyfile + sed -i -e 's|^USE_PDFLATEX|USE_PDFLATEX = YES\n#USE_PDFLATEX |' Doxyfile + + if [ $docdir == "doc/ru" ]; then + sed -i -e 's|^OUTPUT_LANGUAGE|OUTPUT_LANGUAGE = Russian\n#OUTPUT_LANGUAGE |' Doxyfile + fi + if [ $docdir == "apps" ]; then + sed -i -e 's|^GENERATE_MAN|GENERATE_MAN = YES\n#GENERATE_MAN |' Doxyfile + fi + + rm -rf latex html + doxygen + + %if %{build_refman} + pushd latex + sed -i -e '/rfoot\[/d' -e '/lfoot\[/d' doxygen.sty + sed -i -e '/small/d' -e '/large/d' refman.tex + sed -i -e 's|pdflatex|pdflatex -interaction nonstopmode |g' Makefile + make refman.pdf || true + popd + %endif + rm -rf footer_local.html + popd +done + +%install +rm -rf %{buildroot} +#Was soll die gdal-1.8.0-2.fc14.x86_64/usr/local/lib64/perl? Leer ist es und installiert wird sie eh nicht + +#Die brasilianische HTML-Doku ist schon mal teils tot -- /usr/share/doc/gdal-doc-1.8.0/docs/docs-64/br/warptut.html -- Da stimmt wohl der Pfad nicht +#Auf Englisch geht die C-API nicht: /usr/share/doc/gdal-doc-1.8.0/docs/docs-64/en/html/gdal_8h.html oder /usr/share/doc/gdal-doc-1.8.0/docs/docs-64/en/html/classGDALDataset.html -- Das kugelt in /usr/share/doc/gdal-doc-1.8.0/docs/docs-64 +#Bei den Russen kommt auch nicht viel. + +#Eventuell kann das ans Ende von Build -- in Source ist es nicht, aber vielleicht kann man es beeinflussen +# Fix some perl installation issue +sed -i 's|>> $(DESTINSTALLARCHLIB)\/perllocal.pod|> \/dev\/null|g' swig/perl/Makefile_* + +# Fix Python installation path +sed -i 's|setup.py install|setup.py install --root=%{buildroot}|' swig/python/GNUmakefile + +make DESTDIR=%{buildroot} \ + install + +make DESTDIR=%{buildroot} \ + INST_MAN=%{_mandir} \ + install-man +#TODO: Und was tun die 2? install-docs? +#Gehen für die apps vielleicht man-pages? +#Was ist die bridge? + +# move perl modules in the right path +mkdir -p %{buildroot}%{perl_vendorarch} +mv %{buildroot}%{perl_sitearch}/* %{buildroot}%{perl_vendorarch}/ +find %{buildroot}%{perl_vendorarch} -name "*.dox" -exec rm -rf '{}' \; + +# fix some exec bits +find %{buildroot}%{perl_vendorarch} -name "*.so" -exec chmod 755 '{}' \; +find %{buildroot}%{python_lib} -name "*.so" -exec chmod 755 '{}' \; +cat /dev/null > python-sitearch.files +for pf in $(find %{buildroot}%{python_lib}); do + echo $pf | sed -e 's|^%{buildroot}||' >> python-sitearch.files +done + +# move ruby modules in the right path +mv %{buildroot}%{ruby_sitelib}/%{name}/*.* %{buildroot}%{ruby_sitelib}/ +rm -rf %{buildroot}%{ruby_sitelib}/%{name} +cat /dev/null > ruby-sitearch.files +for rf in $(find %{buildroot}%{ruby_sitelib}); do + echo $rf | sed -e 's|^%{buildroot}||' >> ruby-sitearch.files +done + +#Irgendwas stimmt mit dem Debug-Zeug nicht. Da isst der ganze /media/speicher-Baum drin. +#Gehören die Perl-Sachen echt unter /usr/lib64? 444 ist auch komisch, 644 ist normal + +# Use common date (multi-lib issues) +#Nötig? +#touch -r NEWS swig/java/gdal.jar +mkdir -p %{buildroot}%{_javadir} +cp -p swig/java/gdal.jar \ + %{buildroot}%{_javadir}/%{name}.jar + +# Install Maven pom +install -d -m 755 %{buildroot}%{_mavenpomdir} +install -pm 644 %{SOURCE2} \ + %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom + +# Create depmap fragment +%add_to_maven_depmap org.gdal gdal-java-bindings %{version} JPP %{name} + +# copy JNI libraries and links, non versioned link needed by JNI +cp -pvl swig/java/.libs/*.so* \ + %{buildroot}%{_libdir} +chrpath --delete %{buildroot}%{_libdir}/*jni.so* + +# install and include all docs +#TODO: Die Einteilung ist komisch. Die Refman-pdfs kommen alle in ein Verzeichnis, die API-pdfs nicht. +# due TeX-related issues some refman.pdf are not created +rm -rf docs doc/docs-perl + +#TODO: HTML und PDF oder nach Themen verschieden? +mkdir -p gdal_frmts; find frmts -name "*.html" -exec install -p -m 644 '{}' doc/gdal_frmts/ \; +mkdir -p ogrsf_frmts; find ogr -name "*.html" -exec install -p -m 644 '{}' doc/ogrsf_frmts/ \; + +%if %{build_refman} + mkdir -p pdf + + #TODO: + #Docdirs-Variable? + #Timestamp holen +#TODO: http://fedoraproject.org/wiki/PackagingDrafts/MultilibTricks#Timestamps + pushd pdf + mkdir -p apps br en ru ogr frmts/gxf frmts/sdts frmts/iso8211 + popd + + install -p -m 644 doc/latex/refman.pdf docs/docs-%{cpuarch}/pdf/en + install -p -m 644 doc/br/latex/refman.pdf docs/docs-%{cpuarch}/pdf/br/ + install -p -m 644 latex/refman.pdf docs/docs-%{cpuarch}/ + install -p -m 644 latex/class*.pdf docs/docs-%{cpuarch}/ + install -p -m 644 doc/ru/latex/refman.pdf docs/docs-%{cpuarch}/pdf/ru/ + install -p -m 644 ogr/latex/refman.pdf docs/docs-%{cpuarch}/pdf/ogr/ + install -p -m 644 ogr/latex/class*.pdf docs/docs-%{cpuarch}/pdf/ogr/ + install -p -m 644 ogr/ogrsf_frmts/latex/refman.pdf docs/docs-%{cpuarch}/pdf/ogrsf_frmts/ + #install -p -m 644 ogr/ogrsf_frmts/dgn/latex/refman.pdf docs/docs-%{cpuarch}/pdf/ogrsf_frmts/dgn/ + install -p -m 644 frmts/gxf/latex/refman.pdf docs/docs-%{cpuarch}/pdf/frmts/gxf/ + install -p -m 644 frmts/sdts/latex/class*.pdf docs/docs-%{cpuarch}/pdf/frmts/gxf/ + install -p -m 644 frmts/sdts/latex/refman.pdf docs/docs-%{cpuarch}/pdf/frmts/sdts/ + install -p -m 644 frmts/iso8211/latex/refman.pdf docs/docs-%{cpuarch}/pdf/frmts/iso8211/ + mkdir -p doc/docs-perl/docs-%{cpuarch}/pdf + install -p -m 644 swig/perl/latex/refman.pdf doc/docs-perl/docs-%{cpuarch}/pdf +%endif + +mkdir -p docs-perl + +mkdir -p en/html gdal_frmts ogrsf_frmts br ru +popd + +cp -pr html/* . +cp -pr doc/html/* en/html +cp -pr doc/gdal_frmts/* gdal_frmts +cp -pr doc/ogrsf_frmts/* ogrsf_frmts +cp -pr doc/br/html/* br +cp -pr doc/ru/html/* ru +cp -pr swig/perl/html/* docs-perl + +# install multilib cpl_config.h bz#430894 +install -p -D -m 644 port/cpl_config.h %{buildroot}%{_includedir}/%{name}/cpl_config-%{cpuarch}.h +# create universal multilib cpl_config.h bz#341231 +# Das ist leider noch immer so. Allerdings: "#undef"? +cat > %{buildroot}%{_includedir}/%{name}/cpl_config.h <<EOF +#include <bits/wordsize.h> + +#if __WORDSIZE == 32 +#include "gdal/cpl_config-32.h" +#else +#if __WORDSIZE == 64 +#include "gdal/cpl_config-64.h" +#else +#error "Unknown word size" +#endif +#endif +EOF +touch -r NEWS port/cpl_config.h + +# Nochmal genau anschauen. Die $-Sachen passen an sich +# Install pkgconfig file +cat > %{name}.pc <<EOF +prefix=%{_prefix} +exec_prefix=%{_prefix} +libdir=%{_libdir} +includedir=%{_includedir} + +Name: GDAL +Description: GIS file format library +Version: %{version} +Libs: -L\${libdir} -lgdal +Cflags: -I\${includedir}/%{name} +EOF + +#Was soll das -p? +mkdir -p %{buildroot}%{_libdir}/pkgconfig/ +install -p -m 644 %{name}.pc %{buildroot}%{_libdir}/pkgconfig/ +touch -r NEWS %{buildroot}%{_libdir}/pkgconfig/ + +# multilib gdal-config +mv %{buildroot}%{_bindir}/%{name}-config %{buildroot}%{_bindir}/%{name}-config-%{cpuarch} +cat > %{buildroot}%{_bindir}/%{name}-config <<EOF +#!/bin/bash + +#TODO: Za wos! +ARCH=\$(uname -m) +case \$ARCH in +x86_64 | ppc64 | ia64 | s390x | sparc64 | alpha | alphaev6 ) +%{name}-config-64 \${*} +;; +*) +%{name}-config-32 \${*} +;; +esac +EOF +chmod 755 %{buildroot}%{_bindir}/%{name}-config +touch -r NEWS %{buildroot}%{_bindir}/%{name}-config + +# Cleanup junk +rm -rf %{buildroot}%{_includedir}/%{name}/%{name} +rm -rf docs/docs-%{cpuarch}/ru/installdox +rm -rf docs/docs-%{cpuarch}/en/html/installdox +rm -rf %{buildroot}%{_bindir}/gdal_sieve.dox +rm -rf %{buildroot}%{_bindir}/gdal_fillnodata.dox +for junk in {*.a,*.la,*.bs,.exists,.packlist} ; do + find %{buildroot} -name "$junk" -exec rm -rf '{}' \; +done + + +%check + +pushd %{name}autotest-%{version} + # export test enviroment + export PYTHONPATH=$PYTHONPATH:%{buildroot}%{python_lib} + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:%{buildroot}%{_libdir} + export GDAL_DATA=%{buildroot}%{_datadir}/%{name}/ + + # Enable on demand + #export GDAL_RUN_SLOW_TESTS=1 + #export GDAL_DOWNLOAD_TEST_DATA=1 + + # Na ja, das könnte man aber auch installieren + # remove some testcases for now due to build failure + rm -rf ogr/ogr_ingres.py # No Ingres test + rm -rf ogr/ogr_grass.py # No GRASS test + rm -rf ogr/ogr_libkml.py # No libkml test + rm -rf ogr/ogr_pg.py # no pgsql during test (disabled) + rm -rf ogr/ogr_mysql.py # no mysql during test (disabled) + rm -rf ogr/ogr_dods.py # no DODS during test (disabled) + rm -rf gdrivers/dods.py # no DODS during test (disabled) + rm -rf gdrivers/ecw.py # No ECW driver + rm -rf gdrivers/jp2kak.py + rm -rf gdrivers/rasdaman.py + rm -rf gdrivers/grass.py + rm -rf gdrivers/mrsid.py + rm -rf gdrivers/ingr.py + rm -rf osr/osr_esri.py # ESRI datum absent (disabled) + rm -rf ogr/ogr_sql_test.py # no SQL during tests + #rm -rf gcore/mask.py # crash ugly (mustfix) + + # run tests but force than normal exit + #./run_all.py + #./run_all.py || true +popd + +%clean +rm -rf %{buildroot} + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%post java +/sbin/ldconfig +%update_maven_depmap + +%postun java +/sbin/ldconfig +%update_maven_depmap + +%files +%defattr(-,root,root,-) +%doc LICENSE.TXT NEWS PROVENANCE.TXT PROVENANCE.TXT-fedora COMMITERS +%{_bindir}/gdallocationinfo +%{_bindir}/gdal_contour +%{_bindir}/gdal_rasterize +%{_bindir}/gdal_translate +%{_bindir}/gdaladdo +%{_bindir}/gdalinfo +%{_bindir}/gdaldem +%{_bindir}/gdalbuildvrt +%{_bindir}/gdaltindex +%{_bindir}/gdalwarp +%{_bindir}/gdal_grid +%{_bindir}/gdalenhance +%{_bindir}/gdalmanage +%{_bindir}/gdaltransform +%{_bindir}/nearblack +%{_bindir}/ogr* +%{_bindir}/testepsg +%{_bindir}/epsg_tr.py* +%{_bindir}/esri2wkt.py* +%{_bindir}/gcps* +%{_bindir}/gdal*.py* +%{_bindir}/pct2rgb.py* +%{_bindir}/rgb2pct.py* +%{_bindir}/mkgraticule.py* +#Why? +%dir %{_datadir}/%{name} +%{_datadir}/%{name}/* + +%files libs +%defattr(-,root,root,-) +%{_libdir}/libgdal.so.* + +%files devel +%defattr(-,root,root,-) +%{_bindir}/%{name}-config +%{_bindir}/%{name}-config-%{cpuarch} +%dir %{_includedir}/%{name} +%{_includedir}/%{name}/*.h +%{_libdir}/*.so +%{_libdir}/pkgconfig/%{name}.pc + +%files ruby -f ruby-sitearch.files +%defattr(-,root,root,-) + +#Devel package depending on Java is awful! + +%files java +%defattr(-,root,root,-) +%doc swig/java/apps +%{_javadir}/%{name}.jar +%{_libdir}/*jni.so.* +%{_mavenpomdir}/* +%{_mavendepmapfragdir}/* + +%files perl +%defattr(-,root,root,-) +%doc doc/docs-perl +%doc swig/perl/README +%{perl_vendorarch}/* + +%files python -f python-sitearch.files +%defattr(-,root,root,-) +%doc swig/python/samples +#? +%{_bindir}/*.py + +%files doc +%defattr(-,root,root) +%doc docs + +%changelog +* Mon Mar 06 2011 Volker Fröhlich <volker27@gmx.at> - 1.8.0-2 +- Dropped support for EL4 +- Dropped integrated support for Grass, in anticiaption of grass-gdal package + +* Mon Feb 21 2011 Volker Fröhlich <volker27@gmx.at> - 1.8.0-1 +- New upstream version +- Dropped static sub-package as no other package uses it as BR +- Harmonized RPM_BUILDROOT and buildroot +- Support for: + PostgreSQL + JPEG lossless + WMS, WFS + LZMA compression + Spatialite + GeoPDF +- Delete included libs before building + +* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Sun Nov 21 2010 Viji Nair <viji [AT] fedoraproject DOT org> - 1.7.3-2 +- Install all the generated pdf documentation. +- Build documentation as a separate package. +- Spec cleanup + +* Fri Nov 19 2010 Viji Nair <viji [AT] fedoraproject DOT org> - 1.7.3-1 +- Update to latest upstream version +- Added jnis +- Patches updated with proper version info +- Added suggestions from Ralph Apel <r.apel@r-apel.de> + + Versionless symlink for gdal.jar + + Maven2 pom + + JPP-style depmap + + Use -f XX.files for ruby and python + +* Sun Oct 31 2010 Mathieu Baudier <mbaudier@argeo.org> - 1.7.2-5_2 +- PCRaster support +- cURL support +- Disable building the reference manual (really too long...) + +* Sat Oct 09 2010 Mathieu Baudier <mbaudier@argeo.org> - 1.7.2-5_1 +- Add Java JNI libraries + +* Sat Aug 14 2010 Mathieu Baudier <mbaudier@argeo.org> - 1.7.2-5_0 +- Rebuild for EL GIS, based on work contributed by Nikolaos Hatzopoulos and Peter Hopfgartner +- Use vanilla sources + +* Wed Jul 21 2010 David Malcolm <dmalcolm@redhat.com> - 1.7.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + +* Tue Jul 20 2010 Orion Poplawski <orion@cora.nwra.com> - 1.7.2-4 +- Rebuild with grass support + +* Thu Jul 17 2010 Orion Poplawski <orion@cora.nwra.com> - 1.7.2-3 +- Add patch to change AISConnect() to Connect() for libdap 3.10 +- build without grass for libdap soname bump + +* Tue Jul 13 2010 Kevin Kofler <Kevin@tigcc.ticalc.org> - 1.7.2-2 +- reenable grass support + +* Fri Jul 09 2010 Robert Scheck <robert@fedoraproject.org> - 1.7.2-1 +- upgrade to 1.7.2 (#587707, huge thanks to Sven Lankes) + +* Thu Mar 18 2010 Balint Cristian <cristian.balint@gmail.com> - 1.7.1-2 +- fix bz#572617 + +* Thu Mar 18 2010 Balint Cristian <cristian.balint@gmail.com> - 1.7.1-1 +- new stable branch +- re-enable java ColorTable +- gdal custom fedora version banner +- rebuild without grass +- gdal manual are gone (upstream fault) + +* Fri Feb 5 2010 Kevin Kofler <Kevin@tigcc.ticalc.org> - 1.6.2-5 +- reenable grass support + +* Fri Feb 5 2010 Kevin Kofler <Kevin@tigcc.ticalc.org> - 1.6.2-4 +- temporarily disable grass support for bootstrapping +- rebuild for new libxerces-c + +* Tue Dec 8 2009 Michael Schwendt <mschwendt@fedoraproject.org> - 1.6.2-3 +- Explicitly BR hdf-static in accordance with the Packaging + Guidelines (hdf-devel is still static-only). + +* Thu Nov 19 2009 Orion Poplawski <orion@cora.nwra.com> - 1.6.2-2 +- re-enable grass support + +* Tue Nov 17 2009 Orion Poplawski <orion@cora.nwra.com> - 1.6.2-1 +- Update to 1.6.2 +- Rebuild for netcdf 4.1.0 + +* Fri Aug 21 2009 Tomas Mraz <tmraz@redhat.com> - 1.6.1-2 +- rebuilt with new openssl + +* Thu Jul 30 2009 Dan Horak <dan[at]danny.cz> - 1.6.1-1 +- add patch for incompatibilities caused by libdap 3.9.x (thanks goes to arekm from PLD) +- update to 1.6.1 +- don't install some refman.pdf, because they don't build +- don't fail on man pages with suffix other than .gz +- fix filelist for python subpackage + +* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6.0-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Jul 22 2009 Orion Poplawski <orion@cora.nwra.com> - 1.6.0-9 +- Rebuild for libdap 3.9.3, bootstrap + +* Mon Mar 23 2009 Jesse Keating <jkeating@redhat.com> - 1.6.0-8 +- re-enable grass support + +* Sun Mar 22 2009 Lubomir Rintel <lkundrak@v3.sk> - 1.6.0-7 +- Depend specifically on GCJ for Java (Alex Lancaster) +- Disable grass (Alex Lancaster) +- Create %%_bindir before copying files there + +* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Feb 04 2009 Balint Cristian <cristian.balint@gmail.com> - 1.6.0-4 +- rebuild with grass support +- fix email typo + +* Thu Jan 29 2009 Balint Cristian <cristian.balint@gmail.com> - 1.6.0-3 +- rebuild against mysql 5.1.30 + +* Thu Jan 29 2009 Balint Cristian <cristian.balint@gmail.com> - 1.6.0-2 +- email change +- rebuild without grass + +* Fri Dec 12 2008 Balint Cristian <rezso@rdsor.ro> - 1.6.0-1 +- final stable release + +* Sat Dec 06 2008 Balint Cristian <rezso@rdsor.ro> - 1.6.0-0.2.rc4 +- enable grass + +* Sat Dec 06 2008 Balint Cristian <rezso@rdsor.ro> - 1.6.0-0.1.rc4 +- new branch +- disable grass +- fix ruby compile + +* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 1.5.3-2 +- Rebuild for Python 2.6 + +* Fri Oct 24 2008 Balint Cristian <rezso@rdsor.ro> - 1.5.3-1 +- new stable +- ship static package too +- fix some doc generation +- libdap patch for fc10 only + +* Tue Sep 30 2008 Balint Cristian <rezso@rdsor.ro> - 1.5.2-4 +- enable gdal_array for python subpackage +- require numpy + +* Tue Sep 9 2008 Patrice Dumas <pertusus@free.fr> - 1.5.2-3 +- patch for libdap > 0.8.0, from Rob Cermak + +* Thu Jun 12 2008 Balint Cristian <rezso@rdsor.ro> - 1.5.2-1 +- a new bugfix upstream +- drop gcc43 patch +- more license cleaned + +* Wed May 27 2008 Balint Cristian <rezso@rdsor.ro> - 1.5.1-13 +- fix pkgconfig too + +* Wed May 27 2008 Balint Cristian <rezso@rdsor.ro> - 1.5.1-12 +- fix once more gdal-config + +* Tue May 27 2008 Balint Cristian <rezso@rdsor.ro> - 1.5.1-11 +- fix multilib gdal-config, add wrapper around +- fix typos in cpl_config.h wrapper + +* Tue May 27 2008 Balint Cristian <rezso@rdsor.ro> - 1.5.1-10 +- fix for multilib packaging bz#341231 +- huge spec cleanup +- enable russian and brazil docs +- enable and triage more docs + +* Sun May 25 2008 Balint Cristian <rezso@rdsor.ro> - 1.5.1-9 +- enable ruby and java packages +- fix spurious sed problem +- spec file cosmetics + +* Thu May 23 2008 Balint Cristian <rezso@rdsor.ro> - 1.5.1-8 +- fix sincos on all arch + +* Thu May 15 2008 Balint Cristian <rezso@rdsor.ro> - 1.5.1-7 +- fix x86_64 problem + +* Wed Apr 16 2008 Balint Cristian <rezso@rdsor.ro> - 1.5.1-6 +- disable fortify source, it crash gdal for now. + +* Fri Mar 28 2008 Balint Cristian <rezso@rdsor.ro> - 1.5.1-5 +- really eanble against grass63 + +* Fri Mar 28 2008 Balint Cristian <rezso@rdsor.ro> - 1.5.1-4 +- disable grass to bootstrap once again + +* Fri Mar 28 2008 Balint Cristian <rezso@rdsor.ro> - 1.5.1-3 +- rebuild to really pick up grass63 in koji + +* Fri Mar 28 2008 Balint Cristian <rezso@rdsor.ro> - 1.5.1-2 +- enable build against newer grass +- enable build of reference manuals + +* Tue Mar 25 2008 Balint Cristian <rezso@rdsor.ro> - 1.5.1-1 +- new bugfix release from upstream +- drop large parts from gcc43 patch, some are upstream now +- fix building with perl-5.10 swig binding issue + +* Wed Feb 29 2008 Orion Poplawski <orion@cora.nwra.com> - 1.5.0-4 +- Rebuild for hdf5-1.8.0, use compatability API define + +* Tue Feb 12 2008 Balint Cristian <rezso@rdsor.ro> - 1.5.0-3 +- install cpl_config.h manually for bz#430894 +- fix gcc4.3 build + +* Mon Jan 14 2008 Balint Cristian <rezso@rdsor.ro> - 1.5.0-2 +- fix perl dependency issue. + +* Mon Jan 07 2008 Balint Cristian <rezso@rdsor.ro> - 1.5.0-1 +- update to new 1.5.0 upstream stable +- dropped build patch since HFA/ILI/DGN mandatories are now present +- dropped swig patch, its upstream now +- enable HFA it holds Intergraph (TM) explicit public license +- enable DGN it holds Avenza Systems (TM) explicit public license +- enable ILI headers since now contain proper public license message +- keep and polish up rest of doubted license +- further fixed hdf not supporting netcdf for for bz#189337 +- kill the annoying -Lexternal/lib for -lgeotiff +- fix configure to not export LDFLAGS anyomre, upstream + should really switch to real GNU automagic stuff +- pymod samples and rfc docs now gone +- hardcode external libtool to be used, LIBTOOL env not propagating anymore +- use DESTDIR instead + +* Thu Jan 03 2008 Alex Lancaster <alexlan[AT]fedoraproject.org> - 1.4.2-7 +- Re-enable grass support now that gdal has been bootstrapped + +* Wed Jan 02 2008 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 1.4.2-6 +- Bootstrap 1st: disabling grass support +- Workaround for hdf not supporting netcdf (bug 189337 c8) +- Disabling documents creation for now. + +* Thu Dec 06 2007 Release Engineering <rel-eng at fedoraproject dot org> - 1.4.2-5 +- Rebuild for deps +- Disable grass to avoid circular deps + +* Tue Aug 28 2007 Fedora Release Engineering <rel-eng at fedoraproject dot org> - 1.4.2-3 +- Rebuild for selinux ppc32 issue. + +* Wed Jul 24 2007 Balint Cristian <cbalint@redhat.com> 1.4.2-2 +- disable one more HFA test, HFA is unaviable due to license + +* Wed Jul 24 2007 Balint Cristian <cbalint@redhat.com> 1.4.2-1 +- new upstream one +- catch some more docs +- fix ogr python module runtime +- include testcases and run tests +- enable geotiff external library we have new libgeotiff now +- EPSG geodetic database is licensed OK since v6.13 so re-enable +- enable it against grass by default, implement optional switches + +* Tue Jun 05 2007 Balint Cristian <cbalint@redhat.com> 1.4.1-4 +- re-build. + +* Sat May 12 2007 Balint Cristian <cbalint@redhat.com> 1.4.1-3 +- re-build against grass. + +* Fri May 11 2007 Balint Cristian <cbalint@redhat.com> 1.4.1-2 +- fix python lookup paths for ppc64. + +* Wed May 09 2007 Balint Cristian <cbalint@redhat.com> 1.4.1-1 +- new upstream release. +- disable temporary grass-devel requirement untill find a + resonable solution for gdal-grass egg-chicken dep problem. + +* Fri Apr 20 2007 Balint Cristian <cbalint@redhat.com> 1.4.0-22 +- and olso dont attempt pack missing docs. + +* Fri Apr 20 2007 Balint Cristian <cbalint@redhat.com> 1.4.0-21 +- exclude some docs, doxygen segfault with those now upstream. + +* Fri Apr 20 2007 Balint Cristian <cbalint@redhat.com> 1.4.0-20 +- rebuild against latest fedora upstream tree. + +* Mon Apr 02 2007 Balint Cristian <cbalint@redhat.com> 1.4.0-19 +- own gdal includedir +- fix one more spurious lib path + +* Wed Mar 21 2007 Balint Cristian <cbalint@redhat.com> 1.4.0-18 +- remove system lib path from gdal-config --libs, its implicit + +* Tue Mar 20 2007 Balint Cristian <cbalint@redhat.com> 1.4.0-17 +- enable build against grass +- fix incorrect use of 32/64 library paths lookups + +* Fri Mar 16 2007 Balint Cristian <cbalint@redhat.com> 1.4.0-16 +- fix gdal flag from pkgconfig file + +* Thu Mar 15 2007 Balint Cristian <cbalint@redhat.com> 1.4.0-15 +- require pkgconfig +- generate pkgconfig from spec instead + +* Thu Mar 15 2007 Balint Cristian <cbalint@redhat.com> 1.4.0-14 +- require perl(ExtUtils::MakeMaker) instead ?dist checking +- add pkgconfig file + +* Wed Mar 14 2007 Balint Cristian <cbalint@redhat.com> 1.4.0-13 +- fix typo in specfile + +* Wed Mar 14 2007 Balint Cristian <cbalint@redhat.com> 1.4.0-12 +- add missing dot from dist string in specfile + +* Wed Mar 14 2007 Balint Cristian <cbalint@redhat.com> 1.4.0-11 +- fix fc6 fc5 builds + +* Thu Mar 1 2007 Balint Cristian <cbalint@redhat.com> 1.4.0-10 +- fix mock build +- require perl-devel + +* Tue Feb 27 2007 Balint Cristian <cbalint@redhat.com> 1.4.0-9 +- repack tarball for fedora, explain changes in PROVENANCE-fedora, + license should be clean now according to PROVENANCE-* files +- require ogdi since is aviable now +- drop nogeotiff patch, in -fedora tarball geotiff is removed +- man page triage over subpackages +- exclude python byte compiled objects +- fix some source C file exec bits + +* Sat Feb 24 2007 Balint Cristian <cbalint@redhat.com> 1.4.0-8 +- fix more things in spec +- include more docs + +* Wed Feb 21 2007 Balint Cristian <cbalint@redhat.com> 1.4.0-7 +- libtool in requirement list for build + +* Wed Feb 21 2007 Balint Cristian <cbalint@redhat.com> 1.4.0-6 +- use external libtool to avoid rpath usage +- include more docs + +* Mon Feb 12 2007 Balint Cristian <cbalint@redhat.com> 1.4.0-5 +- use rm -rf for removal of dirs. +- fix require lists + +* Mon Feb 12 2007 Balint Cristian <cbalint@redhat.com> 1.4.0-4 +- fix doxygen buildreq +- make sure r-path is fine. + +* Sat Feb 10 2007 Balint Cristian <cbalint@redhat.com> 1.4.0-3 +- disable now ogdi (pending ogdi submission). + +* Sat Feb 10 2007 Balint Cristian <cbalint@redhat.com> 1.4.0-2 +- more fixups for lib paths + +* Fri Feb 09 2007 Balint Cristian <cbalint@redhat.com> 1.4.0-1 +- first pack for fedora extras +- disable geotiff (untill license sorted out) +- enable all options aviable from extras +- pack perl and python modules +- kill r-path from libs +- pack all docs posible |