Skip to content
Commits on Source (16)
......@@ -121,7 +121,7 @@ GDAL_INCLUDE = -I$(GDAL_ROOT)/port -I$(GDAL_ROOT)/gcore \
# libtool targets and help variables
LIBGDAL := libgdal.la
LIBGDAL_CURRENT := 24
LIBGDAL_REVISION := 1
LIBGDAL_REVISION := 2
LIBGDAL_AGE := 4
# native build targets and variables
......
= GDAL/OGR 2.3.2 Release Notes =
The 2.3.2 release is a bug fix release.
== Build ==
All:
Unix:
* Remove additionnal '$' in front of '${CXX}' in configure to fix ECW5 detection
* Set minimum pkg-config version to 0.21
Windows:
== Port ==
* ODBC: Fetch wide-char strings on UNIX (#839)
* /vsigzip/: allow seeking to beginning of file, despite decompression error
* CPLIsMachineForSureGCEInstance(): use a more reliable method of identifying a Google Compute Engine instance
== GDAL core ==
* Statistics/minmax computation: on a float32 raster, be more tolerant when the nodata is slightly larger than +/- FLOAT_MAX
* PAMDataset: avoid illegal down_cast to GDALPamRasterBand. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9358. Credit to OSS Fuzz
* GetMaskBand(): do not use a GDALNoDataMaskBand when nodata value is out of range (#754)
* Windows builds: No DllMain() in static library builds
== GDAL utilities ==
* gdal_translate: make -stats option work with -co COPY_SRC_OVERVIEWS=YES (#792)
* gdal_translate: fix RPC correction when using -srcwin with negative offsets (#827)
* gdal_contour: fix GDAL 2.3 regression with fixed interval contouring that resulted in discontinuities in contour lines (#889)
* gdal2tiles: fix wrong computation of min zoom level in some cases (#730)
* gdal2tiles: fix performance issue by caching source dataset; GDALAutoCreateWarpedVRT(): fix issue with out-of-range nodata values (#770)
* gdal2tiles: restore GDAL < 2.3 behaviour when output directory is not explicitly specified (#795)
* gdal2tiles: fix --force-kml (#809)
== GDAL algorithms ==
* gdal_grid linear: speed-up search of triangle for points outside of the triangulation
* gdal_grid linear: avoid artifacts with degenerate triangles (#638)
* Gauss resampling: fix potential read heap buffer overflow in corner cases. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9783. Credit to OSS Fuzz
* GDALDEMProcessing(): fix null pointer dereference if psOptionsIn == nullptr (#931)
== GDAL drivers ==
E00GRID driver:
* correctly parse projection sections that have lines with tildes (#894)
ENVI driver:
* support reading truncated datasets (#915)
GPKG driver:
* retrieve original raster file when using gdal_translate -co APPEND_SUBDATASET=YES with other gdal_translate switches
* copy source metadata when using TILING_SCHEME
GRIB driver:
* turn printf() warning as CPLDebug() messages
GTiff driver:
* fix retrieving mask band of overview band when the mask is external. Fixes -co COPY_SRC_OVERVIEWS=YES of such datasets (#754)
* Resync with libtiff to fix TIFFTAG_ZSTD_LEVEL pseudo tag value
* Internal libtiff: Fix libtiff 4.0.8 regression when reading LZW-compressed strips with scanline API
* Internal libtiff: fix flush issue that can cause endless loop in ZSTDEncode() (#833)
HTTP driver:
* do not immediately delete a file used by the JP2OpenJPEG driver
netCDF driver:
* avoid use of uninitialized variable when reading blocks in creation mode (#891)
NITF driver:
* avoid heap-buffer-overflow for VQ compression. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9467. Credit to OSS Fuzz
PCIDSK driver:
* add back support for creating external overviews, removed years ago when switching to the new PCIDSK SDK (#887)
PDS4 driver:
* fix georeferencing reading/writing to use pixel corner convention (#735)
PLScenes driver:
* fix /vsicurl/ raster download
* fix scene activation
SRP driver:
* ASRP/USRP: allow opening files padded with 0x5E / ^ character without emitting error (#838)
VRT driver:
* VRTComplexSource: make sure that min and max values in case of exponential resampling are properly computed
WMTS driver:
* avoid issue with reprojection of layer extent into TileMatrixSet SRS
== OGR core ==
*
== OGRSpatialReference ==
* importFromProj4/exportToProj4: fix typo in the PROJ method name of InternalMapOfTheWorldPolyconic which is imw_p (instead of the misspelled iwm_p)
* Krovak: explicit that alpha and Pseudo_standard_parallel_1 are hardcoded in PROJ
== OGR utilities ==
* ogrmerge.py: avoid exception in error code path of GetOutputDriverFor()
== OGR drivers ==
CSV driver:
* avoid endless loop when iterating and updating features (#919)
EDIGEO driver:
* fix reading multipolygons (https://trac.osgeo.org/gdal/ticket/6955, github #711)
ESRIJson driver:
* parse documents that lack 'geometryType' member (#914)
GeoJSON driver:
* increase max memory allowed to parse a single feature (#807)
* remore topojson from extensions recognized by the driver
GPKG driver:
* remove useless check that encoding is UTF-8 (#793)
* fix typo in gpkg_metadata_reference_column_name_update trigger definition that causes failure when renaming a table with latest sqlite master
MITAB driver:
* fix geometry corruption when editing some datasets (#817)
* fix writing .tab when field name has invalid characters in it (#924)
* TABCleanFieldName: remove Windows specific logic related to double-byte codepage since we assume UTF-8 in our interfaces (#924)
MySQL driver:
* add runtime support for MySQL 8.0 for spatial functionalities (#782)
MSSQLSpatial driver:
* Accept datetime values (#841)
* Don't truncate string values (#843)
* Create 3D features (#852)
OSM driver:
* allow parsing files with up to 10 000 nodes per way (#849)
* avoid array overflow with ways with many tags. Relates to https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9618. Credit to OSS Fuzz
PDF driver:
* fix the parser of drawing instructions that had issues with array objects
Shapefile driver:
* fix corruption when deleting a field from a .dbf without records (#863)
VFK driver:
* fix missing fields in update mode gfs (#734)
* fix missing geometry for SBPG layer (#710)
WFS driver:
* avoid potential bad cast. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9800. Credit to OSS Fuzz
== SWIG bindings ==
Java bindings:
* Unix: fix JNI library bundling
Perl bindings:
*
Python bindings:
*
= GDAL/OGR 2.3.1 Release Notes =
 
The 2.3.1 release is a bug fix release.
......
......@@ -46,7 +46,7 @@
#include "ogr_api.h"
#include "ogr_core.h"
CPL_CVSID("$Id: contour.cpp 8ee787afde31c77a0420e7fdfcf083a563450258 2018-05-08 16:25:14 +0200 Even Rouault $")
CPL_CVSID("$Id: contour.cpp a36a30aef269491f2f4c2adc91a6e44e650efd3a 2018-08-29 22:42:54 +0200 Even Rouault $")
// The amount of a contour interval that pixels should be fudged by if they
// match a contour level exactly.
......@@ -561,7 +561,7 @@ CPLErr GDALContourGenerator::ProcessRect(
return CE_Failure;
}
iStartLevel = static_cast<int>(dfStartLevel);
iEndLevel = static_cast<int>(dfStartLevel);
iEndLevel = static_cast<int>(dfEndLevel);
}
if( iStartLevel > iEndLevel )
......
......@@ -49,7 +49,7 @@
#include <ctype.h>
#include <math.h>
CPL_CVSID("$Id: delaunay.c ea2627dc5205e30d3463c64718c3bd147ce0b8c0 2017-10-18 14:26:25Z Even Rouault $")
CPL_CVSID("$Id: delaunay.c 4053978373139ca4eaa4f15e2ae66477516ae4af 2018-06-28 22:56:21 +0200 Even Rouault $")
#if defined(INTERNAL_QHULL) || defined(EXTERNAL_QHULL)
#define HAVE_INTERNAL_OR_EXTERNAL_QHULL 1
......@@ -327,12 +327,25 @@ int GDALTriangulationComputeBarycentricCoefficients(GDALTriangulation* psDT,
double dfY3 = padfY[psFacet->anVertexIdx[2]];
/* See https://en.wikipedia.org/wiki/Barycentric_coordinate_system */
double dfDenom = (dfY2 - dfY3) * (dfX1 - dfX3) + (dfX3 - dfX2) * (dfY1 - dfY3);
psCoeffs->dfMul1X = (dfY2 - dfY3) / dfDenom;
psCoeffs->dfMul1Y = (dfX3 - dfX2) / dfDenom;
psCoeffs->dfMul2X = (dfY3 - dfY1) / dfDenom;
psCoeffs->dfMul2Y = (dfX1 - dfX3) / dfDenom;
psCoeffs->dfCstX = dfX3;
psCoeffs->dfCstY = dfY3;
if( dfDenom == 0.0 )
{
// Degenerate triangle
psCoeffs->dfMul1X = 0.0;
psCoeffs->dfMul1Y = 0.0;
psCoeffs->dfMul2X = 0.0;
psCoeffs->dfMul2Y = 0.0;
psCoeffs->dfCstX = 0.0;
psCoeffs->dfCstY = 0.0;
}
else
{
psCoeffs->dfMul1X = (dfY2 - dfY3) / dfDenom;
psCoeffs->dfMul1Y = (dfX3 - dfX2) / dfDenom;
psCoeffs->dfMul2X = (dfY3 - dfY1) / dfDenom;
psCoeffs->dfMul2Y = (dfX1 - dfX3) / dfDenom;
psCoeffs->dfCstX = dfX3;
psCoeffs->dfCstY = dfY3;
}
}
return TRUE;
}
......@@ -428,6 +441,11 @@ int GDALTriangulationFindFacetBruteForce(const GDALTriangulation* psDT,
double l1, l2, l3;
const GDALTriBarycentricCoefficients* psCoeffs =
&(psDT->pasFacetCoefficients[nFacetIdx]);
if( psCoeffs->dfMul1X == 0.0 )
{
// Degenerate triangle
continue;
}
l1 = BARYC_COORD_L1(psCoeffs, dfX, dfY);
if( l1 < -EPS )
{
......@@ -523,6 +541,11 @@ int GDALTriangulationFindFacetDirected(const GDALTriangulation* psDT,
const GDALTriFacet* psFacet = &(psDT->pasFacets[nFacetIdx]);
const GDALTriBarycentricCoefficients* psCoeffs =
&(psDT->pasFacetCoefficients[nFacetIdx]);
if( psCoeffs->dfMul1X == 0.0 )
{
// Degenerate triangle
break;
}
l1 = BARYC_COORD_L1(psCoeffs, dfX, dfY);
if( l1 < -EPS )
{
......
......@@ -52,7 +52,7 @@
#include "cpl_worker_thread_pool.h"
#include "gdal.h"
CPL_CVSID("$Id: gdalgrid.cpp 9ff327806cd64df6d73a6c91f92d12ca0c5e07df 2018-04-07 20:25:06 +0200 Even Rouault $")
CPL_CVSID("$Id: gdalgrid.cpp 949d180a26e40650413703b2b73b213137b171e4 2018-06-25 13:43:52 +0200 Even Rouault $")
constexpr double TO_RADIANS = M_PI / 180.0;
......@@ -1414,7 +1414,8 @@ GDALGridDataMetricAverageDistancePts( const void *poOptionsIn, GUInt32 nPoints,
* of a Delaunay triangulation the point is, and by doing interpolation from
* its barycentric coordinates within the triangle.
* If the point is not in any triangle, depending on the radius, the
* algorithm will use the value of the nearest point or the nodata value.
* algorithm will use the value of the nearest point (radius != 0),
* or the nodata value (radius == 0)
*
* @param poOptionsIn Algorithm parameters. This should point to
* GDALGridLinearOptions object.
......@@ -1477,6 +1478,13 @@ GDALGridLinear( const void *poOptionsIn, GUInt32 nPoints,
}
else
{
if( nOutputFacetIdx >= 0 )
{
// Also reuse this failed output facet, when valid, as seed for
// next search.
psExtraParams->nInitialFacetIdx = nOutputFacetIdx;
}
const GDALGridLinearOptions *const poOptions =
static_cast<const GDALGridLinearOptions *>(poOptionsIn);
const double dfRadius = poOptions->dfRadius;
......
......@@ -54,7 +54,7 @@
#include "ogr_spatialref.h"
#include "vrtdataset.h"
CPL_CVSID("$Id: gdal_translate_lib.cpp 5da1c4d1b6c7e38f7f5917fff3ddbc8ad42af7aa 2018-03-30 21:59:13 +0200 Even Rouault $")
CPL_CVSID("$Id: gdal_translate_lib.cpp 12bce81eec6ad37298b2719364d1191894cb1b40 2018-08-02 23:09:39 +0200 Even Rouault $")
static int ArgIsNumeric( const char * );
static void AttachMetadata( GDALDatasetH, char ** );
......@@ -923,7 +923,7 @@ GDALDatasetH GDALTranslate( const char *pszDest, GDALDatasetH hSrcDataset,
&& bSpatialArrangementPreserved
&& psOptions->nGCPCount == 0 && !bGotBounds
&& psOptions->pszOutputSRS == nullptr && !psOptions->bSetNoData && !psOptions->bUnsetNoData
&& psOptions->nRGBExpand == 0 && !psOptions->bStats && !psOptions->bNoRAT
&& psOptions->nRGBExpand == 0 && !psOptions->bNoRAT
&& psOptions->panColorInterp == nullptr )
{
......@@ -950,6 +950,21 @@ GDALDatasetH GDALTranslate( const char *pszDest, GDALDatasetH hSrcDataset,
}
}
/* -------------------------------------------------------------------- */
/* Compute stats if required. */
/* -------------------------------------------------------------------- */
if (psOptions->bStats)
{
GDALDataset* poSrcDS = GDALDataset::FromHandle(hSrcDataset);
for( int i = 0; i < poSrcDS->GetRasterCount(); i++ )
{
double dfMin, dfMax, dfMean, dfStdDev;
poSrcDS->GetRasterBand(i+1)->ComputeStatistics(
psOptions->bApproxStats,
&dfMin, &dfMax, &dfMean, &dfStdDev,
GDALDummyProgress, nullptr );
}
}
hOutDS = GDALCreateCopy( hDriver, pszDest, hSrcDataset,
psOptions->bStrict, psOptions->papszCreateOptions,
......@@ -960,6 +975,13 @@ GDALDatasetH GDALTranslate( const char *pszDest, GDALDatasetH hSrcDataset,
return hOutDS;
}
if( CSLFetchNameValue(psOptions->papszCreateOptions, "COPY_SRC_OVERVIEWS") )
{
CPLError(CE_Warning, CPLE_AppDefined,
"General options of gdal_translate make the "
"COPY_SRC_OVERVIEWS creation option ineffective");
}
/* -------------------------------------------------------------------- */
/* Establish some parameters. */
/* -------------------------------------------------------------------- */
......@@ -1216,6 +1238,10 @@ GDALDatasetH GDALTranslate( const char *pszDest, GDALDatasetH hSrcDataset,
double adfDstWin[4] =
{0.0, 0.0, static_cast<double>(nOXSize), static_cast<double>(nOYSize)};
double adfSrcWinOri[4];
static_assert(sizeof(adfSrcWinOri) == sizeof(psOptions->adfSrcWin),
"inconsistent adfSrcWin size");
memcpy(adfSrcWinOri, psOptions->adfSrcWin, sizeof(psOptions->adfSrcWin));
FixSrcDstWindow( psOptions->adfSrcWin, adfDstWin,
GDALGetRasterXSize(hSrcDataset),
GDALGetRasterYSize(hSrcDataset) );
......@@ -1223,7 +1249,7 @@ GDALDatasetH GDALTranslate( const char *pszDest, GDALDatasetH hSrcDataset,
/* -------------------------------------------------------------------- */
/* Transfer generally applicable metadata. */
/* -------------------------------------------------------------------- */
GDALDataset* poSrcDS = reinterpret_cast<GDALDataset*>(hSrcDataset);
GDALDataset* poSrcDS = GDALDataset::FromHandle(hSrcDataset);
char** papszMetadata = CSLDuplicate(poSrcDS->GetMetadata());
if ( psOptions->nScaleRepeat > 0 || psOptions->bUnscale || psOptions->eOutputType != GDT_Unknown )
{
......@@ -1310,11 +1336,11 @@ GDALDatasetH GDALTranslate( const char *pszDest, GDALDatasetH hSrcDataset,
double dfSAMP_SCALE = CPLAtof(CSLFetchNameValueDef(papszMD, "SAMP_SCALE", "1"));
double dfLINE_SCALE = CPLAtof(CSLFetchNameValueDef(papszMD, "LINE_SCALE", "1"));
dfSAMP_OFF -= psOptions->adfSrcWin[0];
dfLINE_OFF -= psOptions->adfSrcWin[1];
dfSAMP_OFF -= adfSrcWinOri[0];
dfLINE_OFF -= adfSrcWinOri[1];
const double df2 = static_cast<double>(psOptions->adfSrcWin[2]);
const double df3 = static_cast<double>(psOptions->adfSrcWin[3]);
const double df2 = adfSrcWinOri[2];
const double df3 = adfSrcWinOri[3];
dfSAMP_OFF *= nOXSize / df2;
dfLINE_OFF *= nOYSize / df3;
dfSAMP_SCALE *= nOXSize / df2;
......
......@@ -116,7 +116,7 @@
#include "emmintrin.h"
#endif
CPL_CVSID("$Id: gdaldem_lib.cpp 67fbc5769244cda8363798f3d20529bda8306035 2018-04-08 19:57:03 +0200 Even Rouault $")
CPL_CVSID("$Id: gdaldem_lib.cpp 8789a4befee5173c33911dcc9d4a7310515137c6 2018-09-19 13:34:00 +0200 Even Rouault $")
static const double kdfDegreesToRadians = M_PI / 180.0;
static const double kdfRadiansToDegrees = 180.0 / M_PI;
......@@ -3311,7 +3311,7 @@ GDALDatasetH GDALDEMProcessing( const char *pszDest,
return nullptr;
}
if( psOptionsIn->bCombined && eUtilityMode != HILL_SHADE )
if( psOptionsIn && psOptionsIn->bCombined && eUtilityMode != HILL_SHADE )
{
CPLError(CE_Failure, CPLE_NotSupported,
"-combined can only be used with hillshade");
......@@ -3321,7 +3321,7 @@ GDALDatasetH GDALDEMProcessing( const char *pszDest,
return nullptr;
}
if( psOptionsIn->bMultiDirectional && eUtilityMode != HILL_SHADE )
if( psOptionsIn && psOptionsIn->bMultiDirectional && eUtilityMode != HILL_SHADE )
{
CPLError(CE_Failure, CPLE_NotSupported,
"-multidirectional can only be used with hillshade");
......
......@@ -23,7 +23,7 @@ sudo chroot "$chroot" add-apt-repository -y ppa:ubuntugis/ubuntugis-unstable
sudo chroot "$chroot" apt-get update
# Disable postgresql since it draws ssl-cert that doesn't install cleanly
# postgis postgresql-9.1 postgresql-client-9.1 postgresql-9.1-postgis-2.1 postgresql-9.1-postgis-2.1-scripts libpq-dev
sudo chroot "$chroot" apt-get install -y --allow-unauthenticated python-numpy libpng12-dev libjpeg-dev libgif-dev liblzma-dev libgeos-dev libcurl4-gnutls-dev libproj-dev libxml2-dev libexpat-dev libxerces-c-dev libnetcdf-dev netcdf-bin libpoppler-dev libpoppler-private-dev libspatialite-dev gpsbabel swig libhdf4-alt-dev libhdf5-serial-dev libpodofo-dev poppler-utils libfreexl-dev unixodbc-dev libwebp-dev libepsilon-dev liblcms2-2 libpcre3-dev libcrypto++-dev libdap-dev libfyba-dev libkml-dev libmysqlclient-dev libogdi3.2-dev libcfitsio-dev openjdk-8-jdk couchdb libzstd1-dev
sudo chroot "$chroot" apt-get install -y --allow-unauthenticated python-numpy libpng12-dev libjpeg-dev libgif-dev liblzma-dev libgeos-dev libcurl4-gnutls-dev libproj-dev libxml2-dev libexpat-dev libxerces-c-dev libnetcdf-dev netcdf-bin libpoppler-dev libpoppler-private-dev libsqlite3-dev gpsbabel swig libhdf4-alt-dev libhdf5-serial-dev libpodofo-dev poppler-utils libfreexl-dev unixodbc-dev libwebp-dev libepsilon-dev liblcms2-2 libpcre3-dev libcrypto++-dev libdap-dev libfyba-dev libkml-dev libmysqlclient-dev libogdi3.2-dev libcfitsio-dev openjdk-8-jdk couchdb libzstd1-dev
sudo chroot "$chroot" apt-get install -y doxygen texlive-latex-base
sudo chroot "$chroot" apt-get install -y make
sudo chroot "$chroot" apt-get install -y python-dev
......
......@@ -5,6 +5,8 @@ set -e
export chroot="$PWD"/xenial
export LC_ALL=en_US.utf8
sudo chroot "$chroot" sh -c "fossil clone https://www.gaia-gis.it/fossil/libspatialite libspatialite.fossil && mkdir sl && cd sl && fossil open ../libspatialite.fossil && ./configure --prefix=/usr --disable-geos370 && make -j3 && make -j3 install"
sudo chroot "$chroot" sh -c "fossil clone https://www.gaia-gis.it/fossil/librasterlite2 librasterlite2.fossil && mkdir rl2 && cd rl2 && fossil open ../librasterlite2.fossil && ./configure --prefix=/usr && make -j3 && make -j3 install"
sudo chroot "$chroot" sh -c "cd $PWD/gdal && CC=$PWD/clang+llvm-3.9.0-x86_64-linux-gnu-ubuntu-16.04/bin/clang CXX=$PWD/clang+llvm-3.9.0-x86_64-linux-gnu-ubuntu-16.04/bin/clang LDFLAGS='-lstdc++' ./configure --prefix=/usr --without-libtool --enable-debug --with-jpeg12 --with-python --with-poppler --with-podofo --with-spatialite --with-mysql --with-liblzma --with-webp --with-epsilon --with-static-proj4 --with-poppler --with-podofo --with-hdf5 --with-dods-root=/usr --with-sosi --with-mysql --with-rasterlite2 --with-fgdb=$PWD/FileGDB_API-64gcc51"
......
......@@ -26201,7 +26201,7 @@ fi
 
fi
if test -n "$PKG_CONFIG"; then
_pkg_min_version=0.25
_pkg_min_version=0.21
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
......@@ -27290,7 +27290,7 @@ fi
 
fi
if test -n "$PKG_CONFIG"; then
_pkg_min_version=0.25
_pkg_min_version=0.21
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
......@@ -27749,7 +27749,7 @@ $as_echo "found Intergraph 5.x+ SDK in ${ECW_LIBDIR}." >&6; }
echo "#include <string>" > testnewabi.cpp
echo "namespace NCS { class CString { public: static std::wstring Utf8Decode (const std::string &sUtf8); }; }" >> testnewabi.cpp
echo "int main() { return static_cast<int>(NCS::CString::Utf8Decode(std::string()).size()); }" >> testnewabi.cpp
if test -z "`$${CXX} ${CXXFLAGS} ${CPPFLAGS} testnewabi.cpp -L$with_ecw/$ecw_license_type/lib/newabi/$ECW_ARCH/$ECW_CONF -lNCSEcw -o testnewabi 2>&1`" ; then
if test -z "`${CXX} ${CXXFLAGS} ${CPPFLAGS} testnewabi.cpp -L$with_ecw/$ecw_license_type/lib/newabi/$ECW_ARCH/$ECW_CONF -lNCSEcw -o testnewabi 2>&1`" ; then
ECW_LIBDIR=$with_ecw/$ecw_license_type/lib/newabi/$ECW_ARCH/$ECW_CONF
ECW_LIBS="-L$ECW_LIBDIR -lNCSEcw $ECW_FRAMEWORK_COCOA"
with_ecw=$with_ecw/$ecw_license_type
......@@ -29574,7 +29574,7 @@ fi
 
fi
if test -n "$PKG_CONFIG"; then
_pkg_min_version=0.25
_pkg_min_version=0.21
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
......@@ -80,7 +80,7 @@ AX_CHECK_COMPILE_FLAG([-Werror=declaration-after-statement], [C_WFLAGS="$C_WFLAG
dnl -Wclobbered is not reliable on most gcc versions
dnl AX_CHECK_COMPILE_FLAG([-Wno-clobbered], [C_WFLAGS="$C_WFLAGS -Wno-clobbered" CXX_WFLAGS="$CXX_WFLAGS -Wno-clobbered"],,[$ERROR_ON_UNKNOWN_OPTIONS])
dnl Warn when macros __TIME__, __DATE__ or __TIMESTAMP__ are encountered as they might prevent bit-wise-identical reproducible compilations.
dnl Warn when macros __TIME__, __DATE__ or __TIMESTAMP__ are encountered as they might prevent bit-wise-identical reproducible compilations.
AX_CHECK_COMPILE_FLAG([-Wdate-time], [C_WFLAGS="$C_WFLAGS -Wdate-time" CXX_WFLAGS="$CXX_WFLAGS -Wdate-time"],,[$ERROR_ON_UNKNOWN_OPTIONS])
dnl GCC 6 warnings
......@@ -2334,7 +2334,7 @@ elif test "$with_hdf5" = "yes" -o "$with_hdf5" = "" ; then
HDF5_CFLAGS=""
HDF5_LIBS=""
PKG_PROG_PKG_CONFIG([0.25]) # check and set $PKG_CONFIG
PKG_PROG_PKG_CONFIG([0.21]) # check and set $PKG_CONFIG
PKG_CHECK_MODULES([HDF5], [hdf5], [HAVE_HDF5=yes], [HAVE_HDF5=no])
if test "$HAVE_HDF5" = "yes"; then
......@@ -2685,7 +2685,7 @@ if test "$with_openjpeg" = "no" ; then
else
PKG_PROG_PKG_CONFIG([0.25])
PKG_PROG_PKG_CONFIG([0.21])
PKG_CHECK_MODULES([OPENJPEG], [libopenjp2 >= 2.1.0],
[OPENJPEG_VERSION=`$PKG_CONFIG --modversion libopenjp2`],
[OPENJPEG_VERSION=;])
......@@ -2879,7 +2879,7 @@ else
echo "#include <string>" > testnewabi.cpp
echo "namespace NCS { class CString { public: static std::wstring Utf8Decode (const std::string &sUtf8); }; }" >> testnewabi.cpp
echo "int main() { return static_cast<int>(NCS::CString::Utf8Decode(std::string()).size()); }" >> testnewabi.cpp
if test -z "`$${CXX} ${CXXFLAGS} ${CPPFLAGS} testnewabi.cpp -L$with_ecw/$ecw_license_type/lib/newabi/$ECW_ARCH/$ECW_CONF -lNCSEcw -o testnewabi 2>&1`" ; then
if test -z "`${CXX} ${CXXFLAGS} ${CPPFLAGS} testnewabi.cpp -L$with_ecw/$ecw_license_type/lib/newabi/$ECW_ARCH/$ECW_CONF -lNCSEcw -o testnewabi 2>&1`" ; then
ECW_LIBDIR=$with_ecw/$ecw_license_type/lib/newabi/$ECW_ARCH/$ECW_CONF
ECW_LIBS="-L$ECW_LIBDIR -lNCSEcw $ECW_FRAMEWORK_COCOA"
with_ecw=$with_ecw/$ecw_license_type
......
......@@ -1919,10 +1919,72 @@
<Type>IntegerList</Type>
<SubType>Integer64</SubType>
</PropertyDefn>
<!-- Detailní tecnicko-ekonomické atributy (TEA) -->
<!-- Detailní technicko-ekonomické atributy (TEA) -->
<PropertyDefn>
<Name>DetailniTEAKod</Name>
<ElementPath>DetailniTEA|Kod</ElementPath>
<ElementPath>DetailniTEA|DetailniTEA|Kod</ElementPath>
<Type>IntegerList</Type>
</PropertyDefn>
<!-- TEA - Začátek platnosti -->
<PropertyDefn>
<Name>DetailniTEAPlatiOd</Name>
<ElementPath>DetailniTEA|DetailniTEA|PlatiOd</ElementPath>
<Type>StringList</Type>
<Width>19</Width>
</PropertyDefn>
<!-- TEA - ID návrhu změny v ISUI -->
<PropertyDefn>
<Name>DetailniTEAGlobalniIdNavrhuZmeny</Name>
<ElementPath>DetailniTEA|DetailniTEA|GlobalniIdNavrhuZmeny</ElementPath>
<Type>IntegerList</Type>
<SubType>Integer64</SubType>
</PropertyDefn>
<!-- TEA - Druh svislé nosné konstrukce -->
<PropertyDefn>
<Name>DetailniTEADruhKonstrukceKod</Name>
<ElementPath>DetailniTEA|DetailniTEA|DruhKonstrukceKod</ElementPath>
<Type>IntegerList</Type>
</PropertyDefn>
<!-- TEA - Počet bytů u stavebního objektu s byty -->
<PropertyDefn>
<Name>DetailniTEAPocetBytu</Name>
<ElementPath>DetailniTEA|DetailniTEA|PocetBytu</ElementPath>
<Type>IntegerList</Type>
</PropertyDefn>
<!-- TEA - Počet nadzemních a podzemních podlaží -->
<PropertyDefn>
<Name>DetailniTEAPocetPodlazi</Name>
<ElementPath>DetailniTEA|DetailniTEA|PocetPodlazi</ElementPath>
<Type>IntegerList</Type>
</PropertyDefn>
<!-- TEA - Připojení na kanalizační síť -->
<PropertyDefn>
<Name>DetailniTEAPripojeniKanalizaceKod</Name>
<ElementPath>DetailniTEA|DetailniTEA|PripojeniKanalizaceKod</ElementPath>
<Type>IntegerList</Type>
</PropertyDefn>
<!-- TEA - Připojení na rozvod plynu -->
<PropertyDefn>
<Name>DetailniTEAPripojeniPlynKod</Name>
<ElementPath>DetailniTEA|DetailniTEA|PripojeniPlynKod</ElementPath>
<Type>IntegerList</Type>
</PropertyDefn>
<!-- TEA - Připojení na vodovod -->
<PropertyDefn>
<Name>DetailniTEAPripojeniVodovodKod</Name>
<ElementPath>DetailniTEA|DetailniTEA|PripojeniVodovodKod</ElementPath>
<Type>IntegerList</Type>
</PropertyDefn>
<!-- TEA - Vybavení výtahem -->
<PropertyDefn>
<Name>DetailniTEAZpusobVytapeniKod</Name>
<ElementPath>DetailniTEA|DetailniTEA|ZpusobVytapeniKod</ElementPath>
<Type>IntegerList</Type>
</PropertyDefn>
<!-- TEA - Kód adresního místa -->
<PropertyDefn>
<Name>DetailniTEAAdresniMistoKod</Name>
<ElementPath>DetailniTEA|DetailniTEA|AdresniMistoKod|Kod</ElementPath>
<Type>IntegerList</Type>
</PropertyDefn>
</GMLFeatureClass>
......
gdal (2.3.1+dfsg-4) UNRELEASED; urgency=medium
gdal (2.3.2+dfsg-1) unstable; urgency=medium
* New upstream release.
* Update symbols for 2.3.2~rc1.
* Fix gdal-abi dependency for ia64 & riscv64 symbols.
* Update watch file for final releases.
* Move from experimental to unstable.
-- Bas Couwenberg <sebastic@debian.org> Fri, 28 Sep 2018 16:15:35 +0200
gdal (2.3.2~rc1+dfsg-1~exp1) experimental; urgency=medium
* New upstream release candidate.
* Bump Standards-Version to 4.2.1, no changes.
* Update copyright file.
* Update watch file for 2.3.2 pre-releases.
* Move JNI libraries from usr/lib/ to usr/lib/jni again.
-- Bas Couwenberg <sebastic@debian.org> Tue, 28 Aug 2018 09:51:48 +0200
-- Bas Couwenberg <sebastic@debian.org> Fri, 21 Sep 2018 11:33:48 +0200
gdal (2.3.1+dfsg-3) unstable; urgency=medium
......
......@@ -1136,16 +1136,28 @@ sub new_architecture_symbols {
my $data = '';
my $upstream_version = upstream_version($versions[-1]);
my $control = $cfg{debian} .'control';
(my $abi = $upstream_version) =~ s/\./-/g;
$abi =~ s/\~\w+$//;
my $abi = '';
foreach(read_file($control)) {
if(/^Provides: (gdal-abi-\d+-\d+-\d+)/) {
$abi = $1;
last;
}
}
if(!$abi) {
print "Error: Failed to extract ABI dependency from control file: $control\n";
exit 1;
}
my $i = 0;
foreach(read_file($filt)) {
if($i == 0 && /^ /) {
$_ = "#include \"${pkg}.symbols.common\"\n" . $_;
$_ = "| ${pkg} #MINVER#, gdal-abi-$abi\n" . $_;
$_ = "| ${pkg} #MINVER#, $abi\n" . $_;
$i++;
}
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.