diff --git a/.travis.yml b/.travis.yml index d5c93ad1728..5b553ee8206 100644 --- a/.travis.yml +++ b/.travis.yml @@ -62,6 +62,7 @@ install: before_script: # Add our chosen PG version to the path + - psql -U postgres -c "create extension postgis" - export PATH=/usr/lib/postgresql/$POSTGRESQL_VERSION/bin:$PATH # initialize databases diff --git a/CMakeLists.txt b/CMakeLists.txt index 440b892e811..8b14a3d5ae6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -212,7 +212,7 @@ endif() set(PGROUTING_VERSION_MAJOR "2") set(PGROUTING_VERSION_MINOR "4") -set(PGROUTING_VERSION_PATCH "1") +set(PGROUTING_VERSION_PATCH "2") set(PGROUTING_VERSION_DEV "") set(PGROUTING_SHORT_VERSION "${PGROUTING_VERSION_MAJOR}.${PGROUTING_VERSION_MINOR}") @@ -316,9 +316,16 @@ endif(NOT POSTGRESQL_FOUND) if(NOT POSTGRESQL_VERSION_STRING) message(FATAL_ERROR "pg_config was not found. Please check your PostgreSQL installation!") endif(NOT POSTGRESQL_VERSION_STRING) + string(SUBSTRING "${POSTGRESQL_VERSION_STRING}" 11 -1 POSTGRESQL_VERSION) + +# for XbetaY XalphaY XrcY -> X.Y +string(REGEX REPLACE "^([0-9]+)[beta|alpha|rc].*" "\\1.0" POSTGRESQL_VERSION ${POSTGRESQL_VERSION}) + +#for X.Y.Z -> XY Y<10 string(REGEX REPLACE "^([0-9]+)\\.([0-9]+).*" "\\1\\2" PGSQL_VERSION ${POSTGRESQL_VERSION}) + if("${POSTGRESQL_VERSION}" VERSION_LESS "${POSTGRESQL_MINIMUM_VERSION}") message(FATAL_ERROR " PostgreSQL ${POSTGRESQL_MINIMUM_VERSION} or greater is required.") endif("${POSTGRESQL_VERSION}" VERSION_LESS "${POSTGRESQL_MINIMUM_VERSION}") diff --git a/NEWS b/NEWS index dfb67f0deb9..d4d5bf0dd57 100644 --- a/NEWS +++ b/NEWS @@ -1,220 +1,368 @@ -Changes for 2.4.1 +pgRouting 2.4.2 Release Notes ------------------------------------------------------------------------------- -* Bug fixes - * fixed compiling error on macOS - * Condition error on pgr_withPoints +To see the issues closed by this release see the [Git closed milestone for 2.4.2 ](https://github.com/pgRouting/pgrouting/issues?utf8=%E2%9C%93&q=milestone%3A%22Release%202.4.2%22%20) on Github. + +*Improvement* + +* Works for postgreSQL 10 + +*Bug fixes* + +* Fixed: Unexpected error column "cname" +* Replace __linux__ with __GLIBC__ for glibc-specific headers and functions + + + -Changes for 2.4.0 +pgRouting 2.4.1 Release Notes ------------------------------------------------------------------------------- -* New Signatures: - * pgr_bdDijkstra -* New Proposed functions - * pgr_maxFlow - * pgr_astar(one to many) - * pgr_astar(many to one) - * pgr_astar(many to many) - * pgr_astarCost(one to one) - * pgr_astarCost(one to many) - * pgr_astarCost(many to one) - * pgr_astarCost(many to many) - * pgr_astarCostMatrix -* Deprecated Signatures - * pgr_bddijkstra - use pgr_bdDijkstra instead -* Deprecated functions - * pgr_pointsToVids +To see the issues closed by this release see the [Git closed milestone for 2.4.2 ](https://github.com/pgRouting/pgrouting/issues?utf8=%E2%9C%93&q=milestone%3A%22Release%202.4.1%22%20) on Github. + +*Bug fixes* + +* Fixed compiling error on macOS +* Condition error on pgr_withPoints + + +pgRouting 2.4.0 Release Notes +------------------------------------------------------------------------------- + +To see the issues closed by this release see the [Git closed issues for 2.4.0 ](https://github.com/pgRouting/pgrouting/issues?q=milestone%3A%22Release+2.4.0%22+is%3Aclosed) on Github. + +*New Signatures* + +* pgr_bdDijkstra + + +*New Proposed Signatures* + +* pgr_maxFlow +* pgr_astar(one to many) +* pgr_astar(many to one) +* pgr_astar(many to many) +* pgr_astarCost(one to one) +* pgr_astarCost(one to many) +* pgr_astarCost(many to one) +* pgr_astarCost(many to many) +* pgr_astarCostMatrix + +*Deprecated Signatures* + +* pgr_bddijkstra - use pgr_bdDijkstra instead + +*Deprecated Functions* + +* pgr_pointsToVids + +*Bug fixes* + * Bug fixes on proposed functions + * pgr_withPointsKSP: fixed ordering + * TRSP original code is used with no changes on the compilation warnings -Changes for 2.3.2 + +pgRouting 2.3.2 Release Notes ------------------------------------------------------------------------------- -* Bug fixes - * Fixed pgr_gsoc_vrppdtw crash when all orders fit on one truck. - * Fixed pgr_trsp: - * Alternate code is not executed when the point is in reality a vertex - * Fixed ambiguity on seq +To see the issues closed by this release see the [Git closed issues for 2.3.2 ](https://github.com/pgRouting/pgrouting/issues?q=milestone%3A%22Release+2.3.2%22+is%3Aclosed) on Github. + +*Bug Fixes* + +* Fixed pgr_gsoc_vrppdtw crash when all orders fit on one truck. +* Fixed pgr_trsp: -Changes for 2.3.1 + * Alternate code is not executed when the point is in reality a vertex + * Fixed ambiguity on seq + + + +pgRouting 2.3.1 Release Notes ------------------------------------------------------------------------------- -* Bug fixes - * Leaks on proposed max_flow functions - * Regression error on pgr_trsp - * Types discrepancy on pgr_createVerticesTable +To see the issues closed by this release see the [Git closed issues for 2.3.1 ](https://github.com/pgRouting/pgrouting/issues?q=milestone%3A%22Release+2.3.1%22+is%3Aclosed) on Github. +*Bug Fixes* -Changes for 2.3.0 +* Leaks on proposed max_flow functions +* Regression error on pgr_trsp +* Types discrepancy on pgr_createVerticesTable + + + +pgRouting 2.3.0 Release Notes ------------------------------------------------------------------------------- -* New Signatures: +To see the issues closed by this release see the [Git closed issues for 2.3.0 ](https://github.com/pgRouting/pgrouting/issues?q=milestone%3A%22Release+2.3.0%22+is%3Aclosed) on Github. + +*New Signatures* - * pgr_TSP - * pgr_aStar +* pgr_TSP +* pgr_aStar -* New Functions: +*New Functions* - * pgr_eucledianTSP +* pgr_eucledianTSP -* New Proposed functions - * pgr_dijkstraCostMatrix - * pgr_withPointsCostMatrix - * pgr_maxFlowPushRelabel - * pgr_maxFlowEdmondsKarp - * pgr_maxFlowBoykovKolmogorov - * pgr_maximumCardinalityMatching - * pgr_edgeDisjointPaths - * pgr_contractGraph +*New Proposed functions* +* pgr_dijkstraCostMatrix +* pgr_withPointsCostMatrix +* pgr_maxFlowPushRelabel(one to one) +* pgr_maxFlowPushRelabel(one to many) +* pgr_maxFlowPushRelabel(many to one) +* pgr_maxFlowPushRelabel(many to many) +* pgr_maxFlowEdmondsKarp(one to one) +* pgr_maxFlowEdmondsKarp(one to many) +* pgr_maxFlowEdmondsKarp(many to one) +* pgr_maxFlowEdmondsKarp(many to many) +* pgr_maxFlowBoykovKolmogorov (one to one) +* pgr_maxFlowBoykovKolmogorov (one to many) +* pgr_maxFlowBoykovKolmogorov (many to one) +* pgr_maxFlowBoykovKolmogorov (many to many) +* pgr_maximumCardinalityMatching +* pgr_edgeDisjointPaths(one to one) +* pgr_edgeDisjointPaths(one to many) +* pgr_edgeDisjointPaths(many to one) +* pgr_edgeDisjointPaths(many to many) +* pgr_contractGraph -* Deprecated Signatures - * pgr_tsp - use pgr_TSP or pgr_eucledianTSP instead - * pgr_astar - use pgr_aStar instead +*Deprecated Signatures* +* pgr_tsp - use pgr_TSP or pgr_eucledianTSP instead +* pgr_astar - use pgr_aStar instead -* Deprecated functions - * pgr_flip_edges - * pgr_vidsToDmatrix(2 signatures) - * pgr_pointsToDMatrix - * pgr_textToPoints +*Deprecated Functions* -Changes for 2.2.4 +* pgr_flip_edges +* pgr_vidsToDmatrix +* pgr_pointsToDMatrix +* pgr_textToPoints + + + + +pgRouting 2.2.4 Release Notes ------------------------------------------------------------------------------- -- Bogus uses of extern "C" -- Build error on Fedora 24 + GCC 6.0 -- Regression error pgr_nodeNetwork +To see the issues closed by this release see the [Git closed issues for 2.2.4 ](https://github.com/pgRouting/pgrouting/issues?q=milestone%3A%22Release+2.2.4%22+is%3Aclosed) on Github. +*Bug Fixes* +* Bogus uses of extern "C" +* Build error on Fedora 24 + GCC 6.0 +* Regression error pgr_nodeNetwork -Changes for 2.2.3 + +pgRouting 2.2.3 Release Notes ------------------------------------------------------------------------------- -- Fixed compatibility issues with PostgreSQL 9.6. +To see the issues closed by this release see the [Git closed issues for 2.2.3 ](https://github.com/pgRouting/pgrouting/issues?q=milestone%3A%22Release+2.2.3%22+is%3Aclosed) on Github. + +*Bug Fixes* + +* Fixed compatibility issues with PostgreSQL 9.6. -Changes for 2.2.2 + +pgRouting 2.2.2 Release Notes ------------------------------------------------------------------------------- -- Fixed regression error on pgr_drivingDistance +To see the issues closed by this release see the [Git closed issues for 2.2.2 ](https://github.com/pgRouting/pgrouting/issues?q=milestone%3A%22Release+2.2.2%22+is%3Aclosed) on Github. + +*Bug Fixes* + +* Fixed regression error on pgr_drivingDistance + -Changes for 2.2.1 + +pgRouting 2.2.1 Release Notes ------------------------------------------------------------------------------- -- Server crash fix on pgr_alphaShape -- Bug fix on With Points family of functions +To see the issues closed by this release see the [Git closed issues for 2.2.1 ](https://github.com/pgRouting/pgrouting/issues?q=milestone%3A2.2.1+is%3Aclosed) on Github. + +*Bug Fixes* + +* Server crash fix on pgr_alphaShape +* Bug fix on With Points family of functions + -Changes for 2.2.0 + +pgRouting 2.2.0 Release Notes ------------------------------------------------------------------------------- -- Improved: - - pgr_nodeNetwork - - Adding a row_where and outall optional parameters +To see the issues closed by this release see the [Git closed issues for 2.2.0 ](https://github.com/pgRouting/pgrouting/issues?q=milestone%3A%22Release+2.2.0%22+is%3Aclosed) on Github. + + +*Improvements* + +- pgr_nodeNetwork + + - Adding a row_where and outall optional parameters - Signature fix - - pgr_dijkstra -- to match what was documented on the pgr_dijkstra from V2.0 - -- New functions - - pgr_floydWarshall - - pgr_Johnson - - pgr_dijkstraCost(one to one) - - pgr_dijkstraCost(one to many) - - pgr_dijkstraCost(many to one) - - pgr_dijkstraCost(many to many) - -- New Proposed functions - - pgr_withPoints(one to one) - - pgr_withPoints(one to many) - - pgr_withPoints(many to one) - - pgr_withPoints(many to many) - - pgr_withPointsCost(one to one) - - pgr_withPointsCost(one to many) - - pgr_withPointsCost(many to one) - - pgr_withPointsCost(many to many) - - pgr_withPointsDD(single vertex) - - pgr_withPointsDD(multiple vertices) - - pgr_withPointsKSP - - pgr_dijkstraVia - - -- Deprecated functions: - - pgr_apspWarshall use pgr_floydWarshall instead - - pgr_apspJohnson use pgr_johnson instead - - pgr_kDijkstraCost use pgr_dijkstraCost instead - - pgr_kDijkstraPath use pgr_dijkstra instead - - pgr_makeDistanceMatrix - - -Changes for 2.1.0 + + - pgr_dijkstra -- to match what is documented + + +*New Functions* + +- pgr_floydWarshall +- pgr_Johnson +- pgr_dijkstraCost(one to one) +- pgr_dijkstraCost(one to many) +- pgr_dijkstraCost(many to one) +- pgr_dijkstraCost(many to many) + +*Proposed functionality* + +- pgr_withPoints(one to one) +- pgr_withPoints(one to many) +- pgr_withPoints(many to one) +- pgr_withPoints(many to many) +- pgr_withPointsCost(one to one) +- pgr_withPointsCost(one to many) +- pgr_withPointsCost(many to one) +- pgr_withPointsCost(many to many) +- pgr_withPointsDD(single vertex) +- pgr_withPointsDD(multiple vertices) +- pgr_withPointsKSP +- pgr_dijkstraVia + + +*Deprecated functions:* + +- pgr_apspWarshall use pgr_floydWarshall instead +- pgr_apspJohnson use pgr_Johnson instead +- pgr_kDijkstraCost use pgr_dijkstraCost instead +- pgr_kDijkstraPath use pgr_dijkstra instead + +*Renamed and deprecated function* + +- pgr_makeDistanceMatrix renamed to _pgr_makeDistanceMatrix + + + +pgRouting 2.1.0 Release Notes ------------------------------------------------------------------------------- +To see the issues closed by this release see the [Git closed issues for 2.1.0 ](https://github.com/pgRouting/pgrouting/issues?q=is%3Aissue+milestone%3A%22Release+2.1.0%22+is%3Aclosed) on Github. + +*New Signatures* + +- pgr_dijkstra(one to many) +- pgr_dijkstra(many to one) +- pgr_dijkstra(many to many) +- pgr_drivingDistance(multiple vertices) + +*Refactored* + +- pgr_dijkstra(one to one) +- pgr_ksp +- pgr_drivingDistance(single vertex) - - New Signatures - - pgr_dijkstra(one to many) - - pgr_dijkstra(many to one) - - pgr_dijkstra(many to many) - - pgr_drivingDistance(multiple vertices) +*Improvements* - - Three Functions where completely re-factored +- pgr_alphaShape function now can generate better (multi)polygon with holes and alpha parameter. - - pgr_dijkstra(one to one) - - pgr_ksp - - pgr_drivingDistance(single vertex) +*Proposed functionality* - - Improved - - pgr_alphaShape function now can generate better polygons with holes and custom parameter +- Proposed functions from Steve Woodbridge, (Classified as Convenience by the author.) - - Added proposed functions to be evaluated: - - Proposed functions from Steve Woodbridge, (Classified as Convenience by the author.) - - pgr_pointToEdgeNode - convert a point geometry to a vertex_id based on closest edge. - - pgr_flipEdges - flip the edges in an array of geometries so the connect end to end. - - pgr_textToPoints - convert a string of x,y;x,y;... locations into point geometries. - - pgr_pointsToVids - convert an array of point geometries into vertex ids. - - pgr_pointsToDMatrix - Create a distance matrix from an array of points. - - pgr_vidsToDMatrix - Create a distance matrix from an array of vertix_id. - - pgr_vidsToDMatrix - Create a distance matrix from an array of vertix_id. + - pgr_pointToEdgeNode - convert a point geometry to a vertex_id based on closest edge. + - pgr_flipEdges - flip the edges in an array of geometries so the connect end to end. + - pgr_textToPoints - convert a string of x,y;x,y;... locations into point geometries. + - pgr_pointsToVids - convert an array of point geometries into vertex ids. + - pgr_pointsToDMatrix - Create a distance matrix from an array of points. + - pgr_vidsToDMatrix - Create a distance matrix from an array of vertix_id. + - pgr_vidsToDMatrix - Create a distance matrix from an array of vertix_id. - - Added proposed functions from GSoc Projects: - - pgr_vrppdtw - - pgr_vrponedepot +- Added proposed functions from GSoc Projects: - - Deprecated functions - - pgr_getColumnName - - pgr_getTableName - - pgr_isColumnCndexed - - pgr_isColumnInTable - - pgr_quote_ident - - pgr_versionless - - pgr_startPoint - - pgr_endPoint - - pgr_pointToId + - pgr_vrppdtw + - pgr_vrponedepot - - Instead of generating many libraries: - - All functions are encapsulated in one library - - The library has a the prefix 2-1-0 +*Deprecated functions* - - A C and C++ library for developer was created +- pgr_getColumnName +- pgr_getTableName +- pgr_isColumnCndexed +- pgr_isColumnInTable +- pgr_quote_ident +- pgr_versionless +- pgr_startPoint +- pgr_endPoint +- pgr_pointToId - - encapsulates postgreSQL related functions - - encapsulates Boost.Graph graphs +*No longer supported* - - Directed Boost.Graph - - Undirected Boost.graph +- Removed the 1.x legacy functions - - allow any-integer in the id's - - allow any-numerical on the cost/reverse_cost columns - - Removed the 1.x legacy functions +*Bug Fixes* - - Some bug fixes in other functions +- Some bug fixes in other functions -Changes for 2.0.0 + +*Refactoring Internal Code* + +- A C and C++ library for developer was created + + - encapsulates postgreSQL related functions + - encapsulates Boost.Graph graphs + + - Directed Boost.Graph + - Undirected Boost.graph. + + - allow any-integer in the id's + - allow any-numerical on the cost/reverse_cost columns + +- Instead of generating many libraries: + - All functions are encapsulated in one library + - The library has the prefix 2-1-0 + + + + +pgRouting 2.0.1 Release Notes ------------------------------------------------------------------------------- +Minor bug fixes. + +*Bug Fixes* + +* No track of the bug fixes were kept. + + + +pgRouting 2.0.0 Release Notes +------------------------------------------------------------------------------- + +To see the issues closed by this release see the [Git closed issues for 2.0.0 ](https://github.com/pgRouting/pgrouting/issues?q=milestone%3A%22Release+2.0.0%22+is%3Aclosed) on Github. + +With the release of pgRouting 2.0.0 the library has abandoned backwards compatibility to :ref:`pgRouting 1.x ` releases. +The main Goals for this release are: + +* Major restructuring of pgRouting. +* Standardization of the function naming +* Preparation of the project for future development. + +As a result of this effort: + +* pgRouting has a simplified structure +* Significant new functionality has being added +* Documentation has being integrated +* Testing has being integrated +* And made it easier for multiple developers to make contributions. + + +*Important Changes* + * Graph Analytics - tools for detecting and fixing connection some problems in a graph * A collection of useful utility functions * Two new All Pairs Short Path algorithms (pgr_apspJohnson, pgr_apspWarshall) @@ -229,10 +377,10 @@ Changes for 2.0.0 * Improved build process for Windows * Automated testing on Linux and Windows platforms trigger by every commit * Modular library design -* Compatibility with PostgreSQL 9.1 or newer -* Compatibility with PostGIS 2.0 or newer +* Compatibility with PostgreSQL 9.1 or newer +* Compatibility with PostGIS 2.0 or newer * Installs as PostgreSQL EXTENSION -* Return types refactored and unified +* Return types re factored and unified * Support for table SCHEMA in function parameters * Support for ``st_`` PostGIS function prefix * Added ``pgr_`` prefix to functions and types @@ -240,66 +388,73 @@ Changes for 2.0.0 * shooting_star is discontinued -Changes for release 1.05 + + +pgRouting 1.x Release Notes ------------------------------------------------------------------------------- -* Bugfixes +To see the issues closed by this release see the [Git closed issues for 1.x ](https://github.com/pgRouting/pgrouting/issues?q=milestone%3A%22Release+1.x%22+is%3Aclosed) on Github. +The following release notes have been copied from the previous ``RELEASE_NOTES`` file and are kept as a reference. + + +Changes for release 1.05 +............................................................................... + +* Bug fixes Changes for release 1.03 -------------------------------------------------------------------------------- +............................................................................... * Much faster topology creation -* Bugfixes +* Bug fixes Changes for release 1.02 -------------------------------------------------------------------------------- +............................................................................... -* Shooting* bugfixes +* Shooting* bug fixes * Compilation problems solved Changes for release 1.01 -------------------------------------------------------------------------------- +............................................................................... -* Shooting* bugfixes +* Shooting* bug fixes Changes for release 1.0 -------------------------------------------------------------------------------- +............................................................................... * Core and extra functions are separated * Cmake build process -* Bugfixes +* Bug fixes Changes for release 1.0.0b -------------------------------------------------------------------------------- +............................................................................... * Additional SQL file with more simple names for wrapper functions -* Bugfixes +* Bug fixes Changes for release 1.0.0a -------------------------------------------------------------------------------- +............................................................................... * Shooting* shortest path algorithm for real road networks * Several SQL bugs were fixed Changes for release 0.9.9 -------------------------------------------------------------------------------- +............................................................................... * PostgreSQL 8.2 support -* Shortest path functions return empty result if they couldn’t find any path +* Shortest path functions return empty result if they could not find any path Changes for release 0.9.8 -------------------------------------------------------------------------------- +............................................................................... * Renumbering scheme was added to shortest path functions * Directed shortest path functions were added * routing_postgis.sql was modified to use dijkstra in TSP search - - diff --git a/README.md b/README.md index 76b2970bab3..9fe108e3745 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ ### Branches -* The *master* branch has the latest minor release. (2.4.0) +* The *master* branch has the latest minor release. (2.4.2) * The *develop* branch has the next minor release. (2.5.0-dev) For the complete list of releases go to: @@ -50,10 +50,12 @@ https://github.com/pgRouting/pgrouting/releases -* travis: Postgis 2.2 for Postgres 9.1, 9.2, 9.3, 9.4, 9.5 +* travis: Postgis 2.3.3 for Postgres 9.5 & 9.6 * precise -* jenkins: g++ 4.8 on 32 & 64 bits for Postgis 2.3.0dev and Postgres 9.4, 9.5, 9.6 -* appveyor: vs1013 Postgis 2.2 Postgres 9.4 + * developed with Postgres 9.3 and Postgis 2.3.3 + +* jenkins: g++ 4.8 on 32 & 64 bits for Postgis 2.4.0dev and Postgres 9.5, 9.6, 10 +* appveyor: vs1013 Postgis 2.3.3 on Postgres 9.4 diff --git a/VERSION b/VERSION index 070b2fd6824..dd839339920 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -4706-a1f6835e5 master +4746-fb7c27bfc master diff --git a/appveyor.yml b/appveyor.yml index e02bc8042cf..0abcbef368c 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -25,6 +25,8 @@ environment: CONFIGURATION: Release MSVC_VER: 12.0 BUILD_ROOT_DIR: c:\build + PGIS_VERSION: 2.3.3 + PG_VER: 9.4 init: - git config --global core.autocrlf false @@ -39,17 +41,17 @@ install: build_script: - cd c:\build\pgrouting\ci\appveyor - - msbuild_pgrouting.bat 9.4 + - msbuild_pgrouting.bat %PG_VER% - cd %PGROUTING_BUILD_DIR% - msbuild PGROUTING.sln /target:Build /property:Configuration=%CONFIGURATION% - msbuild INSTALL.vcxproj /target:Build /property:Configuration=%CONFIGURATION% - - copy c:\build\gmp\x64\lib\*.dll C:\Progra~1\PostgreSQL\9.4\bin\ + - copy c:\build\gmp\x64\lib\*.dll C:\Progra~1\PostgreSQL\%PG_VER%\bin\ test_script: - set PGUSER=postgres - set PGPASSWORD=Password12! - - set PGHOME=C:\Progra~1\PostgreSQL\9.4 + - set PGHOME=C:\Progra~1\PostgreSQL\%PG_VER% - set PGPORT=5432 - set PATH=%PATH%;%PGHOME%\bin # Execute algorithm test by Cygwin - - C:\cygwin\bin\bash -lc "cd /cygdrive/c/build/pgrouting && tools/testers/algorithm-tester.pl -psql \"/cygdrive/c/Progra~1/PostgreSQL/9.4/bin/psql\"" + - C:\cygwin\bin\bash -lc "cd /cygdrive/c/build/pgrouting && tools/testers/algorithm-tester.pl -psql \"/cygdrive/c/Progra~1/PostgreSQL/%PG_VER%/bin/psql\"" diff --git a/ci/appveyor/install.bat b/ci/appveyor/install.bat index a9922e33a57..bdd843ab7d9 100644 --- a/ci/appveyor/install.bat +++ b/ci/appveyor/install.bat @@ -20,9 +20,10 @@ if not defined COMMON_INSTALL_DIR set COMMON_INSTALL_DIR=%BUILD_ROOT_DIR%\local\ :: for cmake its the min version if not defined CMAKE_VERSION set CMAKE_VERSION=3.5.2 -if not defined PG_VERSION set PG_VERSION=2.3.1 +if not defined PGIS_VERSION set PGIS_VERSION=2.3.3 if not defined BOOST_VERSION set BOOST_VERSION=1.58.0 if not defined CGAL_VERSION set CGAL_VERSION=4.8.1 +set PG_VER_NO_DOT=pg%PG_VER:.=% set CMAKE_GENERATOR=Visual Studio %MSVC_VER:.0=% %MSVC_YEAR% @@ -33,6 +34,9 @@ if "%platform%"=="x64" ( :: Determine if arch is 32/64 bits if /I "%platform%"=="x86" ( set arch=32) else ( set arch=64) +:: Determine compiler used to build postgis +if "%arch%"=="64" (set GCC=48) else (set GCC=481) + :: :: ========================================================= @@ -94,38 +98,38 @@ echo ==================================== :: echo ==================================== POSTGIS -if not exist "C:\Progra~1\PostgreSQL\9.4\makepostgisdb_using_extensions.bat" ( +if not exist "C:\Progra~1\PostgreSQL\%PG_VER%\makepostgisdb_using_extensions.bat" ( cd %APPVEYOR_BUILD_FOLDER% - if not exist %DOWNLOADS_DIR%\postgis-pg94-binaries-%PG_VERSION%w%arch%gcc48.zip ( - echo Downloading PostGIS %PG_VERSION% + if not exist %DOWNLOADS_DIR%\postgis-%PG_VER_NO_DOT%-binaries-%PGIS_VERSION%w%arch%gcc%GCC%.zip ( + echo Downloading PostGIS %PGIS_VERSION% pushd %DOWNLOADS_DIR% - curl -L -O -S -s http://winnie.postgis.net/download/windows/pg94/buildbot/archive/postgis-pg94-binaries-%PG_VERSION%w%arch%gcc48.zip + curl -L -O -S -s http://winnie.postgis.net/download/windows/%PG_VER_NO_DOT%/buildbot/postgis-%PG_VER_NO_DOT%-binaries-%PGIS_VERSION%w%arch%gcc%GCC%.zip popd - if not exist %DOWNLOADS_DIR%\postgis-pg94-binaries-%PG_VERSION%w%arch%gcc48.zip ( - echo something went wrong on PostGIS %PG_VERSION% download !!!!!!!!! + if not exist %DOWNLOADS_DIR%\postgis-%PG_VER_NO_DOT%-binaries-%PGIS_VERSION%w%arch%gcc%GCC%.zip ( + echo something went wrong on PostGIS %PGIS_VERSION% download !!!!!!!!! if defined LOCAL_DEBUG dir %DOWNLOADS_DIR% Exit \B 1 ) ) - echo Extracting PostGIS %PG_VERSION% + echo Extracting PostGIS %PGIS_VERSION% pushd %DOWNLOADS_DIR% - 7z x -o%BUILD_ROOT_DIR%\ postgis-pg94-binaries-%PG_VERSION%w%arch%gcc48.zip + 7z x -o%BUILD_ROOT_DIR%\ postgis-%PG_VER_NO_DOT%-binaries-%PGIS_VERSION%w%arch%gcc%GCC%.zip popd - echo **** Installing postGIS %PG_VERSION% - xcopy /e /y /q %BUILD_ROOT_DIR%\postgis-pg94-binaries-%PG_VERSION%w%arch%gcc48 C:\Progra~1\PostgreSQL\9.4 + echo **** Installing postGIS %PGIS_VERSION% + xcopy /e /y /q %BUILD_ROOT_DIR%\postgis-%PG_VER_NO_DOT%-binaries-%PGIS_VERSION%w%arch%gcc%GCC% C:\Progra~1\PostgreSQL\%PG_VER% - if not exist "C:\Progra~1\PostgreSQL\9.4\makepostgisdb_using_extensions.bat" ( - echo something went wrong on PostGIS %PG_VERSION% installation !!!!!!!!! + if not exist "C:\Progra~1\PostgreSQL\%PG_VER%\makepostgisdb_using_extensions.bat" ( + echo something went wrong on PostGIS %PGIS_VERSION% installation !!!!!!!!! if defined LOCAL_DEBUG dir %DOWNLOADS_DIR% - if defined LOCAL_DEBUG dir C:\Progra~1\PostgreSQL\9.4\ + if defined LOCAL_DEBUG dir C:\Progra~1\PostgreSQL\%PG_VER%\ Exit \B 1 ) else ( - echo **** PostGIS %PG_VERSION% %arch% installed + echo **** PostGIS %PGIS_VERSION% %arch% installed ) ) else ( - echo PostGIS %PG_VERSION% %arch% already installed + echo PostGIS %PGIS_VERSION% %arch% already installed ) echo ==================================== diff --git a/doc/src/release_notes.rst b/doc/src/release_notes.rst index 456a2c602c6..315de45c5a7 100644 --- a/doc/src/release_notes.rst +++ b/doc/src/release_notes.rst @@ -18,6 +18,7 @@ To see the full list of changes check the list of `Git commits `_ on Github. + +.. rubric:: Improvement + +* Works for postgreSQL 10 + +.. rubric:: Bug fixes + +* Fixed: Unexpected error column "cname" +* Replace __linux__ with __GLIBC__ for glibc-specific headers and functions + + + .. _changelog_2_4_1: pgRouting 2.4.1 Release Notes ------------------------------------------------------------------------------- -.. rubric:: Bug fix +To see the issues closed by this release see the `Git closed milestone for 2.4.1 `_ on Github. + +.. rubric:: Bug fixes * Fixed compiling error on macOS * Condition error on pgr_withPoints @@ -77,7 +99,7 @@ To see the issues closed by this release see the `Git closed issues for 2.4.0 +#endif + #include "catalog/pg_type.h" diff --git a/src/common/sql/createIndex.sql b/src/common/sql/createIndex.sql index 0010fec73e0..96efa7ac63b 100644 --- a/src/common/sql/createIndex.sql +++ b/src/common/sql/createIndex.sql @@ -82,7 +82,7 @@ BEGIN execute query; EXCEPTION WHEN others THEN perform _pgr_onError( true, reportErrs, fnName, - 'Could not create index on:' || cname, SQLERRM); + 'Could not create index on:' || colname, SQLERRM); END; execute 'set client_min_messages to '|| debuglevel; perform _pgr_msg(msgKind, fnName); diff --git a/src/topology/test/issue900.result b/src/topology/test/issue900.result new file mode 100644 index 00000000000..b2b70d74bf0 --- /dev/null +++ b/src/topology/test/issue900.result @@ -0,0 +1,9 @@ +NOTICE: PROCESSING: +NOTICE: pgr_createTopology('edge_table', 0.001, 'the_geom', 'id', 'source', 'target', rows_where := 'true', clean := t) +NOTICE: Performing checks, please wait ..... +NOTICE: Creating Topology, Please wait... +NOTICE: -------------> TOPOLOGY CREATED FOR 18 edges +NOTICE: Rows with NULL geometry or NULL id: 0 +NOTICE: Vertices table for table public.edge_table is: public.edge_table_vertices_pgr +NOTICE: ---------------------------------------------- +OK diff --git a/src/topology/test/issue900.test.sql b/src/topology/test/issue900.test.sql new file mode 100644 index 00000000000..97a9bc59748 --- /dev/null +++ b/src/topology/test/issue900.test.sql @@ -0,0 +1,5 @@ + +ALTER TABLE edge_table RENAME TO mbta_arc; +CREATE TABLE edge_table AS SELECT * FROM mbta_arc;; +SELECT pgr_CreateTopology('edge_table', 0.001, 'the_geom', 'id', clean := true); + diff --git a/src/topology/test/test.conf b/src/topology/test/test.conf index 395b59045ec..9e91da92689 100644 --- a/src/topology/test/test.conf +++ b/src/topology/test/test.conf @@ -5,6 +5,7 @@ 'comment' => 'pgr_createTopology, pgr_analyzegraph, and pgr_analyzeOneway tests for any versions.', 'data' => [ ], 'tests' => [qw( + issue900 analyzeOneway-any createVertTab-any doc-pgr_createTopology diff --git a/tools/curr-sig/pgrouting--2.4.2.sig b/tools/curr-sig/pgrouting--2.4.2.sig new file mode 100644 index 00000000000..b477bba5ef0 --- /dev/null +++ b/tools/curr-sig/pgrouting--2.4.2.sig @@ -0,0 +1,156 @@ +#VERSION pgrouting 2.4.2 +#TYPES +pgr_costresult +pgr_costresult3 +pgr_geomresult +#FUNCTIONS +pgr_alphashape(text,double precision) +pgr_analyzegraph(text,double precision,text,text,text,text,text) +pgr_analyzeoneway(text,text[],text[],text[],text[],boolean,text,text,text) +pgr_apspjohnson(text) +pgr_apspwarshall(text,boolean,boolean) +pgr_astarcostmatrix(text,anyarray,boolean,integer,double precision,double precision) +pgr_astarcost(text,anyarray,anyarray,boolean,integer,double precision,double precision) +pgr_astarcost(text,anyarray,bigint,boolean,integer,double precision,double precision) +pgr_astarcost(text,bigint,anyarray,boolean,integer,double precision,double precision) +pgr_astarcost(text,bigint,bigint,boolean,integer,double precision,double precision) +pgr_astar(text,anyarray,anyarray,boolean,integer,double precision,double precision) +_pgr_astar(text,anyarray,anyarray,boolean,integer,double precision,double precision,boolean) +pgr_astar(text,anyarray,bigint,boolean,integer,double precision,double precision) +_pgr_astar(text,anyarray,bigint,boolean,integer,double precision,double precision,boolean) +pgr_astar(text,bigint,anyarray,boolean,integer,double precision,double precision) +_pgr_astar(text,bigint,anyarray,boolean,integer,double precision,double precision,boolean) +pgr_astar(text,bigint,bigint,boolean,integer,double precision,double precision) +_pgr_astar(text,bigint,bigint,boolean,integer,double precision,double precision,boolean) +pgr_astar(text,integer,integer,boolean,boolean) +pgr_bdastar(text,integer,integer,boolean,boolean) +pgr_bddijkstra(text,bigint,bigint) +pgr_bddijkstra(text,bigint,bigint,boolean) +_pgr_bddijkstra(text,bigint,bigint,boolean,boolean) +pgr_bddijkstra(text,integer,integer,boolean,boolean) +_pgr_checkverttab(text,text[],integer,text) +pgr_contractgraph(text,bigint[],integer,bigint[],boolean) +_pgr_createindex(text,text,text,integer,text) +_pgr_createindex(text,text,text,text,integer,text) +pgr_createtopology(text,double precision,text,text,text,text,text,boolean) +pgr_createverticestable(text,text,text,text,text) +pgr_dijkstracostmatrix(text,anyarray,boolean) +pgr_dijkstracost(text,anyarray,anyarray,boolean) +pgr_dijkstracost(text,anyarray,bigint,boolean) +pgr_dijkstracost(text,bigint,anyarray,boolean) +pgr_dijkstracost(text,bigint,bigint,boolean) +pgr_dijkstra(text,anyarray,anyarray,boolean) +_pgr_dijkstra(text,anyarray,anyarray,boolean,boolean) +pgr_dijkstra(text,anyarray,bigint,boolean) +_pgr_dijkstra(text,anyarray,bigint,boolean,boolean) +pgr_dijkstra(text,bigint,anyarray,boolean) +_pgr_dijkstra(text,bigint,anyarray,boolean,boolean) +pgr_dijkstra(text,bigint,bigint) +pgr_dijkstra(text,bigint,bigint,boolean) +_pgr_dijkstra(text,bigint,bigint,boolean,boolean) +pgr_dijkstra(text,integer,integer,boolean,boolean) +pgr_dijkstravia(text,anyarray,boolean,boolean,boolean) +pgr_drivingdistance(text,anyarray,double precision,boolean,boolean) +pgr_drivingdistance(text,bigint,double precision,boolean) +pgr_drivingdistance(text,bigint,double precision,boolean,boolean) +pgr_edgedisjointpaths(text,anyarray,anyarray,boolean) +pgr_edgedisjointpaths(text,anyarray,bigint,boolean) +pgr_edgedisjointpaths(text,bigint,anyarray,boolean) +pgr_edgedisjointpaths(text,bigint,bigint,boolean) +_pgr_endpoint(geometry) +pgr_endpoint(geometry) +pgr_euclediantsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) +pgr_flipedges(geometry[]) +pgr_floydwarshall(text,boolean) +pgr_getcolumnname(text,text) +_pgr_getcolumnname(text,text,integer,text) +_pgr_getcolumnname(text,text,text,integer,text) +_pgr_getcolumntype(text,text,integer,text) +_pgr_getcolumntype(text,text,text,integer,text) +_pgr_get_statement(text) +pgr_gettablename(text) +_pgr_gettablename(text,integer,text) +pgr_gsoc_vrppdtw(text,integer,integer) +pgr_iscolumnindexed(text,text) +_pgr_iscolumnindexed(text,text,integer,text) +_pgr_iscolumnindexed(text,text,text,integer,text) +_pgr_iscolumnintable(text,text) +pgr_iscolumnintable(text,text) +pgr_johnson(text,boolean) +pgr_kdijkstracost(text,integer,integer[],boolean,boolean) +pgr_kdijkstrapath(text,integer,integer[],boolean,boolean) +_pgr_ksp(text,bigint,bigint,integer,boolean,boolean) +pgr_ksp(text,bigint,bigint,integer,boolean,boolean) +pgr_ksp(text,integer,integer,integer,boolean) +pgr_labelgraph(text,text,text,text,text,text) +_pgr_makedistancematrix(text) +pgr_maxflowboykovkolmogorov(text,anyarray,anyarray) +pgr_maxflowboykovkolmogorov(text,anyarray,bigint) +pgr_maxflowboykovkolmogorov(text,bigint,anyarray) +pgr_maxflowboykovkolmogorov(text,bigint,bigint) +pgr_maxflowedmondskarp(text,anyarray,anyarray) +pgr_maxflowedmondskarp(text,anyarray,bigint) +pgr_maxflowedmondskarp(text,bigint,anyarray) +pgr_maxflowedmondskarp(text,bigint,bigint) +pgr_maxflowpushrelabel(text,anyarray,anyarray) +pgr_maxflowpushrelabel(text,anyarray,bigint) +pgr_maxflowpushrelabel(text,bigint,anyarray) +pgr_maxflowpushrelabel(text,bigint,bigint) +pgr_maxflow(text,anyarray,anyarray) +_pgr_maxflow(text,anyarray,anyarray,text,boolean) +pgr_maxflow(text,anyarray,bigint) +_pgr_maxflow(text,anyarray,bigint,text,boolean) +pgr_maxflow(text,bigint,anyarray) +_pgr_maxflow(text,bigint,anyarray,text,boolean) +pgr_maxflow(text,bigint,bigint) +_pgr_maxflow(text,bigint,bigint,text,boolean) +pgr_maximumcardinalitymatching(text,boolean) +_pgr_msg(integer,text,text) +pgr_nodenetwork(text,double precision,text,text,text,text,boolean) +_pgr_onerror(boolean,integer,text,text,text,text) +_pgr_parameter_check(text,text,boolean) +_pgr_pickdeliver(text,integer,double precision,double precision,integer) +pgr_pointsaspolygon(character varying,double precision) +pgr_pointstodmatrix(geometry[],integer) +pgr_pointstovids(geometry[],text,double precision) +pgr_pointtoedgenode(text,geometry,double precision) +_pgr_pointtoid(geometry,double precision,text,integer) +_pgr_quote_ident(text) +pgr_quote_ident(text) +_pgr_startpoint(geometry) +pgr_startpoint(geometry) +pgr_texttopoints(text,integer) +_pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text) +pgr_trsp(text,integer,double precision,integer,double precision,boolean,boolean,text) +_pgr_trsp(text,integer,integer,boolean,boolean,text) +pgr_trsp(text,integer,integer,boolean,boolean,text) +pgr_trspviaedges(text,integer[],double precision[],boolean,boolean,text) +pgr_trspviavertices(text,anyarray,boolean,boolean,text) +_pgr_trspviavertices(text,integer[],boolean,boolean,text) +pgr_tsp(double precision[],integer,integer) +pgr_tsp(text,bigint,bigint,double precision,integer,integer,integer,double precision,double precision,double precision,boolean) +pgr_tsp(text,integer,integer) +_pgr_unnest_matrix(double precision[]) +pgr_version() +_pgr_versionless(text,text) +pgr_versionless(text,text) +pgr_vidstodmatrix(integer[],geometry[],text,double precision) +pgr_vidstodmatrix(text,integer[],boolean,boolean,boolean) +pgr_vrponedepot(text,text,text,integer) +pgr_withpointscostmatrix(text,text,anyarray,boolean,character) +pgr_withpointscost(text,text,anyarray,anyarray,boolean,character) +pgr_withpointscost(text,text,anyarray,bigint,boolean,character) +pgr_withpointscost(text,text,bigint,anyarray,boolean,character) +pgr_withpointscost(text,text,bigint,bigint,boolean,character) +pgr_withpointsdd(text,text,anyarray,double precision,boolean,character,boolean,boolean) +pgr_withpointsdd(text,text,bigint,double precision,boolean,character,boolean) +pgr_withpointsksp(text,text,bigint,bigint,integer,boolean,boolean,character,boolean) +pgr_withpoints(text,text,anyarray,anyarray,boolean,character,boolean) +_pgr_withpoints(text,text,anyarray,anyarray,boolean,character,boolean,boolean) +pgr_withpoints(text,text,anyarray,bigint,boolean,character,boolean) +_pgr_withpoints(text,text,anyarray,bigint,boolean,character,boolean,boolean) +pgr_withpoints(text,text,bigint,anyarray,boolean,character,boolean) +_pgr_withpoints(text,text,bigint,anyarray,boolean,character,boolean,boolean) +pgr_withpoints(text,text,bigint,bigint,boolean,character,boolean) +_pgr_withpoints(text,text,bigint,bigint,boolean,character,boolean,boolean) +_pgr_withpointsvia(text,bigint[],double precision[],boolean) diff --git a/tools/release-scripts/check-release.sh b/tools/release-scripts/check-release.sh index b4ead28d937..284b405f02c 100755 --- a/tools/release-scripts/check-release.sh +++ b/tools/release-scripts/check-release.sh @@ -240,6 +240,7 @@ fi #--------------------------------------------------------------------- echo "### Checking signature files" +test_file 2.4.1 test_file 2.4.0 test_file 2.3.2 test_file 2.3.1 @@ -276,7 +277,8 @@ echo - [x] completed local builds echo "### checking the signature files dont change" #--------------------------------------------------------------------- -sh tools/release-scripts/get_signatures.sh 2.4.1 ___sig_generate___ curr-sig >> build/tmp_sigs.txt +sh tools/release-scripts/get_signatures.sh 2.4.2 ___sig_generate___ curr-sig >> build/tmp_sigs.txt +sh tools/release-scripts/get_signatures.sh 2.4.1 ___sig_generate___ sigs >> build/tmp_sigs.txt sh tools/release-scripts/get_signatures.sh 2.4.0 ___sig_generate___ sigs >> build/tmp_sigs.txt sh tools/release-scripts/get_signatures.sh 2.3.2 ___sig_generate___ sigs >> build/tmp_sigs.txt sh tools/release-scripts/get_signatures.sh 2.3.1 ___sig_generate___ sigs >> build/tmp_sigs.txt @@ -324,6 +326,7 @@ fi if [[ $(git status | grep 'Changes not staged for commit:') ]]; then echo "FATAL: at least one result file changed" + git status exit 1 fi diff --git a/tools/release-scripts/compile-release.sh b/tools/release-scripts/compile-release.sh index 317dc5d7c21..234f12f8cc6 100755 --- a/tools/release-scripts/compile-release.sh +++ b/tools/release-scripts/compile-release.sh @@ -43,7 +43,7 @@ if [[ "$1" == "4.8" ]]; then cd build make doc >> tmp_make.txt echo " - [x] Build Users documentation OK" - make doxy >> tmp_make.txty + make doxy >> tmp_make.txt echo " - [x] Build developers documentation OK" cd .. fi diff --git a/tools/release-scripts/notes2news.pl b/tools/release-scripts/notes2news.pl new file mode 100755 index 00000000000..68188296e82 --- /dev/null +++ b/tools/release-scripts/notes2news.pl @@ -0,0 +1,41 @@ +#!/usr/bin/perl -w + +use strict; + +sub Usage { + die "Usage: notes2news.pl (from the root of the repository or pre-commit hook)\n"; +} + + +my $in_file = "doc/src/release_notes.rst"; +my $out_file = "NEWS"; + +my $ofh; +open($ofh, ">$out_file") || die "ERROR: failed to open '$out_file' for write! : $!\n"; + +my $ifh; +open($ifh, "$in_file") || die "ERROR: failed to open '$in_file' for read! : $!\n"; + +my $skipping = 1; +while (my $line = <$ifh>) { + if ($skipping) { + if ($line =~ /^\.\. _changelog_/) { + $skipping = 0; + } + next; + } + + # convert urls to markdown + $line =~ s/`([^<]+)<([^>]+)>`_/\[$1\]($2)/g; + + # convert rubric to bold + $line =~ s/^\.\. rubric::\s*(.+)$/*$1*/; + + next if $line =~ /^\.\. _changelog/; + + print $ofh $line; +} + +close($ifh); +close($ofh); + diff --git a/tools/curr-sig/pgrouting--2.4.1.sig b/tools/sigs/pgrouting--2.4.1.sig similarity index 100% rename from tools/curr-sig/pgrouting--2.4.1.sig rename to tools/sigs/pgrouting--2.4.1.sig diff --git a/tools/testers/update-tester.sh b/tools/testers/update-tester.sh index 3fab3574c0b..64bac4e91da 100755 --- a/tools/testers/update-tester.sh +++ b/tools/testers/update-tester.sh @@ -39,7 +39,7 @@ echo - # bash tools/testers/update-tester.sh # -CURRENT=2.4.1 +CURRENT=2.4.2 function update_test { set -e @@ -75,13 +75,14 @@ dropdb ___test_update ### updates from 2.3.0 #------------------------------------ +update_test 2.4.1 $CURRENT update_test 2.4.0 $CURRENT #------------------------------------ ### updates from 2.3.0 #------------------------------------ -update_test 2.3.2 $CURRENT +#update_test 2.3.2 $CURRENT update_test 2.3.1 $CURRENT update_test 2.3.0 $CURRENT diff --git a/tools/winnie/build_pgrouting.sh b/tools/winnie/build_pgrouting.sh index 837c26923e5..ebcc845a51e 100644 --- a/tools/winnie/build_pgrouting.sh +++ b/tools/winnie/build_pgrouting.sh @@ -22,6 +22,12 @@ JENKINS_DEBUG=1 if [ $JENKINS_DEBUG -eq 1 ] then + #--------------- + echo + echo "***************************" + echo Recived variables + echo "**************************" + #--------------- echo "OS_BUILD ${OS_BUILD}" echo "PG_VER ${PG_VER}" echo "PGHOST ${PGHOST}" @@ -33,7 +39,10 @@ then fi #--------------- -# Deduced variables +echo +echo "***************************" +echo Deduced variables +echo "***************************" #--------------- export PGUSER=postgres @@ -41,12 +50,11 @@ export PROJECTS=/projects export PGPATHEDB=${PROJECTS}/postgresql/rel/pg${PG_VER}w${OS_BUILD}${GCC_TYPE}edb #this is so winnie know's where to copy the dlls for vc++ edb compiled postgresql testing export PGPATH=${PROJECTS}/postgresql/rel/pg${PG_VER}w${OS_BUILD}${GCC_TYPE} export PATHOLD=$PATH -export PATHOLD="/mingw/bin:/mingw/include:/c/Windows/system32:/c/Windows" +#export PATHOLD="/mingw/bin:/mingw/include:/c/Windows/system32:/c/Windows" export PGWINVER=${PG_VER}w${OS_BUILD}${GCC_TYPE}edb -export PATH="${PATHOLD}:${PGPATH}/bin:${PGPATH}/lib:${PGPATH}/include" +export PATH="${PATHOLD}:/usr/bin:${PGPATH}/bin:${PGPATH}/lib:${PGPATH}/include" export PATH="${PROJECTS}/rel-libiconv-1.13.1w${OS_BUILD}${GCC_TYPE}/include:${PATH}" - if [ $JENKINS_DEBUG -eq 1 ] then echo "PGUSER ${PGUSER}" @@ -100,6 +108,8 @@ PATH="${PATH}:${CGAL_PATH}/include:${CGAL_PATH}/lib" export PATH="${PATH}:/cmake/bin" export PATH="${PATH}:.:/bin:/include" +cmake --version + echo "PATH ${PATH}" cd ${PROJECTS}/pgrouting @@ -107,23 +117,22 @@ rm -rf build${PGROUTING_VER}w${OS_BUILD}${GCC_TYPE} mkdir build${PGROUTING_VER}w${OS_BUILD}${GCC_TYPE} cd build${PGROUTING_VER}w${OS_BUILD}${GCC_TYPE} -cmake -G "MSYS Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON \ - -DBOOST_ROOT:PATH=${BOOSTROOT_PATH} \ - -DCGAL_ROOT:PATH=${CGAL_PATH} \ - -DGMP_ROOT:PATH=${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE} \ - -DBoost_USE_STATIC_LIBS=ON \ - -DBoost_USE_MULTITHREADED=ON \ - -DCMAKE_CXX_FLAGS="-I${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/include \ - -I${PROJECTS}/CGAL/rel-mpfr-${MPFR_VER}w${OS_BUILD}${GCC_TYPE}/include" \ - -DCMAKE_BUILD_TYPE=Release \ - ../branches/${PGROUTING_VER} - -#first delete old pgrouting files from installed folder before we reinstall +#--------------- +echo +echo "***************************" echo "Current contents of PGPATH ${PGPATH}" +echo "***************************" +#--------------- ls ${PGPATH}/lib/libpgrouting* ls ${PGPATH}/share/extension/pgrouting* + +#--------------- +echo +echo "***************************" echo "Current contents of PGPATHEDB ${PGPATHEDB}" +echo "***************************" +#--------------- ls ${PGPATHEDB}/lib/libpgrouting* ls ${PGPATHEDB}/share/extension/pgrouting* @@ -132,26 +141,84 @@ rm ${PGPATH}/share/extension/pgrouting* rm ${PGPATHEDB}/lib/libpgrouting* rm ${PGPATHEDB}/share/extension/pgrouting* +#--------------- +echo +echo "***************************" echo "After removing in PGPATH ${PGPATH}" +echo "***************************" +#--------------- ls ${PGPATH}/lib/libpgrouting* ls ${PGPATH}/share/extension/pgrouting* + +#--------------- +echo +echo "***************************" echo "After removing in PGPATHEDB ${PGPATHEDB}" +echo "***************************" +#--------------- ls ${PGPATHEDB}/lib/libpgrouting* ls ${PGPATHEDB}/share/extension/pgrouting* +cmake --version +cmake -G "MSYS Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DBOOST_ROOT:PATH=${BOOSTROOT_PATH} \ + -DCGAL_ROOT:PATH=${CGAL_PATH} \ + -DGMP_ROOT:PATH=${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE} \ + -DBoost_USE_STATIC_LIBS=ON \ + -DBoost_USE_MULTITHREADED=ON \ + -DCMAKE_CXX_FLAGS="-I${PROJECTS}/CGAL/rel-gmp-${GMP_VER}w${OS_BUILD}${GCC_TYPE}/include \ + -I${PROJECTS}/CGAL/rel-mpfr-${MPFR_VER}w${OS_BUILD}${GCC_TYPE}/include" \ + -DCMAKE_BUILD_TYPE=Release \ + ../branches/${PGROUTING_VER} + +#--------------- +echo +echo "***************************" +echo make +echo "***************************" +#--------------- make + +#--------------- +echo +echo "***************************" +echo make install +echo "***************************" +#--------------- make install +#--------------- +echo +echo "***************************" +echo "Current contents of PGPATH ${PGPATH}" +echo "***************************" +#--------------- +ls ${PGPATH}/lib/libpgrouting* +ls ${PGPATH}/share/extension/pgrouting* + +#--------------- +echo +echo "***************************" +echo "Current contents of PGPATHEDB ${PGPATHEDB}" +echo Should be empty +echo "***************************" +#--------------- +ls ${PGPATHEDB}/lib/libpgrouting* +ls ${PGPATHEDB}/share/extension/pgrouting* + + #we need uninstall and reinstall copy to VC++ EDB instance if we want to test on standard Windows installed versions #cp *.dll ${PGPATHEDB}/lib/ #TODO remove this once we fix so the .dlls are created in lib folder -cp lib/*.dll ${PGPATHEDB}/lib/ -cp lib/*.sql ${PGPATHEDB}/share/extension/ -cp lib/*.control ${PGPATHEDB}/share/extension/ +cp ${PGPATH}/lib/*.dll ${PGPATHEDB}/lib/ +cp ${PGPATH}/share/extension/pgrouting*.sql ${PGPATHEDB}/share/extension/ +cp ${PGPATH}/share/extension/*.control ${PGPATHEDB}/share/extension/ -echo "After copy in PGPATH ${PGPATH}" -ls ${PGPATH}/lib/libpgrouting* -ls ${PGPATH}/share/extension/pgrouting* -echo "After copyin PGPATHEDB ${PGPATHEDB}" +#--------------- +echo +echo "***************************" +echo "After copying to PGPATHEDB ${PGPATHEDB}" +echo "***************************" +#--------------- ls ${PGPATHEDB}/lib/libpgrouting* ls ${PGPATHEDB}/share/extension/pgrouting* @@ -161,8 +228,21 @@ cd ${PROJECTS}/pgrouting/branches/${PGROUTING_VER} #perl tools/testers/algorithm-tester.pl -pgver ${PG_VER} -pgisver "${POSTGIS_VER}" -pgport "${PGPORT}" -alg common -clean -v #perl tools/testers/algorithm-tester.pl -pgver ${PG_VER} -pgisver "${POSTGIS_VER}" -pgport "${PGPORT}" -alg dijkstra -clean -v #perl tools/testers/algorithm-tester.pl -pgver ${PG_VER} -pgisver "${POSTGIS_VER}" -pgport "${PGPORT}" -alg contraction -perl tools/testers/algorithm-tester.pl -pgver ${PG_VER} -pgisver "${POSTGIS_VER}" -pgport "${PGPORT}" +#perl tools/testers/algorithm-tester.pl -pgver ${PG_VER} -pgisver "${POSTGIS_VER}" -pgport "${PGPORT}" + +if [ $OS_BUILD -eq 32 ] +then + + perl tools/testers/algorithm-tester.pl -pgver ${PG_VER} -pgisver "${POSTGIS_VER}" -pgport "${PGPORT}" + +else + + psql -c "CREATE DATABASE ___pgr___test___" + sh tools/testers/pg_prove_tests.sh ${PGUSER} + psql -c "DROP DATABASE ___pgr___test___" + +fi cd ${PROJECTS}/pgrouting/build${PGROUTING_VER}w${OS_BUILD}${GCC_TYPE}/lib strip *.dll