From: Sarah Hoffmann Date: Tue, 17 Jul 2018 19:54:37 +0000 (+0200) Subject: more sanity checks for pyosmium tools X-Git-Tag: v3.2.0~46^2 X-Git-Url: https://git.openstreetmap.org./nominatim.git/commitdiff_plain/83270557a73b0bfc6b133b69e61d5bff1c67480e more sanity checks for pyosmium tools --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 4e55a8a5..2096c43d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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}") diff --git a/utils/update.php b/utils/update.php index cd907d75..6caa7e4b 100755 --- a/utils/update.php +++ b/utils/update.php @@ -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);