]> git.openstreetmap.org Git - nominatim.git/commitdiff
more sanity checks for pyosmium tools
authorSarah Hoffmann <lonvia@denofr.de>
Tue, 17 Jul 2018 19:54:37 +0000 (21:54 +0200)
committerSarah Hoffmann <lonvia@denofr.de>
Tue, 17 Jul 2018 19:54:37 +0000 (21:54 +0200)
CMakeLists.txt
utils/update.php

index 4e55a8a543e864ee6d8a4a1796913fb88383f88d..2096c43dc9efe189992ddf5047678c5f5a84439e 100644 (file)
@@ -53,7 +53,7 @@ link_directories(${PostgreSQL_LIBRARY_DIRS})
 
 find_program(PYOSMIUM pyosmium-get-changes)
 if (NOT EXISTS "${PYOSMIUM}")
-    set(PYOSMIUM_PATH "/nonexistent")
+    set(PYOSMIUM_PATH "")
         message(WARNING "pyosmium-get-changes not found (required for updates)")
 else()
     set(PYOSMIUM_PATH "${PYOSMIUM}")
index cd907d7518dc5bdf05a761b3a87da73fa2265e14..6caa7e4be95717a06c6c27d8cd7bca8021209d27 100755 (executable)
@@ -68,6 +68,22 @@ if ($aResult['init-updates']) {
         echo "Does the URL point to a directory containing OSM update data?\n\n";
         fail('replication URL not reachable.');
     }
+    // sanity check for pyosmium-get-changes
+    if (!CONST_Pyosmium_Binary) {
+        echo "\nCONST_Pyosmium_Binary not configured.\n";
+        echo "You need to install pyosmium and set up the path to pyosmium-get-changes\n";
+        echo "in your local settings file.\n\n";
+        fail('CONST_Pyosmium_Binary not configured');
+    }
+    $aOutput = 0;
+    $sCmd = CONST_Pyosmium_Binary.' --help';
+    exec($sCmd, $aOutput, $iRet);
+    if ($iRet != 0) {
+        echo "Cannot execute pyosmium-get-changes.\n";
+        echo "Make sure you have pyosmium installed correctly\n";
+        echo "and have set up CONST_Pyosmium_Binary to point to pyosmium-get-changes.\n";
+        fail('pyosmium-get-changes not found or not usable');
+    }
     $sSetup = CONST_InstallPath.'/utils/setup.php';
     $iRet = -1;
     passthru($sSetup.' --create-functions --enable-diff-updates', $iRet);