[Git][debian-gis-team/osm2pgrouting][upstream] New upstream version 2.3.8

Bas Couwenberg (@sebastic) gitlab at salsa.debian.org
Sat Jun 5 06:37:37 BST 2021



Bas Couwenberg pushed to branch upstream at Debian GIS Project / osm2pgrouting


Commits:
5fee00f1 by Bas Couwenberg at 2021-06-05T07:18:13+02:00
New upstream version 2.3.8
- - - - -


9 changed files:

- + .github/workflows/libpqxx.yml
- + .github/workflows/ubuntu.yml
- − .travis.yml
- CMakeLists.txt
- NEWS
- − cmake/FindLibPQXX.cmake
- + cmake/FindPQXX.cmake
- docs/how_to_release.md
- src/osm_elements/osm2pgrouting.cpp


Changes:

=====================================
.github/workflows/libpqxx.yml
=====================================
@@ -0,0 +1,95 @@
+name: Supported versions of libpqxx
+
+on:
+  push:
+    branches-ignore:
+      - 'translations_*'
+    tags: []
+  pull_request:
+    paths-ignore:
+      - '**.po'
+
+
+jobs:
+  build:
+    name: Build
+    runs-on: ${{ matrix.os }}
+
+    strategy:
+        fail-fast: false
+        matrix:
+          libpqxx: [6, 7]
+          os: [ubuntu-latest]
+
+    steps:
+      - uses: actions/checkout at v2
+
+      - name: Get postgres version
+        run: |
+          sudo service postgresql start
+          pgver=$(psql --version | grep -Po '(?<=psql \(PostgreSQL\) )[^;]+(?=\.\d \()')
+          echo "PGVER=${pgver}" >> $GITHUB_ENV
+          echo "PGIS=3" >> $GITHUB_ENV
+
+      - name: Add PostgreSQL APT repository
+        run: |
+          sudo apt-get install curl ca-certificates gnupg
+          curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
+          sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ \
+            $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
+
+      - name: Install dependencies
+        run: |
+          sudo apt-get update
+          sudo apt-get install -y \
+            libboost-program-options-dev \
+            libtap-parser-sourcehandler-pgtap-perl \
+            postgresql-${PGVER} \
+            postgresql-${PGVER}-pgtap \
+            postgresql-${PGVER}-postgis-${PGIS} \
+            postgresql-${PGVER}-postgis-${PGIS}-scripts \
+            postgresql-${PGVER}-pgrouting \
+            postgresql-server-dev-${PGVER}
+
+
+      - name: Install libpqxx-dev v6
+        if: matrix.libpqxx == 6
+        run: |
+          sudo apt-get install -y \
+            libpqxx-dev
+
+      - name: download libpqxx-dev v7
+        if: matrix.libpqxx == 7
+        uses: actions/checkout at master
+        with:
+          repository: jtv/libpqxx
+          path: ./libpqxx
+
+      - name: Install libpqxx-dev v7
+        if: matrix.libpqxx == 7
+        run: |
+          cd ./libpqxx
+          cmake -DSKIP_BUILD_TEST=on .
+          cmake --build .
+          sudo cmake --install .
+
+
+      - name: Configure
+        run: |
+          export PATH=/usr/lib/postgresql/${PGVER}/bin:$PATH
+          mkdir build
+          cd build
+          cmake -DPOSTGRESQL_VERSION=${PGVER} -DCMAKE_BUILD_TYPE=Release -DWITH_DOC=OFF ..
+
+      - name: Build
+        run: |
+          cd build
+          make -j 4
+          sudo make install
+
+      - name: Test
+        if: false
+        run: |
+          sudo service postgresql start
+          sudo -u postgres createdb -p ${PGPORT}  ___vrp___test___
+          sudo -u postgres bash ./tools/testers/pg_prove_tests.sh postgres ${PGPORT}  Release


=====================================
.github/workflows/ubuntu.yml
=====================================
@@ -0,0 +1,76 @@
+name: Build for Ubuntu
+
+on:
+  push:
+    branches-ignore:
+      - 'translations_*'
+    tags: []
+  pull_request:
+    paths-ignore:
+      - '**.po'
+
+
+jobs:
+  build:
+    name: Build
+    runs-on: ${{ matrix.os }}
+
+    strategy:
+        fail-fast: false
+        matrix:
+          psql: [9.6,10,11,12, 13]
+          postgis: [2.5,3]
+          os: [ubuntu-latest]
+
+    steps:
+      - uses: actions/checkout at v2
+
+      - name: get postgres version
+        run: |
+          sudo service postgresql start
+          pgver=$(psql --version | grep -Po '(?<=psql \(PostgreSQL\) )[^;]+(?=\.\d \()')
+          echo "PGVER=${pgver}" >> $GITHUB_ENV
+          PGP=5433
+          if [ "${{ matrix.psql }}" == "${pgver}" ]; then PGP=5432; fi
+          echo "PGPORT=${PGP}" >> $GITHUB_ENV
+
+      - name: Add PostgreSQL APT repository
+        run: |
+          sudo apt-get install curl ca-certificates gnupg
+          curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
+          sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ \
+            $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
+
+      - name: Install dependencies
+        run: |
+          sudo apt-get update
+          sudo apt-get install -y \
+            libboost-program-options-dev \
+            libtap-parser-sourcehandler-pgtap-perl \
+            postgresql-${{ matrix.psql }} \
+            postgresql-${{ matrix.psql }}-pgtap \
+            postgresql-${{ matrix.psql }}-postgis-${{ matrix.postgis }} \
+            postgresql-${{ matrix.psql }}-postgis-${{ matrix.postgis }}-scripts \
+            postgresql-${{ matrix.psql }}-pgrouting \
+            libpqxx-dev \
+            postgresql-server-dev-${{ matrix.psql }}
+
+      - name: Configure
+        run: |
+          export PATH=/usr/lib/postgresql/${{ matrix.psql }}/bin:$PATH
+          mkdir build
+          cd build
+          cmake -DPOSTGRESQL_VERSION=${{ matrix.psql }} -DCMAKE_BUILD_TYPE=Release -DWITH_DOC=OFF ..
+
+      - name: Build
+        run: |
+          cd build
+          make -j 4
+          sudo make install
+
+      - name: Test
+        if: false
+        run: |
+          sudo service postgresql start
+          sudo -u postgres createdb -p ${PGPORT}  ___vrp___test___
+          sudo -u postgres bash ./tools/testers/pg_prove_tests.sh postgres ${PGPORT}  Release


=====================================
.travis.yml deleted
=====================================
@@ -1,78 +0,0 @@
-# ------------------------------------------------------------------------------
-# Travis CI scripts 
-# Copyright(c) pgRouting Contributors
-#
-# Main configuration
-# ------------------------------------------------------------------------------
-
-#choose precise or trusty
-
-dist: trusty
-
-language: cpp
-
-compiler:
-    - gcc
-
-
-env: POSTGRESQL_VERSION=9.6   PG_USER=postgres DIST=precise
-      
-matrix:
-  include:
-
-
-    - os: linux
-      sudo: required
-      env: POSTGRESQL_VERSION=9.6   PG_USER=postgres DIST=trusty
-
-
-    - os: linux
-      sudo: required
-      env: POSTGRESQL_VERSION=9.5   PG_USER=postgres DIST=trusty
-
-
-    - os: linux
-      sudo: required
-      env: POSTGRESQL_VERSION=9.4   PG_USER=postgres DIST=trusty
-
-
-
-# executed. So things have to be tested oe by one.
-addons:
-  apt:
-    sources:
-      - ubuntu-toolchain-r-test
-      # For cmake
-      - kubuntu-backports
-      - boost-latest
-    packages:
-      - cmake
-
-
-
-
-
-before_install:
-  - sudo sudo apt-get install -y libboost-program-options-dev
-
-install:
-  #- sudo ./ci/travis/install-postgres.sh $POSTGRESQL_VERSION $PG_USER
-  - sudo ./ci/travis/install-libpqxx.sh $DIST
-
-before_script:
-
-  # Add our chosen PG version to the path
-  - export PATH=/usr/lib/postgresql/$POSTGRESQL_VERSION/bin:$PATH
-
-  # initialize databases
-  #- createdb  -U $PG_USER ___pgr___test___
-
-
-script: 
-  - ./ci/travis/osm2pgrouting_build.sh
-
-#after_script: 
-  # blank
-
-#after_success:
-  # blank


=====================================
CMakeLists.txt
=====================================
@@ -1,5 +1,4 @@
-PROJECT(osm2pgrouting)
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+cmake_minimum_required(VERSION 3.2 FATAL_ERROR)
 
 if ( ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR} )
     message(FATAL_ERROR "In-source builds not allowed.
@@ -7,63 +6,44 @@ if ( ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR} )
     You may need to remove CMakeCache.txt." )
 endif()
 
+PROJECT(osm2pgrouting)
+
 LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
 SET(SHARE_DIR "${CMAKE_INSTALL_PREFIX}/share/osm2pgrouting")
 
-FIND_PACKAGE(PostgreSQL REQUIRED)
-find_package(LibPQXX REQUIRED)
-FIND_PACKAGE(EXPAT REQUIRED)
-
+find_package(PostgreSQL REQUIRED)
+find_package(PQXX REQUIRED)
+include_directories(${PQXX_INCLUDE_DIR})
+find_package(EXPAT REQUIRED)
 
-FIND_PACKAGE(Boost)
-if(Boost_INCLUDE_DIRS)
-    message(STATUS "Boost headers were found here: ${Boost_INCLUDE_DIRS}")
-else(Boost_INCLUDE_DIRS)
-    message(FATAL_ERROR " Please check your Boost installation ")
-endif(Boost_INCLUDE_DIRS)
-
-FIND_PACKAGE(Boost COMPONENTS program_options REQUIRED)
 
 FILE(GLOB osm2pgrouting_lib_SOURCES "${CMAKE_SOURCE_DIR}/src/*/*.cpp")
 
 #---------------------------------------------
 # C++ Compiler requirements
 #---------------------------------------------
-set(GNU_CXX_MINIMUM_VERSION "4.6")
-set(MSVC_CXX_MINIMUM_VERSION "18.0")
-
-include(CheckCXXCompilerFlag)
-
-CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
-CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
-CHECK_CXX_COMPILER_FLAG("-std=c++14" COMPILER_SUPPORTS_CXX14)
-if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
-    if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS GNU_CXX_MINIMUM_VERSION)
-        message(FATAL_ERROR "GCC version must be at least ${GNU_CXX_MINIMUM_VERSION}!
-        Found version ${CMAKE_CXX_COMPILER_VERSION}")
-    endif()
-elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
-    if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS MSVC_CXX_MINIMUM_VERSION)
-        message(FATAL_ERROR "MSVC version must be at least ${MSVC_CXX_MINIMUM_VERSION}!")
-    endif()
-else()
-    message(STATUS "Unknown compiler minimum version for ${CMAKE_CXX_COMPILER_ID}")
-endif()
+#---------------------------------------------
 
-if(COMPILER_SUPPORTS_CXX14)
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
-    message(STATUS "Using  -std=c++14.")
-elseif(COMPILER_SUPPORTS_CXX11)
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
-    message(STATUS "Using  -std=c++11.")
-elseif(COMPILER_SUPPORTS_CXX0X)
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
-    message(STATUS "Using  -std=c++0x.")
-else()
-    message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++0x or C++11 or C++14 flags support.")
+#---------------------------------------------
+# Boost
+#---------------------------------------------
+#---------------------------------------------
+find_package(Boost ${BOOST_MINIMUM_VERSION} REQUIRED COMPONENTS program_options)
+if (NOT Boost_VERSION_MACRO)
+  set(Boost_VERSION_MACRO ${Boost_VERSION})
 endif()
+add_definitions(-DBoost_VERSION_MACRO=${Boost_VERSION_MACRO})
+add_definitions(-DBOOST_ALLOW_DEPRECATED_HEADERS)
+include_directories(SYSTEM ${Boost_INCLUDE_DIRS})
 
 
+message(STATUS "PQXX_VERSION=${PQXX_VERSION}")
+if (PQXX_VERSION VERSION_GREATER_EQUAL "7.0.0")
+  set(CMAKE_CXX_STANDARD 17)
+else()
+  add_definitions(-DPQXX_DISCONNECT)
+  set(CMAKE_CXX_STANDARD 14)
+endif()
 
 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_FILE_OFFSET_BITS=64")
 set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall -Wconversion -pedantic -Wextra  -frounding-math -Wno-deprecated -fmax-errors=10")
@@ -80,26 +60,24 @@ endif()
 #--------------------------------------------------------
 
 set (OSM2PGROUTING_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/include")
-message(STATUS "LIBPQXX_INCLUDE_DIRS: ${LIBPQXX_INCLUDE_DIRS}")
+message(STATUS "PQXX_INCLUDE_DIR: ${PQXX_INCLUDE_DIR}")
 message(STATUS "POSTGRESQL_INCLUDE_DIR: ${POSTGRESQL_INCLUDE_DIR}")
 message(STATUS "EXPAT_INCLUDE_DIRS: ${EXPAT_INCLUDE_DIRS}")
 message(STATUS "Boost_INCLUDE_DIRS: ${Boost_INCLUDE_DIRS}")
 message(STATUS "POSTGRESQL_LIBRARIES: ${POSTGRESQL_LIBRARIES}")
 message(STATUS "Boost_LIBRARIES: ${boost_LIBRARIES}")
-message(STATUS "LIBPQXX_LIBRARIES: ${LIBPQXX_LIBRARIES}")
+message(STATUS "PQXX_LIBRARIES: ${PQXX_LIBRARIES}")
 
 INCLUDE_DIRECTORIES(src
-    ${LIBPQXX_INCLUDE_DIRS}
     ${POSTGRESQL_INCLUDE_DIR}
     ${EXPAT_INCLUDE_DIRS}
-    ${Boost_INCLUDE_DIRS}
     ${OSM2PGROUTING_INCLUDE_DIRS}
     )
 
 ADD_EXECUTABLE(osm2pgrouting ${osm2pgrouting_lib_SOURCES})
 
 TARGET_LINK_LIBRARIES(osm2pgrouting
-    ${LIBPQXX_LIBRARIES}
+    ${PQXX_LIBRARIES}
     ${POSTGRESQL_LIBRARIES}
     ${EXPAT_LIBRARIES}
     ${Boost_LIBRARIES}


=====================================
NEWS
=====================================
@@ -1,3 +1,16 @@
+osm2pgRouting 2.3.8
+
+* Removing travis tests
+* Updated FindPQXX to get the version
+* Adding github actions for compilation:
+  * Postgres 9.6 to 13
+  * libpqxx 6 & 7
+* Minimum Version Postgres 9.6 (supported version at this time)
+* Minimum Version libpqxx 6
+* C++ minimum standard depends on libpqxx
+  * For version libpqxx 6: C++14
+  * For version libpqxx 7: C++17
+
 osm2pgRouting 2.3.7
 
 * fix: Way - fixed bug handling oneway false conditions


=====================================
cmake/FindLibPQXX.cmake deleted
=====================================
@@ -1,43 +0,0 @@
-# - Find libpqxx
-#   Find the libpqxx includes and client library
-# This module defines
-#  PQXX_INCLUDE_DIRS
-#  PQXX_LIBRARIES
-#  PQXX_FOUND
-
-include (FindPackageHandleStandardArgs)
-
-#
-# Look for an installation.
-#
-find_path(LIBPQXX_INCLUDE_DIR NAMES /include/pqxx/connection.hxx PATH_SUFFIXES ${SUFFIX_FOR_INCLUDE_PATH} PATHS
-
-    # Look in other places.
-    ${LIBPQXX_DIR_SEARCH}
-
-    # Help the user find it if we cannot.
-    DOC "The ${LIBPQXX_INCLUDE_DIR_MESSAGE}"
-    )
-
-# Now try to get the include and library path.
-if(LIBPQXX_INCLUDE_DIR)
-
-    if(EXISTS "${LIBPQXX_INCLUDE_DIR}")
-        set(LIBPQXX_INCLUDE_DIRS
-            ${LIBPQXX_INCLUDE_DIR}/include
-            )
-    endif()
-endif()
-
-find_library (LIBPQXX_LIBRARIES
-    NAMES
-    pqxx
-    )
-
-FIND_PACKAGE_HANDLE_STANDARD_ARGS("PQXX"
-    "libpqxx couldn't be found"
-    LIBPQXX_LIBRARIES
-    LIBPQXX_INCLUDE_DIRS
-    )
-
-mark_as_advanced (PQXX_INCLUDE_DIR PQXX_LIBRARY)


=====================================
cmake/FindPQXX.cmake
=====================================
@@ -0,0 +1,64 @@
+# - Find libpqxx
+#   Find the libpqxx includes and client library
+# This module defines
+#  PQXX_INCLUDE_DIRS
+#  PQXX_LIBRARIES
+#  PQXX_FOUND
+
+include (FindPackageHandleStandardArgs)
+
+#
+# Look for an installation.
+#
+find_path(
+  PQXX_INCLUDE_DIR
+  NAMES pqxx/pqxx
+  PATHS
+    ${_PQXX_DIR}/include
+    ${_PQXX_DIR}
+    ${CMAKE_INSTALL_PREFIX}/include
+    /usr/local/pgsql/include
+    /usr/local/include
+    /usr/include
+  DOC "pqxx include directories"
+  )
+mark_as_advanced (PQXX_INCLUDE_DIR)
+
+find_library (PQXX_LIBRARIES
+  NAMES pqxx
+  DOC "pqxx library"
+  )
+mark_as_advanced (PQXX_LIBRARY)
+
+
+if (PQXX_INCLUDE_DIR)
+  if (EXISTS "${PQXX_INCLUDE_DIR}/pqxx/version.hxx")
+    set (PQXX_VERSION_FILE "${PQXX_INCLUDE_DIR}/pqxx/version.hxx")
+    message(STATUS "PQXX_VERSION_FILE=${PQXX_VERSION_FILE}")
+    file(READ "${PQXX_VERSION_FILE}" PQXX_FILE)
+    string(REGEX MATCH "PQXX_VERSION \"([0-9]*).([0-9]*).([0-9]*)" PQXX_VERSION_LINE ${PQXX_FILE})
+    string(REGEX REPLACE "PQXX_VERSION \"([0-9]*).([0-9]*).([0-9]*)" "\\1" PQXX_VERSION_MAYOR ${PQXX_VERSION_LINE})
+    string(REGEX REPLACE "PQXX_VERSION \"([0-9]*).([0-9]*).([0-9]*)" "\\2" PQXX_VERSION_MINOR ${PQXX_VERSION_LINE})
+    string(REGEX REPLACE "PQXX_VERSION \"([0-9]*).([0-9]*).([0-9]*)" "\\3" PQXX_VERSION_MICRO ${PQXX_VERSION_LINE})
+    set(PQXX_VERSION "${PQXX_VERSION_MAYOR}.${PQXX_VERSION_MINOR}.${PQXX_VERSION_MICRO}")
+    message(STATUS "PQXX_VERSION=${PQXX_VERSION}")
+    message(STATUS "PQXX_VERSION_MAYOR=${PQXX_VERSION_MAYOR}")
+    message(STATUS "PQXX_VERSION_MINOR=${PQXX_VERSION_MINOR}")
+    message(STATUS "PQXX_VERSION_MICRO=${PQXX_VERSION_MICRO}")
+    unset(PQXX_VERSION_MAYOR)
+    unset(PQXX_VERSION_MINOR)
+    unset(PQXX_VERSION_MICRO)
+    unset(PQXX_FILE)
+    unset(PQXX_VERSION_LINE)
+  endif()
+endif()
+
+
+
+FIND_PACKAGE_HANDLE_STANDARD_ARGS("PQXX"
+  VERSION_VAR PQXX_VERSION
+  REQUIRED_VARS PQXX_LIBRARIES PQXX_INCLUDE_DIR
+  FAIL_MESSAGE "libpqxx couldn't be found"
+  )
+
+


=====================================
docs/how_to_release.md
=====================================
@@ -15,7 +15,7 @@ This document explains step by step how to release a new version for osm2pgrouti
 2. Make sure you are in the last update:
 
   ```
-  $ git pull origin master
+  $ git pull origin main
   ```
 
 3. Make sure last updates was compiled without errors in Travis CI: https://travis-ci.org/pgRouting/osm2pgrouting/builds
@@ -31,7 +31,7 @@ This document explains step by step how to release a new version for osm2pgrouti
   ```
   $ git push origin v2.3.4
   ```
-  
+
 6. Go to Github repository and make sure the new tag was created: https://github.com/pgRouting/osm2pgrouting/releases
 
 7. Click on the tag number then click on the edit tag button for release title (use the same number, i.e. v2.3.4).


=====================================
src/osm_elements/osm2pgrouting.cpp
=====================================
@@ -98,7 +98,7 @@ int main(int argc, char* argv[]) {
         }
 
         if (vm.count("version")) {
-            std::cout << "This is osm2pgrouting Version 2.3.7\n";
+            std::cout << "This is osm2pgrouting Version 2.3.8\n";
             return 0;
         }
 
@@ -140,7 +140,9 @@ int main(int argc, char* argv[]) {
                 cout << "Can't open database" << endl;
                 return 1;
             }
+#ifdef PQXX_DISCONNECT
             C.disconnect ();
+#endif
         }catch (const std::exception &e){
             cerr << e.what() << std::endl;
             return 1;



View it on GitLab: https://salsa.debian.org/debian-gis-team/osm2pgrouting/-/commit/5fee00f12954763662124c66a2e807dbe2712f38

-- 
View it on GitLab: https://salsa.debian.org/debian-gis-team/osm2pgrouting/-/commit/5fee00f12954763662124c66a2e807dbe2712f38
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/20210605/fc58ddf1/attachment-0001.htm>


More information about the Pkg-grass-devel mailing list