diff --git a/gdal-gcc5-getaddrinfo-issue6073.patch b/gdal-gcc5-getaddrinfo-issue6073.patch new file mode 100644 index 0000000..7e4d050 --- /dev/null +++ b/gdal-gcc5-getaddrinfo-issue6073.patch @@ -0,0 +1,14 @@ +Index: apps/gdalserver.c +=================================================================== +--- a/apps/gdalserver.c ++++ b/apps/gdalserver.c +@@ -28,7 +28,6 @@ + ****************************************************************************/ + +-#if defined(__STDC_VERSION__) +-#define _XOPEN_SOURCE +-#endif ++// So that __USE_XOPEN2K is defined to have getaddrinfo ++#define _XOPEN_SOURCE 600 + + #include "cpl_port.h" diff --git a/gdal-python-swig3-issue6045.patch b/gdal-python-swig3-issue6045.patch new file mode 100644 index 0000000..5b8b343 --- /dev/null +++ b/gdal-python-swig3-issue6045.patch @@ -0,0 +1,63 @@ +diff -rup a/swig/include/python/ogr_python.i b/swig/include/python/ogr_python.i +--- a/swig/include/python/ogr_python.i 2015-02-10 13:12:08.000000000 +0100 ++++ b/swig/include/python/ogr_python.i 2015-08-28 11:51:02.955567700 +0200 +@@ -66,9 +66,9 @@ + + def __getitem__(self, value): + """Support dictionary, list, and slice -like access to the datasource. +-ds[0] would return the first layer on the datasource. +-ds['aname'] would return the layer named "aname". +-ds[0:4] would return a list of the first four layers.""" ++ ds[0] would return the first layer on the datasource. ++ ds['aname'] would return the layer named "aname". ++ ds[0:4] would return a list of the first four layers.""" + if isinstance(value, slice): + output = [] + for i in xrange(value.start,value.stop,value.step): +@@ -134,8 +134,8 @@ ds[0:4] would return a list of the first + + def __getitem__(self, value): + """Support list and slice -like access to the layer. +-layer[0] would return the first feature on the layer. +-layer[0:4] would return a list of the first four features.""" ++ layer[0] would return the first feature on the layer. ++ layer[0:4] would return a list of the first four features.""" + if isinstance(value, slice): + import sys + output = [] +@@ -400,7 +400,7 @@ layer[0:4] would return a list of the fi + + def __reduce__(self): + return (self.__class__, (), self.ExportToWkb()) +- ++ + def __setstate__(self, state): + result = CreateGeometryFromWkb(state) + self.this = result.this +diff -rup a/swig/python/osgeo/ogr.py b/swig/python/osgeo/ogr.py +--- a/swig/python/osgeo/ogr.py 2015-02-10 13:12:08.000000000 +0100 ++++ b/swig/python/osgeo/ogr.py 2015-08-28 11:54:46.775552596 +0200 +@@ -815,9 +815,9 @@ class DataSource(_object): + + def __getitem__(self, value): + """Support dictionary, list, and slice -like access to the datasource. +- ] would return the first layer on the datasource. +- aname'] would return the layer named "aname". +- :4] would return a list of the first four layers.""" ++ ds[0] would return the first layer on the datasource. ++ ds['aname'] would return the layer named "aname". ++ ds[0:4] would return a list of the first four layers.""" + if isinstance(value, slice): + output = [] + for i in xrange(value.start,value.stop,value.step): +@@ -2035,8 +2035,8 @@ class Layer(_object): + + def __getitem__(self, value): + """Support list and slice -like access to the layer. +- r[0] would return the first feature on the layer. +- r[0:4] would return a list of the first four features.""" ++ layer[0] would return the first feature on the layer. ++ layer[0:4] would return a list of the first four features.""" + if isinstance(value, slice): + import sys + output = [] diff --git a/gdal.changes b/gdal.changes index dc15d04..d9cd8fe 100644 --- a/gdal.changes +++ b/gdal.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Fri Aug 28 10:26:28 UTC 2015 - bruno@ioda-net.ch + +- packaging + Redone exclusion for <= 1310 and 1315 + Cleanup empty perl bs files +- Build fixes + * Fix python coding in swig3+ (backport of gdal20) + with patch gdal-python-swig3-issue6045.patch + * Fix gcc5 build upstream issue 6073 + gdal-gcc5-getaddrinfo-issue6073.patch + ------------------------------------------------------------------- Wed Aug 26 09:58:30 UTC 2015 - bruno@ioda-net.ch diff --git a/gdal.spec b/gdal.spec index 7508f63..1a0873b 100644 --- a/gdal.spec +++ b/gdal.spec @@ -34,6 +34,10 @@ Patch3: GDALmake.opt.in.patch Patch4: gdal-libproj.patch # PATCH-FIX-UPSTREAM gdal-poppler-0.31.patch dimstar@opensuse.org -- Fix build with poppler 0.31+, taken from upstream svn. Patch5: gdal-poppler-0.31.patch +# Fix python coding in swig3+ (backport of gdal20) +Patch6: gdal-python-swig3-issue6045.patch +# Fix gcc5 build upstream issue 6073 +Patch7: gdal-gcc5-getaddrinfo-issue6073.patch BuildRequires: blas-devel BuildRequires: chrpath BuildRequires: curl-devel @@ -73,10 +77,10 @@ BuildRequires: libecwj2-devel BuildRequires: autoconf BuildRequires: automake BuildRequires: hdf5-devel -%if 0%{?suse_version} >= 1310 && 0%{?suse_version} != 1315 +%endif +%if 0%{?suse_version} > 1310 && 0%{?suse_version} != 1315 BuildRequires: libwebp-devel BuildRequires: perl-ExtUtils-MakeMaker -%endif %else BuildRequires: hdf-devel >= 4.0 %endif @@ -146,6 +150,8 @@ The GDAL python3 modules provide support to handle multiple GIS file formats. %patch3 -p0 %patch4 -p0 %patch5 -p0 +%patch6 -p1 +%patch7 -p1 # Fix wrong encoding EOL for F in frmt_twms_srtm.xml frmt_wms_bluemarble_s3_tms.xml frmt_wms_virtualearth.xml frmt_twms_Clementine.xml; @@ -159,8 +165,6 @@ done rm -r man -echo "********* 0%{suse_version} *******************************************" - %build # need to regenerate (old one does not accpet CFLAGS) %if 0%{?suse_version} >= 1310 @@ -206,12 +210,12 @@ autoreconf -fi --with-ecw \ CFLAGS="$CFLAGS -pthread" \ %endif -%if 0%{?suse_version} >= 1310 - --without-hdf4 \ - --with-hdf5 \ +%if 0%{?suse_version} > 1310 + --without-hdf4 \ + --with-hdf5 \ --with-webp \ %else - --with-hdf4 \ + --with-hdf4 \ %endif --disable-rpath @@ -246,6 +250,8 @@ cp -a ogr/html html/ogr # If done got python3 needing python2 package heretic .. # Futhermore duplicates are only existing in src html dir %fdupes -s html +# Empty file +rm -f html/do-not-remove # chrpath must be removed here chmod 644 %{buildroot}%{perl_vendorarch}/auto/Geo/GDAL/Const/Const.so @@ -258,8 +264,15 @@ chrpath --delete %{buildroot}%{perl_vendorarch}/auto/Geo/GDAL/GDAL.so chrpath --delete %{buildroot}%{perl_vendorarch}/auto/Geo/OGR/OGR.so chrpath --delete %{buildroot}%{perl_vendorarch}/auto/Geo/OSR/OSR.so -#perl bs 0 length files cleanup +%if 0%{?suse_version} <= 1315 +# perl bs 0 length files cleanup find %{buildroot}%{perl_vendorarch} -name "*.bs" -exec rm -fv {} \; +#Those are deleted. +#%%{perl_vendorarch}/auto/Geo/OSR/OSR.bs +#%%{perl_vendorarch}/auto/Geo/OGR/OGR.bs +#%%{perl_vendorarch}/auto/Geo/GDAL/GDAL.bs +#%%{perl_vendorarch}/auto/Geo/GDAL/Const/Const.bs +%endif # do not ship these rm -rf %{buildroot}%{_mandir}/man1/_*