[Git][debian-gis-team/postgis][upstream] New upstream version 3.1.1+dfsg
Bas Couwenberg
gitlab at salsa.debian.org
Fri Jan 29 06:00:15 GMT 2021
Bas Couwenberg pushed to branch upstream at Debian GIS Project / postgis
Commits:
2cb4e494 by Bas Couwenberg at 2021-01-29T06:24:59+01:00
New upstream version 3.1.1+dfsg
- - - - -
24 changed files:
- ChangeLog
- NEWS
- README.postgis
- Version.config
- build-aux/install-sh
- build-aux/ltmain.sh
- ci/berrie64/postgis_regress.sh
- configure
- doc/reference_processing.xml
- doc/release_notes.xml
- doc/xsl/postgis_gardentest.sql.xsl
- extensions/address_standardizer/Makefile
- extensions/postgis_raster/Makefile
- extensions/upgradeable_versions.mk
- liblwgeom/cunit/cu_clean.c
- liblwgeom/lwgeom_geos_clean.c
- libtool
- macros/libtool.m4
- postgis/lwgeom_geos_clean.c
- postgis/sqldefines.h
- postgis_revision.h
- raster/rt_core/rt_util.c
- raster/rt_pg/rtpostgis.c
- raster/test/cunit/cu_misc.c
Changes:
=====================================
ChangeLog
=====================================
@@ -1,3 +1,59 @@
+2021-01-28 Paul Ramsey <pramsey at cleverelephant.ca>
+
+ * NEWS, README.postgis, Version.config, doc/release_notes.xml,
+ extensions/upgradeable_versions.mk: Prepare for 3.1.1 release
+
+2021-01-13 Regina Obe <lr at pcorp.us>
+
+ * extensions/upgradeable_versions.mk: Get rid of 3.1.0dev upgrade
+ path
+
+2021-01-03 Sandro Santilli <strk at kbt.io>
+
+ * NEWS, liblwgeom/lwgeom_geos_clean.c: Avoid listing the same
+ geometry in different collections Closes #4823 in 3.1 branch (3.1.1dev)
+
+2021-01-05 Sandro Santilli <strk at kbt.io>
+
+ * NEWS, postgis/lwgeom_geos_clean.c: Copy input of ST_MakeValid
+ before passing to lwgeom_make_valid The lwgeom_make_valid function can change the input geometry.
+ Closes #4825 in 3.1 branch (3.1.1dev)
+
+2021-01-02 Regina Obe <lr at pcorp.us>
+
+ * doc/reference_processing.xml: Document that ST_ReducePrecision
+ came in 3.1.0 and requires GEOS 3.9
+
+2020-12-31 Paul Ramsey <pramsey at cleverelephant.ca>
+
+ * NEWS: Add news item for VSICURL fix
+
+2020-12-31 Paul Ramsey <pramsey at cleverelephant.ca>
+
+ * raster/rt_core/rt_util.c, raster/rt_pg/rtpostgis.c,
+ raster/test/cunit/cu_misc.c: Make the VSICURL synthetic driver work
+ as documented. Closes #4818
+
+2020-12-21 Regina Obe <lr at pcorp.us>
+
+ * ci/berrie64/postgis_regress.sh,
+ doc/xsl/postgis_gardentest.sql.xsl: Put back voronoi garden tests
+ and add make garden to berrie64 arsenal of tests
+
+2020-12-21 Sandro Santilli <strk at kbt.io>
+
+ * liblwgeom/cunit/cu_clean.c: Fix expected result to include SRID
+
+2020-12-21 Sandro Santilli <strk at kbt.io>
+
+ * NEWS, liblwgeom/cunit/cu_clean.c, liblwgeom/lwgeom_geos_clean.c:
+ Do not free 0-allocated geoms vector for made-valid empty
+ collections References #4814 in 3.1 branch Includes unit test and NEWS entry
+
+2020-12-18 Paul Ramsey <pramsey at cleverelephant.ca>
+
+ * NEWS, README.postgis, Version.config: Bump to 3.1.1 dev
+
2020-12-18 Paul Ramsey <pramsey at cleverelephant.ca>
* NEWS, README.md, README.postgis: Final edits for 3.1.0
@@ -204,67 +260,5 @@
2020-12-14 Martin Davis <mtnclimb at gmail.com>
- * doc/reference_operator.xml, doc/using_postgis_query.xml: Improve
- doc Using Indexes section
-
-2020-12-14 Paul Ramsey <pramsey at cleverelephant.ca>
-
- * README.postgis, Version.config,
- extensions/upgradeable_versions.mk: Bump to rc1
-
-2020-12-11 Martin Davis <mtnclimb at gmail.com>
-
- * doc/using_postgis_dataman.xml: Add doc usage section ids
-
-2020-12-11 Martin Davis <mtnclimb at gmail.com>
-
- * doc/using_postgis_dataman.xml: Add doc using indexes links
-
-2020-12-11 Paul Ramsey <pramsey at cleverelephant.ca>
-
- * : commit d6aaf6a0d3fc946cd2ab4b699110cf5a6356a612 Author: Paul
- Ramsey <pramsey at cleverelephant.ca> Date: Fri Dec 11 10:01:01 2020
- -0800
-
-2020-12-11 Martin Davis <mtnclimb at gmail.com>
-
- * doc/postgis.xml: Add doc link to Postgres
-
-2020-12-11 Martin Davis <mtnclimb at gmail.com>
-
- * doc/using_postgis_query.xml: Improve doc usage spatial rel section
-
-2020-12-08 Sandro Santilli <strk at kbt.io>
-
- * NEWS, doc/reference_validation.xml,
- liblwgeom/lwgeom_geos_clean.c, postgis/lwgeom_geos_clean.c,
- regress/core/clean.sql, regress/core/clean_expected: Have
- ST_MakeValid remove coordinates with NaN values Closes #4813
-
-2020-12-10 Martin Davis <mtnclimb at gmail.com>
-
- * doc/using_postgis_dataman.xml: Improve doc Data Management
- sections
-
-2020-12-10 Martin Davis <mtnclimb at gmail.com>
-
- * doc/reference_relationship.xml: Fix doc distance function
- descriptions
-
-2020-12-10 Regina Obe <lr at pcorp.us>
-
- * ci/winnie/build_postgis.sh, ci/winnie/regress_postgis.sh: Get rid
- of winnie's with --with-library-minor-version before release in prep
- for real packaging
-
-2020-12-10 Martin Davis <mtnclimb at gmail.com>
-
- * doc/.tx/config, doc/Makefile.in, doc/postgis.xml,
- doc/reference_relationship.xml, doc/usage.xml,
- doc/using_postgis_dataman.xml, doc/using_postgis_query.xml: Add doc
- Spatial Query section
-
-2020-12-10 Martin Davis <mtnclimb at gmail.com>
-
- * Improve doc SRS section
+ * Improve doc Using Indexes section
=====================================
NEWS
=====================================
@@ -1,4 +1,16 @@
+PostGIS 3.1.1
+2021/01/28
+
+ * Bug Fixes
+
+ - #4814, Crash passing collection with only empty components to ST_MakeValid
+ (Sandro Santilli)
+ - #4818, Make the VSICURL synthetic driver work as documented
+ - #4825, Unstable results from ST_MakeValid (Sandro Santilli)
+ - #4823, Avoid listing the same geometry in different collections
+
+
PostGIS 3.1.0
2020/12/18
=====================================
README.postgis
=====================================
@@ -1,8 +1,8 @@
PostGIS - Geographic Information Systems Extensions to PostgreSQL
=================================================================
-:Version: 3.1.0
-:Date: 2020-12-18
+:Version: 3.1.1
+:Date: 2021-01-28
:Website: https://postgis.net
This distribution contains a module which implements GIS simple features, ties
=====================================
Version.config
=====================================
@@ -5,7 +5,7 @@
POSTGIS_MAJOR_VERSION=3
POSTGIS_MINOR_VERSION=1
-POSTGIS_MICRO_VERSION=0
+POSTGIS_MICRO_VERSION=1
# Liblwgeom interface versioning, reset to 0:0:0 (cur:age:rev)
# when changing POSTGIS_MINOR_VERSION
=====================================
build-aux/install-sh
=====================================
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2018-03-11.20; # UTC
+scriptversion=2020-11-14.01; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -69,6 +69,11 @@ posix_mkdir=
# Desired mode of installed file.
mode=0755
+# Create dirs (including intermediate dirs) using mode 755.
+# This is like GNU 'install' as of coreutils 8.32 (2020).
+mkdir_umask=22
+
+backupsuffix=
chgrpcmd=
chmodcmd=$chmodprog
chowncmd=
@@ -99,18 +104,28 @@ Options:
--version display version info and exit.
-c (ignored)
- -C install only if different (preserve the last data modification time)
+ -C install only if different (preserve data modification time)
-d create directories instead of installing files.
-g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmodprog installed files to MODE.
-o USER $chownprog installed files to USER.
+ -p pass -p to $cpprog.
-s $stripprog installed files.
+ -S SUFFIX attempt to back up existing files, with suffix SUFFIX.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
RMPROG STRIPPROG
+
+By default, rm is invoked with -f; when overridden with RMPROG,
+it's up to you to specify -f if you want it.
+
+If -S is not specified, no backups are attempted.
+
+Email bug reports to bug-automake at gnu.org.
+Automake home page: https://www.gnu.org/software/automake/
"
while test $# -ne 0; do
@@ -137,8 +152,13 @@ while test $# -ne 0; do
-o) chowncmd="$chownprog $2"
shift;;
+ -p) cpprog="$cpprog -p";;
+
-s) stripcmd=$stripprog;;
+ -S) backupsuffix="$2"
+ shift;;
+
-t)
is_target_a_directory=always
dst_arg=$2
@@ -255,6 +275,10 @@ do
dstdir=$dst
test -d "$dstdir"
dstdir_status=$?
+ # Don't chown directories that already exist.
+ if test $dstdir_status = 0; then
+ chowncmd=""
+ fi
else
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
@@ -301,22 +325,6 @@ do
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
- # Create intermediate dirs using mode 755 as modified by the umask.
- # This is like FreeBSD 'install' as of 1997-10-28.
- umask=`umask`
- case $stripcmd.$umask in
- # Optimize common cases.
- *[2367][2367]) mkdir_umask=$umask;;
- .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
-
- *[0-7])
- mkdir_umask=`expr $umask + 22 \
- - $umask % 100 % 40 + $umask % 20 \
- - $umask % 10 % 4 + $umask % 2
- `;;
- *) mkdir_umask=$umask,go-w;;
- esac
-
# With -d, create the new directory with the user-specified mode.
# Otherwise, rely on $mkdir_umask.
if test -n "$dir_arg"; then
@@ -326,52 +334,49 @@ do
fi
posix_mkdir=false
- case $umask in
- *[123567][0-7][0-7])
- # POSIX mkdir -p sets u+wx bits regardless of umask, which
- # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
- ;;
- *)
- # Note that $RANDOM variable is not portable (e.g. dash); Use it
- # here however when possible just to lower collision chance.
- tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
-
- trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
-
- # Because "mkdir -p" follows existing symlinks and we likely work
- # directly in world-writeable /tmp, make sure that the '$tmpdir'
- # directory is successfully created first before we actually test
- # 'mkdir -p' feature.
- if (umask $mkdir_umask &&
- $mkdirprog $mkdir_mode "$tmpdir" &&
- exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
- then
- if test -z "$dir_arg" || {
- # Check for POSIX incompatibilities with -m.
- # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
- # other-writable bit of parent directory when it shouldn't.
- # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
- test_tmpdir="$tmpdir/a"
- ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
- case $ls_ld_tmpdir in
- d????-?r-*) different_mode=700;;
- d????-?--*) different_mode=755;;
- *) false;;
- esac &&
- $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
- ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
- test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
- }
- }
- then posix_mkdir=:
- fi
- rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
- else
- # Remove any dirs left behind by ancient mkdir implementations.
- rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
- fi
- trap '' 0;;
- esac;;
+ # The $RANDOM variable is not portable (e.g., dash). Use it
+ # here however when possible just to lower collision chance.
+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+
+ trap '
+ ret=$?
+ rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null
+ exit $ret
+ ' 0
+
+ # Because "mkdir -p" follows existing symlinks and we likely work
+ # directly in world-writeable /tmp, make sure that the '$tmpdir'
+ # directory is successfully created first before we actually test
+ # 'mkdir -p'.
+ if (umask $mkdir_umask &&
+ $mkdirprog $mkdir_mode "$tmpdir" &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
+ then
+ if test -z "$dir_arg" || {
+ # Check for POSIX incompatibilities with -m.
+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+ # other-writable bit of parent directory when it shouldn't.
+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+ test_tmpdir="$tmpdir/a"
+ ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
+ case $ls_ld_tmpdir in
+ d????-?r-*) different_mode=700;;
+ d????-?--*) different_mode=755;;
+ *) false;;
+ esac &&
+ $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+ }
+ }
+ then posix_mkdir=:
+ fi
+ rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
+ else
+ # Remove any dirs left behind by ancient mkdir implementations.
+ rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
+ fi
+ trap '' 0;;
esac
if
@@ -382,7 +387,7 @@ do
then :
else
- # The umask is ridiculous, or mkdir does not conform to POSIX,
+ # mkdir does not conform to POSIX,
# or it failed possibly due to a race condition. Create the
# directory the slow way, step by step, checking for races as we go.
@@ -411,7 +416,7 @@ do
prefixes=
else
if $posix_mkdir; then
- (umask=$mkdir_umask &&
+ (umask $mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
# Don't fail if two instances are running concurrently.
test -d "$prefix" || exit 1
@@ -451,7 +456,18 @@ do
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
# Copy the file name to the temp name.
- (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
+ (umask $cp_umask &&
+ { test -z "$stripcmd" || {
+ # Create $dsttmp read-write so that cp doesn't create it read-only,
+ # which would cause strip to fail.
+ if test -z "$doit"; then
+ : >"$dsttmp" # No need to fork-exec 'touch'.
+ else
+ $doit touch "$dsttmp"
+ fi
+ }
+ } &&
+ $doit_exec $cpprog "$src" "$dsttmp") &&
# and set any options; do chmod last to preserve setuid bits.
#
@@ -477,6 +493,13 @@ do
then
rm -f "$dsttmp"
else
+ # If $backupsuffix is set, and the file being installed
+ # already exists, attempt a backup. Don't worry if it fails,
+ # e.g., if mv doesn't support -f.
+ if test -n "$backupsuffix" && test -f "$dst"; then
+ $doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null
+ fi
+
# Rename the file to the real destination.
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
@@ -491,9 +514,9 @@ do
# file should still install successfully.
{
test ! -f "$dst" ||
- $doit $rmcmd -f "$dst" 2>/dev/null ||
+ $doit $rmcmd "$dst" 2>/dev/null ||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
- { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+ { $doit $rmcmd "$rmtmp" 2>/dev/null; :; }
} ||
{ echo "$0: cannot unlink or rename $dst" >&2
(exit 1); exit 1
=====================================
build-aux/ltmain.sh
=====================================
@@ -31,7 +31,7 @@
PROGRAM=libtool
PACKAGE=libtool
-VERSION="2.4.6 Debian-2.4.6-14"
+VERSION="2.4.6 Debian-2.4.6-15"
package_revision=2.4.6
@@ -2141,7 +2141,7 @@ include the following information:
compiler: $LTCC
compiler flags: $LTCFLAGS
linker: $LD (gnu? $with_gnu_ld)
- version: $progname $scriptversion Debian-2.4.6-14
+ version: $progname $scriptversion Debian-2.4.6-15
automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
=====================================
ci/berrie64/postgis_regress.sh
=====================================
@@ -27,6 +27,9 @@ make install
make check RUNTESTFLAGS="-v --extension"
err_status=$?
+make garden
+err_status=$?
+
if [ -d $PGDATA/postmaster.pid ] ; then
$PGCTL stop -D $PGDATA -s -m fast
fi
=====================================
configure
=====================================
@@ -6953,11 +6953,11 @@ $as_echo "$lt_cv_ld_force_load" >&6; }
# to the OS version, if on x86, and 10.4, the deployment
# target defaults to 10.4. Don't you love it?
case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
+ 10.0,*86*-darwin8*|10.0,*-darwin[912]*)
_lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
10.[012][,.]*)
_lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
- 10.*)
+ 10.*|11.*)
_lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
esac
;;
=====================================
doc/reference_processing.xml
=====================================
@@ -1926,6 +1926,8 @@ geomtextrep
<para>Unlike <xref linkend="ST_SnapToGrid" /> the returned geometry will be valid, with no ring self-intersections or collapsed components.</para>
+ <para>Availability: 3.1.0 - requires GEOS >= 3.9.0. </para>
+
</refsection>
<refsection>
=====================================
doc/release_notes.xml
=====================================
@@ -2,6 +2,19 @@
<appendix id="release_notes">
<title>Appendix</title>
<subtitle>Release Notes</subtitle>
+
+ <sect1>
+ <title>Release 3.1.1</title>
+ <para>Release date: 2021/01/28</para>
+ <simplesect>
+ <title>Bug Fixes</title>
+ <para>#4814, Crash passing collection with only empty components to ST_MakeValid (Sandro Santilli)</para>
+ <para>#4818, Make the VSICURL synthetic driver work as documented</para>
+ <para>#4825, Unstable results from ST_MakeValid (Sandro Santilli)</para>
+ <para>#4823, Avoid listing the same geometry in different collections</para>
+ </simplesect>
+ </sect1>
+
<sect1>
<title>Release 3.1.0beta1</title>
<para>Release date: 2020/12/09</para>
=====================================
doc/xsl/postgis_gardentest.sql.xsl
=====================================
@@ -10,7 +10,7 @@
<xsl:output method="text" />
<xsl:variable name='testversion'>3.1.0</xsl:variable>
<xsl:variable name='fnexclude14'>AddGeometryColumn DropGeometryColumn DropGeometryTable</xsl:variable>
- <xsl:variable name='fnexclude'>AddGeometryColumn DropGeometryColumn DropGeometryTable ST_VoronoiLines ST_VoronoiPolygons</xsl:variable>
+ <xsl:variable name='fnexclude'>AddGeometryColumn DropGeometryColumn DropGeometryTable</xsl:variable>
<!--This is just a place holder to state functions not supported or tested separately -->
<xsl:variable name='var_srid'>3395</xsl:variable>
=====================================
extensions/address_standardizer/Makefile
=====================================
@@ -30,7 +30,7 @@ POSTGIS_PGSQL_VERSION=96
# SQL preprocessor
SQLPP = /usr/bin/cpp -traditional-cpp -w -P
GREP=/bin/grep
-EXTVERSION = 3.1.0
+EXTVERSION = 3.1.1
MODULE_big = address_standardizer-3
MODULEPATH = $$libdir/address_standardizer-3
ifeq (no,yes)
@@ -46,7 +46,7 @@ DATA_built = \
$(NULL)
all: sql/address_standardizer.sql sql/address_standardizer--1.0--$(EXTVERSION).sql sql/$(EXTENSION)--$(EXTVERSION).sql sql/$(EXTENSION)--ANY--$(EXTVERSION).sql \
- sql/$(EXTENSION)_data_us.sql sql/address_standardizer--3.1.0.sql sql/$(EXTENSION)_data_us--3.1.0.sql sql/$(EXTENSION)_data_us--$(EXTVERSION)--$(EXTVERSION)next.sql \
+ sql/$(EXTENSION)_data_us.sql sql/address_standardizer--3.1.1.sql sql/$(EXTENSION)_data_us--3.1.1.sql sql/$(EXTENSION)_data_us--$(EXTVERSION)--$(EXTVERSION)next.sql \
sql/$(EXTENSION)_data_us--$(EXTVERSION)next--$(EXTVERSION).sql \
sql/test-init-extensions.sql sql/test-parseaddress.sql sql/test-standardize_address_1.sql sql/test-standardize_address_2.sql
@@ -74,7 +74,7 @@ sql/%.sql: %.sql.in
| sed -e 's|@EXTVERSION@|$(EXTVERSION)|g' \
> $@
-sql/address_standardizer--3.1.0.sql: sql/address_standardizer_types.sql \
+sql/address_standardizer--3.1.1.sql: sql/address_standardizer_types.sql \
sql/address_standardizer_functions.sql
mkdir -p sql
cat $^ > $@
=====================================
extensions/postgis_raster/Makefile
=====================================
@@ -1,7 +1,7 @@
include ../upgradeable_versions.mk
EXTENSION = postgis_raster
-EXTVERSION = 3.1.0
+EXTVERSION = 3.1.1
MINORVERSION = 3.1
MODULEPATH = $$libdir/$(EXTENSION)-3
=====================================
extensions/upgradeable_versions.mk
=====================================
@@ -59,4 +59,4 @@ UPGRADEABLE_VERSIONS = \
3.0.2 \
3.0.3 \
3.1.0 \
- 3.1.0dev
+ 3.1.1dev
=====================================
liblwgeom/cunit/cu_clean.c
=====================================
@@ -147,6 +147,24 @@ static void test_lwgeom_make_valid(void)
lwgeom_free(gout);
lwgeom_free(gin);
+
+ /* Test collection with empty component */
+
+ gin = lwgeom_from_hexwkb( "0106000020110F000000000000",
+ LW_PARSER_CHECK_NONE);
+ CU_ASSERT(gin != NULL);
+
+ gout = lwgeom_make_valid(gin);
+ CU_ASSERT(gout != NULL);
+
+ ewkt = lwgeom_to_ewkt(gout);
+ /* printf("c = %s\n", ewkt); */
+ ASSERT_STRING_EQUAL(ewkt, "SRID=3857;MULTIPOLYGON EMPTY");
+ lwfree(ewkt);
+
+ lwgeom_free(gout);
+ lwgeom_free(gin);
+
}
/* TODO: add more tests ! */
=====================================
liblwgeom/lwgeom_geos_clean.c
=====================================
@@ -322,6 +322,11 @@ lwcollection_make_geos_friendly(LWCOLLECTION* g)
uint32_t i, new_ngeoms = 0;
LWCOLLECTION* ret;
+ if ( ! g->ngeoms ) {
+ LWDEBUG(3, "lwcollection_make_geos_friendly: returning input untouched");
+ return lwcollection_as_lwgeom(g);
+ }
+
/* enough space for all components */
new_geoms = lwalloc(sizeof(LWGEOM*) * g->ngeoms);
@@ -332,7 +337,12 @@ lwcollection_make_geos_friendly(LWCOLLECTION* g)
for (i = 0; i < g->ngeoms; i++)
{
LWGEOM* newg = lwgeom_make_geos_friendly(g->geoms[i]);
- if (newg) new_geoms[new_ngeoms++] = newg;
+ if (!newg) continue;
+ if ( newg != g->geoms[i] ) {
+ new_geoms[new_ngeoms++] = newg;
+ } else {
+ new_geoms[new_ngeoms++] = lwgeom_clone(newg);
+ }
}
ret->bbox = NULL; /* recompute later... */
@@ -906,28 +916,20 @@ lwgeom_make_valid(LWGEOM* lwgeom_in)
lwgeom_out = lwgeom_make_geos_friendly(lwgeom_in);
if (!lwgeom_out) lwerror("Could not make a geos friendly geometry out of input");
+ LWDEBUGF(4, "Input geom %p made GEOS-valid as %p", lwgeom_in, lwgeom_out);
+
geosgeom = LWGEOM2GEOS(lwgeom_out, 1);
+ if ( lwgeom_in != lwgeom_out ) {
+ lwgeom_free(lwgeom_out);
+ }
if (!geosgeom)
{
- LWDEBUGF(4,
- "Original geom can't be converted to GEOS (%s)"
- " - will try cleaning that up first",
- lwgeom_geos_errmsg);
-
-
- /* try again as we did cleanup now */
- /* TODO: invoke LWGEOM2GEOS directly with autoclean ? */
- geosgeom = LWGEOM2GEOS(lwgeom_out, 0);
- if (!geosgeom)
- {
- lwerror("Couldn't convert POSTGIS geom to GEOS: %s", lwgeom_geos_errmsg);
- return NULL;
- }
+ lwerror("Couldn't convert POSTGIS geom to GEOS: %s", lwgeom_geos_errmsg);
+ return NULL;
}
else
{
- LWDEBUG(4, "original geom converted to GEOS");
- lwgeom_out = lwgeom_in;
+ LWDEBUG(4, "geom converted to GEOS");
}
#if POSTGIS_GEOS_VERSION < 38
=====================================
libtool
=====================================
@@ -542,7 +542,7 @@ func_cc_basename ()
PROGRAM=libtool
PACKAGE=libtool
-VERSION="2.4.6 Debian-2.4.6-14"
+VERSION="2.4.6 Debian-2.4.6-15"
package_revision=2.4.6
@@ -2652,7 +2652,7 @@ include the following information:
compiler: $LTCC
compiler flags: $LTCFLAGS
linker: $LD (gnu? $with_gnu_ld)
- version: $progname $scriptversion Debian-2.4.6-14
+ version: $progname $scriptversion Debian-2.4.6-15
automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
=====================================
macros/libtool.m4
=====================================
@@ -1071,11 +1071,11 @@ _LT_EOF
# to the OS version, if on x86, and 10.4, the deployment
# target defaults to 10.4. Don't you love it?
case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
+ 10.0,*86*-darwin8*|10.0,*-darwin[[912]]*)
_lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
10.[[012]][[,.]]*)
_lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
- 10.*)
+ 10.*|11.*)
_lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
esac
;;
=====================================
postgis/lwgeom_geos_clean.c
=====================================
@@ -45,7 +45,7 @@ Datum ST_MakeValid(PG_FUNCTION_ARGS)
GSERIALIZED *in, *out;
LWGEOM *lwgeom_in, *lwgeom_out;
- in = PG_GETARG_GSERIALIZED_P(0);
+ in = PG_GETARG_GSERIALIZED_P_COPY(0);
lwgeom_in = lwgeom_from_gserialized(in);
POSTGIS_DEBUG(1, "ST_MakeValid enter");
=====================================
postgis/sqldefines.h
=====================================
@@ -10,7 +10,7 @@
#define POSTGIS_PGSQL_HR_VERSION 9.6
#define POSTGIS_GEOS_VERSION 36
#define POSTGIS_PROJ_VERSION 72
-#define POSTGIS_LIB_VERSION '3.1.0'
+#define POSTGIS_LIB_VERSION '3.1.1'
#define POSTGIS_LIBXML2_VERSION 2.9.10
#define POSTGIS_SFCGAL_VERSION 10308
@@ -40,7 +40,7 @@
* won't substitute within apostrophes)
*/
#define _POSTGIS_SQL_SELECT_POSTGIS_VERSION 'SELECT ''3.1 USE_GEOS=1 USE_PROJ=1 USE_STATS=1''::text AS version'
-#define _POSTGIS_SQL_SELECT_POSTGIS_BUILD_DATE 'SELECT ''2020-12-18 19:39:44''::text AS version'
+#define _POSTGIS_SQL_SELECT_POSTGIS_BUILD_DATE 'SELECT ''2021-01-28 19:10:50''::text AS version'
#define _POSTGIS_SQL_SELECT_POSTGIS_PGSQL_VERSION 'SELECT ''96''::text AS version'
#ifdef POSTGIS_REVISION
@@ -50,9 +50,9 @@
* which means we need to then trim it to get rid of the extra spaces we added.
* Maybe someone smarter can come up with a less goofy solution that makes all OS happy
*/
-#define _POSTGIS_SQL_SELECT_POSTGIS_SCRIPTS_VERSION $$ SELECT trim('3.1.0'::text || $rev$ POSTGIS_REVISION $rev$) AS version $$
+#define _POSTGIS_SQL_SELECT_POSTGIS_SCRIPTS_VERSION $$ SELECT trim('3.1.1'::text || $rev$ POSTGIS_REVISION $rev$) AS version $$
#else
-#define _POSTGIS_SQL_SELECT_POSTGIS_SCRIPTS_VERSION $$ SELECT '3.1.0'::text AS version $$
+#define _POSTGIS_SQL_SELECT_POSTGIS_SCRIPTS_VERSION $$ SELECT '3.1.1'::text AS version $$
#endif
#define SRID_USR_MAX 998999
=====================================
postgis_revision.h
=====================================
@@ -1 +1 @@
-#define POSTGIS_REVISION 5e2af69
+#define POSTGIS_REVISION aaf4c79
=====================================
raster/rt_core/rt_util.c
=====================================
@@ -392,10 +392,11 @@ rt_util_gdal_open(const char *fn, GDALAccess fn_access, int shared) {
/* do nothing */
}
else if (
- (strstr(fn, "/vsicurl") != NULL) &&
+ (strstr(fn, "/vsi") != NULL) &&
+ (strstr(fn, "/vsimem") == NULL) &&
(strstr(gdal_enabled_drivers, GDAL_VSICURL) == NULL)
) {
- rterror("rt_util_gdal_open: Cannot open VSICURL file. VSICURL disabled");
+ rterror("rt_util_gdal_open: Cannot open %s file. %s disabled", GDAL_VSICURL, GDAL_VSICURL);
return NULL;
}
}
=====================================
raster/rt_pg/rtpostgis.c
=====================================
@@ -278,6 +278,7 @@ static void
rtpg_assignHookGDALEnabledDrivers(const char *enabled_drivers, void *extra) {
int enable_all = 0;
int disable_all = 0;
+ int vsicurl = 0;
char **enabled_drivers_array = NULL;
uint32_t enabled_drivers_count = 0;
@@ -294,6 +295,8 @@ rtpg_assignHookGDALEnabledDrivers(const char *enabled_drivers, void *extra) {
if (enabled_drivers == NULL)
return;
+ elog(DEBUG4, "Enabling GDAL drivers: %s", enabled_drivers);
+
/* destroy the driver manager */
/* this is the only way to ensure GDAL_SKIP is recognized */
GDALDestroyDriverManager();
@@ -325,6 +328,14 @@ rtpg_assignHookGDALEnabledDrivers(const char *enabled_drivers, void *extra) {
}
}
}
+ else if (strstr(enabled_drivers, GDAL_VSICURL) != NULL) {
+ for (i = 0; i < enabled_drivers_count; i++) {
+ if (strstr(enabled_drivers_array[i], GDAL_VSICURL) != NULL) {
+ enabled_drivers_found[i] = TRUE;
+ vsicurl = 1;
+ }
+ }
+ }
if (!enable_all) {
int found = 0;
@@ -393,6 +404,9 @@ rtpg_assignHookGDALEnabledDrivers(const char *enabled_drivers, void *extra) {
elog(WARNING, "Unknown GDAL driver: %s", enabled_drivers_array[i]);
}
+ if (vsicurl)
+ elog(WARNING, "%s set.", GDAL_VSICURL);
+
/* destroy the driver manager */
/* this is the only way to ensure GDAL_SKIP is recognized */
GDALDestroyDriverManager();
=====================================
raster/test/cunit/cu_misc.c
=====================================
@@ -134,12 +134,12 @@ static void test_util_gdal_open() {
CU_ASSERT(ds == NULL);
/* enabled drivers with VSICURL */
- /* disabled as we don't want network access as a requirement
- gdal_enabled_drivers = enabled_vsi;
- ds = rt_util_gdal_open("/vsicurl/http://download.osgeo.org/gdal/data/gtiff/small_world.tif", GA_ReadOnly, 0);
- CU_ASSERT(ds != NULL);
- GDALClose(ds);
- */
+ /* disabled as we don't want network access as a requirement */
+ // gdal_enabled_drivers = enabled_vsi;
+ // ds = rt_util_gdal_open("/vsicurl/http://download.osgeo.org/gdal/data/gtiff/small_world.tif", GA_ReadOnly, 0);
+ // CU_ASSERT(ds != NULL);
+ // GDALClose(ds);
+
}
/* register tests */
View it on GitLab: https://salsa.debian.org/debian-gis-team/postgis/-/commit/2cb4e494331d5a08956bd025a7f51c8d2551bd60
--
View it on GitLab: https://salsa.debian.org/debian-gis-team/postgis/-/commit/2cb4e494331d5a08956bd025a7f51c8d2551bd60
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20210129/c3446f1a/attachment-0001.html>
More information about the Pkg-grass-devel
mailing list