Skip to content
Commits on Source (89)
# See http://readme.drone.io/0.5/usage/overview
# See https://git.osgeo.org/gogs/postgis/postgis-docker
test-image: &test-image docker.kbt.io/postgis/build-test:trisquel
test-image: &test-image docker.kbt.io/postgis/build-test:trisquel2
matrix:
PGVER:
- 9.4
- 9.5
- 9.6
- 10
pipeline:
clone:
......@@ -12,14 +19,16 @@ pipeline:
image: *test-image
pull: true
commands:
- service postgresql start $PGVER
- export PGPORT=`grep ^port /etc/postgresql/$PGVER/main/postgresql.conf | awk '{print $3}'`
- export PATH=/usr/lib/postgresql/$PGVER/bin:$PATH
- psql --version
- ./autogen.sh
- ./configure CFLAGS="-O0 -Wall" --without-interrupt-tests
- ./configure CFLAGS="-O0 -Wall -fno-omit-frame-pointer -Werror" --without-interrupt-tests
- make
check:
image: *test-image
commands:
- service postgresql start
# we should maybe wait for postgresql service to startup here...
- psql -c "select version()" template1
- make check RUNTESTFLAGS=-v
- make install
- utils/check_all_upgrades.sh \
- utils/check_all_upgrades.sh
`grep '^POSTGIS_' Version.config | cut -d= -f2 | paste -sd '.'`
......@@ -18,7 +18,7 @@ trim_trailing_whitespace = false
indent_style = tab
# Perl files want tab indentation
[*.{pl}]
[*.pl]
indent_style = tab
# SQL files want tab indentation
......@@ -34,9 +34,6 @@ indent_size = 2
[liblwgeom/lwgeom_topo.{c,h}]
indent_style = space
[liblwgeom/box2d.c]
indent_style = space
[liblwgeom/lwgeom_log.h]
indent_style = space
......
This diff is collapsed.
coverage:
status:
project:
default:
threshold: 0.2%
patch:
default:
threshold: 0.2%
comment: false
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 60
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 7
# Label to use when marking an issue as stale
staleLabel: stale
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false
......@@ -11,14 +11,14 @@
*.gcda
*.gcno
gmon.out
install-sh
postgis_svn_revision.h
aclocal.m4
autom4te.cache/
config.guess
build-aux/
config.log
config.status
config.guess
config.sub
config.status
configure
de9i*.png
doc/html/image_src/generator
......@@ -70,12 +70,15 @@ extensions/postgis_topology/postgis_topology.control
extensions/postgis_topology/sql/
extensions/postgis_topology/sql_bits/*.sql
GNUmakefile
install-sh
java/jdbc/Makefile
java/jdbc/lib/
java/jdbc/pom.xml
java/jdbc/target/
liblwgeom/cunit/cu_tester
liblwgeom/cunit/Makefile
liblwgeom/geobuf.pb-c.c
liblwgeom/geobuf.pb-c.h
liblwgeom/liblwgeom.a
liblwgeom/liblwgeom.h
liblwgeom/Makefile
......@@ -169,3 +172,7 @@ postgis/uninstall_sfcgal.sql
*.pdf
.idea/*
.syntastic_c_config
# LLVM JIT
*.bc
*.ll
test:
script:
- apt-get update -qq && apt-get install -y
postgresql-9.4 postgresql-server-dev-9.4
postgresql-9.6 postgresql-server-dev-9.6
build-essential autoconf libtool libcunit1-dev
xsltproc docbook-xsl docbook-mathml dblatex
libproj-dev libgdal-dev libgeos-dev libjson0-dev
libproj-dev libgdal-dev libgeos-dev libjson-c-dev
- lsb_release -a
- uname -a
- service postgresql start
- su -l postgres -c "createuser -s `whoami`"
- ./autogen.sh
- ./configure
- ./configure CFLAGS="-Wall -fno-omit-frame-pointer -Werror"
- make
- make check RUNTESTFLAGS=-v
- make check RUNTESTFLAGS="-v --dumprestore"
......
env:
global:
- RUNTESTFLAGS=-v
matrix:
- CFLAGS="-g -Og" MATRIX_EVAL="touch check-no-trailing-blanks"
- CFLAGS="-g -O2 -fstack-protector -Wformat -Werror=format-security" LDFLAGS="-Wl,-Bsymbolic-functions -Wl,-z,relro"
- CFLAGS="-g -O3 -mtune=generic -fno-omit-frame-pointer -Werror -Wall -Wextra -Wno-unused-parameter"
- CFLAGS="-g -O0 --coverage -fprofile-arcs -ftest-coverage" LDFLAGS="--coverage -fprofile-arcs -ftest-coverage" CONFIGURE_FLAGS="--enable-debug"
addons:
postgresql: "9.6"
apt:
packages:
- eatmydata
before_install:
- eval "${MATRIX_EVAL}"
- sudo sh -c "echo /usr/lib/libeatmydata/libeatmydata.so >> /etc/ld.so.preload"
- curl -sSfL https://github.com/mapbox/logbt/archive/v2.0.3.tar.gz | sudo tar --gunzip --extract --strip-components=1 --exclude="*md" --exclude="test*" --directory=/usr/local
- curl -sSfL https://raw.githubusercontent.com/mapbox/logbt/30c554dd37b6c96c23fc424f75910fc6d6696f00/bin/logbt | sudo tee /usr/local/bin/logbt > /dev/null
- sudo logbt --setup
- sudo service postgresql stop 9.6
- sudo chown -hRL --from=postgres travis:travis /etc /var /tmp
- sudo usermod -u 1000 postgres
- sudo adduser travis ssl-cert
- sudo service postgresql start 9.6
- sudo add-apt-repository --yes ppa:ubuntugis/ppa
- sudo add-apt-repository --yes ppa:ubuntugis/ubuntugis-unstable
- sudo apt-get update -qq
- sudo apt-get install -y --no-install-recommends
postgresql-9.6 postgresql-server-dev-9.6
libcunit1-dev xsltproc docbook-xsl docbook-mathml dblatex
libproj-dev libgdal-dev libgeos-dev libjson0-dev
libsfcgal1 libsfcgal-dev libprotobuf-c0-dev libgdal-dev
- dpkg -l | grep postgresql
- mkdir -p /home/travis/deb && touch /home/travis/deb/__ && sudo cp -n /home/travis/deb/* /var/cache/apt/archives || true
- sudo apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests libsfcgal1 libsfcgal-dev postgresql-server-dev-9.6 libxml2-utils libcunit1-dev xsltproc docbook-xsl docbook-mathml dblatex libgeos-dev libjson0-dev libgdal-dev gdb libc6-dbg
- sudo sh -c "echo deb http://archive.ubuntu.com/ubuntu/ artful main restricted universe multiverse >> /etc/apt/sources.list"
- sudo apt-get update -qq
- sudo apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests binutils libproj-dev libprotobuf-c-dev protobuf-c-compiler
- cp -n /var/cache/apt/archives/* /home/travis/deb || true
- ls -la /home/travis/deb/
- sudo ldconfig
- ./autogen.sh
after_failure:
- sudo head -n1000 /var/log/postgresql/postgresql-9.6-main.log
after_success:
- bash .github/codecov.bash
language: c
compiler: gcc
dist: trusty
cache:
ccache: true
directories:
- /home/travis/deb
script:
- ./configure
- make
- ./configure CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" $CONFIGURE_FLAGS || cat config.log
- make -j
- chmod 755 /home/travis
- make check
- make check RUNTESTFLAGS='--dumprestore'
- logbt -- make check "RUNTESTFLAGS=--verbose"
- logbt -- make check "RUNTESTFLAGS='--dumprestore --verbose'"
- sudo make install
- make installcheck
- make installcheck RUNTESTFLAGS='--dumprestore'
- logbt -- make installcheck "RUNTESTFLAGS=--verbose"
- logbt -- make installcheck "RUNTESTFLAGS=--dumprestore --verbose"
notifications:
email: false
......
PostGIS development planning happens via a [Trac instance]
(https://trac.osgeo.org/postgis/).
PostGIS development planning happens via a [Trac instance](https://trac.osgeo.org/postgis/).
In order for proper scheduling of contributions acceptance/merging it
is recommended to file a ticket there and add your patch or a link
to a patch or to a public git branch where your development is ongoing.
Filing a ticket requires setting up an OSGeo account, which lets you
contribute to every project of the [Open Source Geospatial Foundation]
(http://www.osgeo.org/).
contribute to every project of the [Open Source Geospatial Foundation](http://www.osgeo.org/).
As we understand you might not want to setup a new account, simply
filing a pull request on one of the [PostGIS code mirrors]
(https://trac.osgeo.org/postgis/wiki/CodeMirrors) is also welcome,
filing a pull request on one of the [PostGIS code mirrors](https://trac.osgeo.org/postgis/wiki/CodeMirrors) is also welcome,
but it is easier for such contributions to miss our radars unless
it _also_ has a matching Trac ticket.
If you intend to be involved for more than an occasional patch we
recommend you to subscribe to the [development mailing list]
(https://lists.osgeo.org/mailman/listinfo/postgis-devel).
recommend you to subscribe to the [development mailing list](https://lists.osgeo.org/mailman/listinfo/postgis-devel).
This diff is collapsed.
......@@ -38,7 +38,7 @@ test: check
check: all docs-check check-no-trailing-blanks
check-no-trailing-blanks:
! find . -name '*.c' -o -name '*.h' | \
! find . -name '*.c' -o -name '*.h' -o -name '*.proto' | \
grep -v lwin_wkt_lex.c | \
grep -v lwin_wkt_parse | \
grep -v vector_tile.pb-c | \
......@@ -58,8 +58,7 @@ distclean-local: clean-local
maintainer-clean-local: distclean-local
rm -f configure
rm -f config.guess config.rpath config.sub
rm -f libtool install-sh ltmain.sh
rm -Rf build-aux
maintainer-clean:
@echo '------------------------------------------------------'
......@@ -138,11 +137,12 @@ raster-post-install-check:
raster-sql:
$(MAKE) -C raster rtpostgis.sql
astyle:
.PHONY: fmt
fmt:
./astyle.sh
commit:
$(MAKE) astyle && $(MAKE) clean && $(MAKE) check && svn commit
$(MAKE) fmt && $(MAKE) clean && $(MAKE) check && svn commit
authors.git: authors.svn
sed -e 's/:/ = /' authors.svn > authors.git
......
PostGIS 2.4.0rc3
2017/09/27
* Fixes and Enhancements since PostGIS 2.4.0rc2 *
- #3781 st_contains cannot handle curvepolygon / compoundcurve
consisting of only straight lines
- #3866 server crashing from large values in ST_AsTWKB
- #3818 Allow triangles unclosed in M to be WKT parsed
- several packaging changes regarding checking trailing blanks
PostGIS 2.5.0beta1
2018/07/03
New since PostGIS 2.5.0alpha
- #1847, spgist 2d and 3d support for PG 11+
(Esteban Zimányi and Arthur Lesuisse from Université Libre de Bruxelles (ULB),
Darafei Praliaskouski)
- Numerous packaging fixes
See PostGIS 2.5.0 section for full details
See PostGIS 2.4.0 section for details of
new features and enhancements in this release.
PostGIS 2.4.0rc2
2017/09/24
* Fixes and Enhancements since PostGIS 2.4.0rc1 *
- Numerous fixes to ST_AsMVT, ST_AsGeoBuf
- ST_AsTWKB speed and memory performance enhancments
- ST_RepeatedPoints speed improvements
- ST_ConcaveHull bug fix
PostGIS 2.5.0alpha
2018/05/28
See PostGIS 2.5.0 section for details
See PostGIS 2.4.0 section for details of
new features and enhancements in this release.
PostGIS 2.5.0
2018/xx/xx
* New Features *
- #1847, spgist 2d and 3d support for PG 11+
(Esteban Zimányi and Arthur Lesuisse from Université Libre de Bruxelles (ULB),
Darafei Praliaskouski)
- #4056, ST_FilterByM (Nicklas Avén)
- #4050, ST_ChaikinSmoothing (Nicklas Avén)
- #3989, ST_Buffer single sided option (Stephen Knox)
- #3876, ST_Angle function (Rémi Cura)
- #3564, ST_LineInterpolatePoints (Dan Baston)
- #3896, PostGIS_Extensions_Upgrade() (Regina Obe)
- #3913, Upgrade when creating extension from unpackaged (Sandro Santilli)
- #2256, _postgis_index_extent() for extent from index (Paul Ramsey)
- #3176, Add ST_OrientedEnvelope (Dan Baston)
- #4029, Add ST_QuantizeCoordinates (Dan Baston)
- #4063, Optional false origin point for ST_Scale (Paul Ramsey)
- #4082, Add ST_BandFileSize and ST_BandFileTimestamp,
extend ST_BandMetadata (Even Rouault)
- #2597, Add ST_Grayscale (Bborie Park)
- #4007, Add ST_SetBandPath (Bborie Park)
- #4008, Add ST_SetBandIndex (Bborie Park)
PostGIS 2.4.0rc1
2017/09/13
Note possible breaking changes since 2.4.0 beta1 release are:
* Breaking Changes *
- B-Tree index operators < = > changed to provide better spatial locality on sorting
and have expected behavior on GROUP BY.
If you have btree index for geometry or geography, you need to REINDEX it, or review
if it was created by accident and needs to be replaced with GiST index.
If your code relies on old left-to-right box compare ordering,
update it to use << >> operators.
- ST_AsMVT aggregate now overloaded and arg order changed.
Check your code if you are already using this function.
- _ST_DumpPoints removed, was no longer needed after PostGIS 2.1.0
when ST_DumpPoints got reimplemented in C
- #4054, ST_SimplifyVW changed from > tolerance to >= tolerance
- #3885, version number removed from address_standardize lib file
(Regina Obe)
- #3893, raster support functions can only be loaded in the same schema
with core PostGIS functions.
- #4035, remove dummy pgis_abs type from aggregate/collect routines.
- #4069, drop support for GEOS < 3.5 and PostgreSQL < 9.4 (Regina Obe)
- #4082, ST_BandMetaData extended to include filesize, timestamp (Even Rouault)
See PostGIS 2.4.0 section for details of new features and fixes in this release
* Enhancements and Fixes*
- Upgrade scripts from multiple old versions are now all symlinks
to a single upgrade script (Sandro Santilli)
- #3944, Update to EPSG register v9.2 (Even Rouault)
- #3927, Parallel implementation of ST_AsMVT
- #3925, Simplify geometry using map grid cell size before generating MVT
- #3899, BTree sort order is now defined on collections of EMPTY and
same-prefix geometries (Darafei Praliaskouski)
- #3864, Performance improvement for sorting POINT geometries
(Darafei Praliaskouski)
- #3900, GCC warnings fixed, make -j is now working (Darafei Praliaskouski)
- TopoGeo_addLinestring robustness improvements (Sandro Santilli)
#1855, #1946, #3718, #3838
- #3234, Do not accept EMPTY points as topology nodes (Sandro Santilli)
- #1014, Hashable geometry, allowing direct use in CTE signatures (Paul Ramsey)
- #3097, Really allow MULTILINESTRING blades in ST_Split() (Paul Ramsey)
- #3942, geojson: Do not include private header for json-c >= 0.13 (Björn Esser)
- #3954, ST_GeometricMedian now supports point weights (Darafei Praliaskouski)
- #3965, #3971, #3977, #4071 ST_ClusterKMeans rewritten: better initialization,
faster convergence, K=2 even faster (Darafei Praliaskouski)
- #3982, ST_AsEncodedPolyline supports LINESTRING EMPTY and MULTIPOINT EMPTY
(Darafei Praliaskouski)
- #3986, ST_AsText now has second argument to limit decimal digits
(Marc Ducobu, Darafei Praliaskouski)
- #4020, Casting from box3d to geometry now returns correctly connected
PolyhedralSurface (Matthias Bay)
- #2508, ST_OffsetCurve now works with collections (Darafei Praliaskouski)
- #4006, ST_GeomFromGeoJSON support for json and jsonb as input
(Paul Ramsey, Regina Obe)
- #4037, Invalid input geometry is fixed with MakeValid for GEOS exceptions in
ST_Intersection, ST_Union, ST_Difference, ST_SymDifference (Darafei
Praliaskouski)
- #4038, ST_Subdivide now selects pivot for geometry split that reuses input
vertices. ST_ClipByBox2D is stubbed with ST_Intersection because of
robustness issues. (Darafei Praliaskouski)
- #4025, #4032 Fixed precision issue in ST_ClosestPointOfApproach,
ST_DistanceCPA, and ST_CPAWithin (Paul Ramsey, Darafei Praliaskouski)
- #4076, Reduce use of GEOS in topology implementation (Björn Harrtell)
- #4080, Add external raster band index to ST_BandMetaData
- Add Raster Tips section to Documentation for information about
Raster behavior (e.g. Out-DB performance, maximum open files)
- #4084: Fixed wrong code-comment regarding front/back of BOX3D (Matthias Bay)
- #4060, #4094, PostgreSQL JIT support (Raúl Marín, Laurenz Albe)
- #3960, ST_Centroid now uses lwgeom_centroid (Darafei Praliaskouski)
- #4103, ST_PointOnSurface can handle invalid (Darafei Praliaskouski)
PostGIS 2.4.4
2018/04/08
* Bug fixes *
- #3055, [raster] ST_Clip() on a raster without band crashes the server
(Regina Obe)
- #3942, geojson: Do not include private header for json-c >= 0.13
(Björn Esser)
- #3952, ST_Transform fails in parallel mode (Paul Ramsey)
- #3978, Fix KNN when upgrading from 2.1 or older (Sandro Santilli)
- #4003, lwpoly_construct_circle: Avoid division by zero (Raúl Marín Rodríguez)
- #4004, Avoid memory exhaustion when building a btree index (Edmund Horner)
- #4016, proj 5.0.0 support (Raúl Marín Rodríguez)
- #4017, lwgeom lexer memory corruption (Peter E)
- #4020, Casting from box3d to geometry now returns correctly connected
PolyhedralSurface (Matthias Bay)
- #4025, #4032 Incorrect answers for temporally "almost overlapping" ranges
(Paul Ramsey, Darafei Praliaskouski)
- #4052, schema qualify several functions in geography (Regina Obe)
- #4055, ST_ClusterIntersecting drops SRID (Daniel Baston)
- #4067, Guard lookup of namespace in internal call case
* Enhancements *
- #3946, Compile support for PgSQL 11 (Paul Ramsey)
- #3992, Use PKG_PROG_PKG_CONFIG macro from pkg.m4 to detect pkg-config
(Bas Couwenberg)
- #4044, Upgrade support for PgSQL 11 (Regina Obe)
PostGIS 2.4.3
2018/01/17
* Bug fixes *
- #3713, Support encodings that happen to output a '\' character
- #3827, Set configure default to not do interrupt testing,
was causing false negatives for many people (Regina Obe)
revised to be standards compliant in #3988 (Greg Troxel)
- #3930, Minimum bounding circle issues on 32-bit platforms
- #3965, ST_ClusterKMeans used to lose some clusters on initialization
(Darafei Praliaskouski)
- #3956, Brin opclass object does not upgrade properly (Sandro Santilli)
- #3982, ST_AsEncodedPolyline supports LINESTRING EMPTY and MULTIPOINT EMPTY
(Darafei Praliaskouski)
- #3975, ST_Transform runs query on spatial_ref_sys without schema
qualification. Was causing restore issues. (Paul Ramsey)
* Enhancements *
- #3944, Update to EPSG register v9.2 (Even Rouault)
PostGIS 2.4.2
2017/11/15
* Bug fixes *
- #3917, Fix zcta5 load
- #3667, Fix for bug in geography ST_Segmentize
- #3926, Add missing 2.2.6 and 2.3.4 upgrade paths (Muhammad Usama)
PostGIS 2.4.1
2017/10/18
* Bug fixes *
- #3864, Fix memory leaks in BTREE operators
- #3869, Fix build with "gold" linker
- #3845, Gracefully handle short-measure issue
- #3871, Performance tweak for geometry cmp function
- #3879, Division by zero in some arc cases
- #3878, Single defn of signum in header
- #3880, Undefined behaviour in TYPMOD_GET_SRID
- #3875, Fix undefined behaviour in shift operation
- #3864, Performance improvements for b-tree geometry sorts
- #3874, lw_dist2d_pt_arc division by zero
- #3882, undefined behaviour in zigzag with negative inputs
- #3891, undefined behaviour in pointarray_to_encoded_polyline
- #3895, throw error on malformed WKB input
- #3886, fix rare missing boxes in geometry subdivision
- #3907, Allocate enough space for all possible GBOX string outputs (Raúl Marín Rodríguez)
* Enhancements *
- #3815, Tiger 2017 data support and option to load zcta5
PostGIS 2.4.0
2017/09/29
2017/09/30
* New Features *
- #3822, Have postgis_full_version() also show and check version of
......@@ -88,23 +222,33 @@ PostGIS 2.4.0
- #3844, Make = operator a strict equality test, and < > to rough "spatial sorting"
- #3855, ST_AsTWKB memory and speed improvements
PostGIS 2.4.0rc2
2017/09/24
* Fixes and Enhancements since PostGIS 2.4.0rc1 *
- Numerous fixes to ST_AsMVT, ST_AsGeoBuf
- ST_AsTWKB speed and memory performance enhancments
- ST_RepeatedPoints speed improvements
- ST_ConcaveHull bug fix
See PostGIS 2.4.0 section for details of
new features and enhancements in this release.
PostGIS 2.4.0rc1
2017/09/13
Note possible breaking changes since 2.4.0 beta1 release are:
* Breaking Changes *
- Dropped support for PostgreSQL 9.2.
- #3810, GEOS 3.4.0 or above minimum required to compile
- Most aggregates now marked as parallel safe,
which means most aggs have to be dropped / recreated.
If you have views that utilize PostGIS aggs,
you'll need to drop before upgrade and recreate after upgrade
- #3578, ST_NumInteriorRings(POLYGON EMPTY) now returns 0 instead of NULL
- _ST_DumpPoints removed, was no longer needed after PostGIS 2.1.0
when ST_DumpPoints got reimplemented in C
- B-Tree index operators < = > changed to provide better spatial locality on sorting
and have expected behavior on GROUP BY.
If you have btree index for geometry or geography, you need to REINDEX it, or review
if it was created by accident and needs to be replaced with GiST index.
If your code relies on old left-to-right box compare ordering,
update it to use << >> operators
update it to use << >> operators.
- ST_AsMVT aggregate now overloaded and arg order changed.
Check your code if you are already using this function.
- _ST_DumpPoints removed, was no longer needed after PostGIS 2.1.0
when ST_DumpPoints got reimplemented in C
See PostGIS 2.4.0 section for details of new features and fixes in this release
PostGIS 2.4.0beta1
2017/09/02
......@@ -1260,8 +1404,7 @@ PostGIS 1.5.2
(Mark Cave-Ayland)
- #504 shp2pgsql should rename xmin/xmax fields (Sandro Santilli)
- #458 postgis_comments being installed in contrib instead of
version folder (Mark Cave-Ayland)
- #474 Analyzing a table with geography column crashes server
version fozing a table with geography column crashes server
(Paul Ramsey)
- #581 LWGEOM-expand produces inconsistent results
(Mark Cave-Ayland)
......
Debbie:
[![Build Status](https://debbie.postgis.net/buildStatus/icon?job=PostGIS_2.4)](https://debbie.postgis.net/view/PostGIS/job/PostGIS_2.4/)
[![Build Status](https://debbie.postgis.net/buildStatus/icon?job=PostGIS_trunk)](https://debbie.postgis.net/view/PostGIS/job/PostGIS_trunk/)
Winnie:
[![Build Status](https://debbie.postgis.net:444/buildStatus/icon?job=PostGIS_2.4)](https://debbie.postgis.net:444/view/PostGIS/job/PostGIS_2.4/)
[![Build Status](https://winnie.postgis.net:444/buildStatus/icon?job=PostGIS_trunk)](https://winnie.postgis.net:444/view/PostGIS/job/PostGIS_trunk/)
Dronie:
[![Build Status](https://drone.osgeo.org/api/badges/postgis/postgis/status.svg?branch=svn-2.4)](https://drone.osgeo.org/postgis/postgis?branch=svn-2.4)
[![Build Status](https://drone.osgeo.org/api/badges/postgis/postgis/status.svg?branch=svn-trunk)](https://drone.osgeo.org/postgis/postgis?branch=svn-trunk)
Travis:
[![Build Status](https://secure.travis-ci.org/postgis/postgis.svg)](http://travis-ci.org/postgis/postgis)
GitLab-CI:
[![Gitlab-CI](https://gitlab.com/postgis/postgis/badges/svn-2.4/build.svg)](https://gitlab.com/postgis/postgis/commits/svn-2.4)
[![Gitlab-CI](https://gitlab.com/postgis/postgis/badges/svn-trunk/build.svg)](https://gitlab.com/postgis/postgis/commits/svn-trunk)
This file is here to play nicely with modern code repository facilities.
Actual readme is [here](README.postgis).
......
PostGIS - Geographic Information Systems Extensions to PostgreSQL
=================================================================
:Version: 2.4.0rc3
:Date: 2017-09-25
:Version: 2.5.0
:Date: 2018-xx-xx
:Website: http://postgis.net
This distribution contains a module which implements GIS simple features, ties
......@@ -31,24 +31,25 @@ Directory structure::
REQUIREMENTS
------------
PostGIS is compatible with PostgreSQL 9.3 and above.
PostGIS is compatible with PostgreSQL 9.4 and above.
You *must* have the full PostgreSQL - including server headers - installed for
this to work.
* PROJ4 (Required, Version 4.6.0 or higher):
* PROJ4 (Required, Version 4.9.0 or higher):
The PROJ4 catographic projection library is required if you want to use the
ST_Transform() function to reproject features within the database.
http://trac.osgeo.org/proj/
* GEOS (Required, Version 3.3.0 or higher
- 3.4+ is strongly recommended and needed for full features):
* GEOS (Required, Version 3.5 or higher)
- 3.6+ is strongly recommended to expose most GEOS features
- 3.7+ is needed just for the ST_FrechetDistance function
The GEOS library provides support for exact topological tests such as
ST_Touches(), ST_Contains(), ST_Disjoint() and spatial operations such as
ST_Intersection(), ST_Union() and ST_Buffer(). GEOS 3.4+ is recommended.
ST_Intersection(), ST_Union() and ST_Buffer().
http://trac.osgeo.org/geos/
......
......@@ -15,21 +15,25 @@ from time to time, we will eventually get there.
:Formatting:
All C code should use an ANSI standard formatting with tabs for block
Most C code should use an ANSI standard formatting with tabs for block
indenting. When not block indenting, use spaces. To convert a file
to the standard format use:
astyle --style=ansi --indent=tab
Some files use space indenting instead (check .editorconfig for info).
For them, you can use:
astyle --style=ansi --indent=spaces=2
Do not get too happy with this command. If you want to re-format a file you
are working on:
a) run astyle on it
b) commit
c) do your work
d) commit
e) if you are really finicky run astyle again
f) commit
d) run astyle again
e) commit
The idea is to avoid combining style-only commits and commits that change
logic, so the logic commits are easier to read.
......
......@@ -4,8 +4,8 @@
# See HOWTO_RELEASE file in SVN for definitions of those three.
POSTGIS_MAJOR_VERSION=2
POSTGIS_MINOR_VERSION=4
POSTGIS_MICRO_VERSION=0rc3
POSTGIS_MINOR_VERSION=5
POSTGIS_MICRO_VERSION=0beta1
# Liblwgeom interface versioning, reset to 0:0:0 (cur:age:rev)
# when changing POSTGIS_MINOR_VERSION
......
# generated automatically by aclocal 1.15 -*- Autoconf -*-
# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
# Copyright (C) 1996-2014 Free Software Foundation, Inc.
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -12,283 +12,7 @@
# PARTICULAR PURPOSE.
m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
dnl serial 11 (pkg-config-0.29)
dnl
dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
dnl
dnl This program is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation; either version 2 of the License, or
dnl (at your option) any later version.
dnl
dnl This program is distributed in the hope that it will be useful, but
dnl WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
dnl General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with this program; if not, write to the Free Software
dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
dnl 02111-1307, USA.
dnl
dnl As a special exception to the GNU General Public License, if you
dnl distribute this file as part of a program that contains a
dnl configuration script generated by Autoconf, you may include it under
dnl the same distribution terms that you use for the rest of that
dnl program.
dnl PKG_PREREQ(MIN-VERSION)
dnl -----------------------
dnl Since: 0.29
dnl
dnl Verify that the version of the pkg-config macros are at least
dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
dnl installed version of pkg-config, this checks the developer's version
dnl of pkg.m4 when generating configure.
dnl
dnl To ensure that this macro is defined, also add:
dnl m4_ifndef([PKG_PREREQ],
dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])])
dnl
dnl See the "Since" comment for each macro you use to see what version
dnl of the macros you require.
m4_defun([PKG_PREREQ],
[m4_define([PKG_MACROS_VERSION], [0.29])
m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
[m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
])dnl PKG_PREREQ
dnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
dnl ----------------------------------
dnl Since: 0.16
dnl
dnl Search for the pkg-config tool and set the PKG_CONFIG variable to
dnl first found in the path. Checks that the version of pkg-config found
dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
dnl used since that's the first version where most current features of
dnl pkg-config existed.
AC_DEFUN([PKG_PROG_PKG_CONFIG],
[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
fi
if test -n "$PKG_CONFIG"; then
_pkg_min_version=m4_default([$1], [0.9.0])
AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
PKG_CONFIG=""
fi
fi[]dnl
])dnl PKG_PROG_PKG_CONFIG
dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
dnl -------------------------------------------------------------------
dnl Since: 0.18
dnl
dnl Check to see whether a particular set of modules exists. Similar to
dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
dnl
dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
dnl only at the first occurence in configure.ac, so if the first place
dnl it's called might be skipped (such as if it is within an "if", you
dnl have to call PKG_CHECK_EXISTS manually
AC_DEFUN([PKG_CHECK_EXISTS],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
if test -n "$PKG_CONFIG" && \
AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
m4_default([$2], [:])
m4_ifvaln([$3], [else
$3])dnl
fi])
dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
dnl ---------------------------------------------
dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting
dnl pkg_failed based on the result.
m4_define([_PKG_CONFIG],
[if test -n "$$1"; then
pkg_cv_[]$1="$$1"
elif test -n "$PKG_CONFIG"; then
PKG_CHECK_EXISTS([$3],
[pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes ],
[pkg_failed=yes])
else
pkg_failed=untried
fi[]dnl
])dnl _PKG_CONFIG
dnl _PKG_SHORT_ERRORS_SUPPORTED
dnl ---------------------------
dnl Internal check to see if pkg-config supports short errors.
AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
_pkg_short_errors_supported=yes
else
_pkg_short_errors_supported=no
fi[]dnl
])dnl _PKG_SHORT_ERRORS_SUPPORTED
dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
dnl [ACTION-IF-NOT-FOUND])
dnl --------------------------------------------------------------
dnl Since: 0.4.0
dnl
dnl Note that if there is a possibility the first call to
dnl PKG_CHECK_MODULES might not happen, you should be sure to include an
dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
AC_DEFUN([PKG_CHECK_MODULES],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
pkg_failed=no
AC_MSG_CHECKING([for $1])
_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
_PKG_CONFIG([$1][_LIBS], [libs], [$2])
m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
and $1[]_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.])
if test $pkg_failed = yes; then
AC_MSG_RESULT([no])
_PKG_SHORT_ERRORS_SUPPORTED
if test $_pkg_short_errors_supported = yes; then
$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
else
$1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
m4_default([$4], [AC_MSG_ERROR(
[Package requirements ($2) were not met:
$$1_PKG_ERRORS
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
_PKG_TEXT])[]dnl
])
elif test $pkg_failed = untried; then
AC_MSG_RESULT([no])
m4_default([$4], [AC_MSG_FAILURE(
[The pkg-config script could not be found or is too old. Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config.
_PKG_TEXT
To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
])
else
$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
AC_MSG_RESULT([yes])
$3
fi[]dnl
])dnl PKG_CHECK_MODULES
dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
dnl [ACTION-IF-NOT-FOUND])
dnl ---------------------------------------------------------------------
dnl Since: 0.29
dnl
dnl Checks for existence of MODULES and gathers its build flags with
dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
dnl and VARIABLE-PREFIX_LIBS from --libs.
dnl
dnl Note that if there is a possibility the first call to
dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to
dnl include an explicit call to PKG_PROG_PKG_CONFIG in your
dnl configure.ac.
AC_DEFUN([PKG_CHECK_MODULES_STATIC],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
_save_PKG_CONFIG=$PKG_CONFIG
PKG_CONFIG="$PKG_CONFIG --static"
PKG_CHECK_MODULES($@)
PKG_CONFIG=$_save_PKG_CONFIG[]dnl
])dnl PKG_CHECK_MODULES_STATIC
dnl PKG_INSTALLDIR([DIRECTORY])
dnl -------------------------
dnl Since: 0.27
dnl
dnl Substitutes the variable pkgconfigdir as the location where a module
dnl should install pkg-config .pc files. By default the directory is
dnl $libdir/pkgconfig, but the default can be changed by passing
dnl DIRECTORY. The user can override through the --with-pkgconfigdir
dnl parameter.
AC_DEFUN([PKG_INSTALLDIR],
[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
m4_pushdef([pkg_description],
[pkg-config installation directory @<:@]pkg_default[@:>@])
AC_ARG_WITH([pkgconfigdir],
[AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
[with_pkgconfigdir=]pkg_default)
AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
m4_popdef([pkg_default])
m4_popdef([pkg_description])
])dnl PKG_INSTALLDIR
dnl PKG_NOARCH_INSTALLDIR([DIRECTORY])
dnl --------------------------------
dnl Since: 0.27
dnl
dnl Substitutes the variable noarch_pkgconfigdir as the location where a
dnl module should install arch-independent pkg-config .pc files. By
dnl default the directory is $datadir/pkgconfig, but the default can be
dnl changed by passing DIRECTORY. The user can override through the
dnl --with-noarch-pkgconfigdir parameter.
AC_DEFUN([PKG_NOARCH_INSTALLDIR],
[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
m4_pushdef([pkg_description],
[pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
AC_ARG_WITH([noarch-pkgconfigdir],
[AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
[with_noarch_pkgconfigdir=]pkg_default)
AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
m4_popdef([pkg_default])
m4_popdef([pkg_description])
])dnl PKG_NOARCH_INSTALLDIR
dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
dnl -------------------------------------------
dnl Since: 0.28
dnl
dnl Retrieves the value of the pkg-config variable for the given module.
AC_DEFUN([PKG_CHECK_VAR],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
_PKG_CONFIG([$1], [variable="][$3]["], [$2])
AS_VAR_COPY([$1], [pkg_cv_][$1])
AS_VAR_IF([$1], [""], [$5], [$4])dnl
])dnl PKG_CHECK_VAR
# Copyright (C) 2003-2014 Free Software Foundation, Inc.
# Copyright (C) 2003-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -334,5 +58,6 @@ m4_include([macros/ltsugar.m4])
m4_include([macros/ltversion.m4])
m4_include([macros/lt~obsolete.m4])
m4_include([macros/nls.m4])
m4_include([macros/pkg.m4])
m4_include([macros/po.m4])
m4_include([macros/progtest.m4])
......@@ -20,8 +20,24 @@ fi
# Find all "pure" C files in the codebase
# - not .in.c used for .sql generation
# - not lex.yy.c or wktparse.tab.c as these are generated files
CFILES=`find . -name '*.c' -not \( -name '*_parse.c' -o -name '*_lex.c' \)`
# - not topology/* files
CFILES_TAB=`find . -name '*.c' -not \( \
-name '*_parse.c' -o \
-name '*_lex.c' -o \
-name './topology/*' -o \
-name './liblwgeom/liblwgeom_topo.*' \
\)`
# Run the standard format on the files, and do not
# leave .orig files around for altered files.
astyle --style=ansi --indent=tab --suffix=none $CFILES
astyle --style=ansi --indent=tab --suffix=none $CFILES_TAB
# Find all "pure" C files in the codebase
# - not .in.c used for .sql generation
# - not lex.yy.c or wktparse.tab.c as these are generated files
# - not topology/* files
CFILES_SPACE="liblwgeom/*.c topology/*.c"
# Run the standard format on the files, and do not
# leave .orig files around for altered files.
astyle --style=ansi --indent=spaces=2 --suffix=none $CFILES_SPACE
algunenano = Raúl Marín Rodríguez <rmrodriguez@carto.com>
benjubb = Ben Jubb <benjubb@refractions.net>
bergun = Baris Ergun <barisergun75@gmail.com>
bjornharrtell = Björn Harrtell <bjorn@wololo.org>
chodgson = Chris Hodgson <chodgson@refractions.net>
colivier = Olivier Courtin <olivier.courtin@oslandia.com>
cvs = No Body <no@body.net>
dbaston = Daniel Baston <dbaston@gmail.com>
dblasby = David Blasby <dblasby@gmail.com>
devrim = Devrim GÜNDÜZ <devrim@gunduz.org>
dustymugs = Bborie Park <dustymugs at gmail.com>
dustymugs = Bborie Park <dustymugs@gmail.com>
dzwarg = David Zwarg <dzwarg@azavea.com>
jeffloun = Jeff Lounsbury <jeffloun@refractions.net>
jorgearevalo = Jorge Arévalo <jorge.arevalo at deimos-space.com>
jorgearevalo = Jorge Arévalo <jorge.arevalo@deimos-space.com>
kneufeld = Kevin Neufeld <kneufeld.ca@gmail.com>
komzpa = Darafei Praliaskouski <me@komzpa.net>
mcayland = Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>
mleslie = Mark Leslie <mark.s.leslie@gmail.com>
mloskot = Mateusz Loskot <mateusz@loskot.net>
......@@ -22,9 +27,6 @@ robe = Regina Obe <lr@pcorp.us>
snowman = Stephen Frost <sfrost@snowman.net>
strk = Sandro Santilli <strk@kbt.io>
warmerdam = Frank Warmerdam <warmerdam@pobox.com>
woodbri = Stephen Woodbridge <woodbri@swoodbridge.com>
xingkth = Xing Lin <solo.lin@gmail.com>
yecarrillo = Eduin Carrillo <yecarrillo@yahoo.com>
bergun = Baris Ergun <barisergun75@gmail.com>
woodbri = Stephen Woodbridge <woodbri@swoodbridge.com>
dbaston = Daniel Baston <dbaston@gmail.com>
bjornharrtell = Björn Harrtell <bjorn@wololo.org>
algunenano:Raúl Marín Rodríguez <rmrodriguez@carto.com>
benjubb:Ben Jubb <benjubb@refractions.net>
bergun:Baris Ergun <barisergun75@gmail.com>
bjornharrtell:Björn Harrtell <bjorn@wololo.org>
chodgson:Chris Hodgson <chodgson@refractions.net>
colivier:Olivier Courtin <olivier.courtin@oslandia.com>
cvs:No Body <no@body.net>
dbaston:Daniel Baston <dbaston@gmail.com>
dblasby:David Blasby <dblasby@gmail.com>
devrim:Devrim GÜNDÜZ <devrim@gunduz.org>
dustymugs:Bborie Park <dustymugs at gmail.com>
dustymugs:Bborie Park <dustymugs@gmail.com>
dzwarg:David Zwarg <dzwarg@azavea.com>
jeffloun:Jeff Lounsbury <jeffloun@refractions.net>
jorgearevalo:Jorge Arévalo <jorge.arevalo at deimos-space.com>
jorgearevalo:Jorge Arévalo <jorge.arevalo@deimos-space.com>
kneufeld:Kevin Neufeld <kneufeld.ca@gmail.com>
komzpa:Darafei Praliaskouski <me@komzpa.net>
mcayland:Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>
mleslie:Mark Leslie <mark.s.leslie@gmail.com>
mloskot:Mateusz Loskot <mateusz@loskot.net>
......@@ -22,9 +27,6 @@ robe:Regina Obe <lr@pcorp.us>
snowman:Stephen Frost <sfrost@snowman.net>
strk:Sandro Santilli <strk@kbt.io>
warmerdam:Frank Warmerdam <warmerdam@pobox.com>
woodbri:Stephen Woodbridge <woodbri@swoodbridge.com>
xingkth:Xing Lin <solo.lin@gmail.com>
yecarrillo:Eduin Carrillo <yecarrillo@yahoo.com>
bergun:Baris Ergun <barisergun75@gmail.com>
woodbri:Stephen Woodbridge <woodbri@swoodbridge.com>
dbaston:Daniel Baston <dbaston@gmail.com>
bjornharrtell:Björn Harrtell <bjorn@wololo.org>