CONST_BasePath is split into separate configuration variables
for binaries, libraries and data. These variables as well as
the installation path are now set in the executable directly and
no longer configurable via project settings.
This is the first step towards an installable software. The
executables should know per installation where to find their
necessary data to execute. Project configuration needs to be
restricted to settings that really concern the specific Nominatim
installation.
33 files changed:
if (BUILD_IMPORTER)
set(CUSTOMSCRIPTS
if (BUILD_IMPORTER)
set(CUSTOMSCRIPTS
- utils/check_import_finished.php
- utils/country_languages.php
- utils/importWikipedia.php
- utils/export.php
- utils/query.php
- utils/setup.php
- utils/specialphrases.php
- utils/update.php
- utils/warm.php
+ check_import_finished.php
+ country_languages.php
+ importWikipedia.php
+ export.php
+ query.php
+ setup.php
+ specialphrases.php
+ update.php
+ warm.php
)
foreach (script_source ${CUSTOMSCRIPTS})
configure_file(${PROJECT_SOURCE_DIR}/cmake/script.tmpl
)
foreach (script_source ${CUSTOMSCRIPTS})
configure_file(${PROJECT_SOURCE_DIR}/cmake/script.tmpl
- ${PROJECT_BINARY_DIR}/${script_source})
+ ${PROJECT_BINARY_DIR}/utils/${script_source})
if (BUILD_API)
set(WEBSITESCRIPTS
if (BUILD_API)
set(WEBSITESCRIPTS
- website/deletable.php
- website/details.php
- website/lookup.php
- website/polygons.php
- website/reverse.php
- website/search.php
- website/status.php
+ deletable.php
+ details.php
+ lookup.php
+ polygons.php
+ reverse.php
+ search.php
+ status.php
)
foreach (script_source ${WEBSITESCRIPTS})
configure_file(${PROJECT_SOURCE_DIR}/cmake/website.tmpl
)
foreach (script_source ${WEBSITESCRIPTS})
configure_file(${PROJECT_SOURCE_DIR}/cmake/website.tmpl
- ${PROJECT_BINARY_DIR}/${script_source})
+ ${PROJECT_BINARY_DIR}/website/${script_source})
- set(WEBPATHS css images js)
-
- foreach (wp ${WEBPATHS})
- execute_process(
- COMMAND ln -sf ${PROJECT_SOURCE_DIR}/website/${wp} ${PROJECT_BINARY_DIR}/website/
- )
- endforeach()
add_custom_target(serve
php -S 127.0.0.1:8088
add_custom_target(serve
php -S 127.0.0.1:8088
-require_once(dirname(dirname(__FILE__)).'/settings/settings.php');
-require_once(CONST_BasePath.'/@script_source@');
+@define('CONST_BinDir', '@CMAKE_SOURCE_DIR@/utils');
+@define('CONST_LibDir', '@CMAKE_SOURCE_DIR@/lib');
+@define('CONST_DataDir', '@CMAKE_SOURCE_DIR@');
+@define('CONST_InstallDir', '@CMAKE_BINARY_DIR@');
+
+require_once(CONST_InstallDir.'/settings/settings.php');
+require_once(CONST_BinDir.'/@script_source@');
<?php
@define('CONST_Debug', (isset($_GET['debug']) && $_GET['debug']));
<?php
@define('CONST_Debug', (isset($_GET['debug']) && $_GET['debug']));
-require_once(dirname(dirname(__FILE__)).'/settings/settings-frontend.php');
+@define('CONST_LibDir', '@CMAKE_SOURCE_DIR@/lib');
+@define('CONST_DataDir', '@CMAKE_SOURCE_DIR@');
+@define('CONST_InstallDir', '@CMAKE_BINARY_DIR@');
+require_once(CONST_InstallDir.'/settings/settings-frontend.php');
-require_once(CONST_BasePath.'/@script_source@');
+require_once('@CMAKE_SOURCE_DIR@/website/@script_source@');
-require_once(CONST_BasePath.'/lib/ClassTypes.php');
+require_once(CONST_LibDir.'/ClassTypes.php');
/**
* Detailed list of address parts for a single result
/**
* Detailed list of address parts for a single result
-require_once(CONST_BasePath.'/lib/DatabaseError.php');
+require_once(CONST_LibDir.'/DatabaseError.php');
/**
* Uses PDO to access the database specified in the CONST_Database_DSN
/**
* Uses PDO to access the database specified in the CONST_Database_DSN
-require_once(CONST_BasePath.'/lib/PlaceLookup.php');
-require_once(CONST_BasePath.'/lib/Phrase.php');
-require_once(CONST_BasePath.'/lib/ReverseGeocode.php');
-require_once(CONST_BasePath.'/lib/SearchDescription.php');
-require_once(CONST_BasePath.'/lib/SearchContext.php');
-require_once(CONST_BasePath.'/lib/TokenList.php');
+require_once(CONST_LibDir.'/PlaceLookup.php');
+require_once(CONST_LibDir.'/Phrase.php');
+require_once(CONST_LibDir.'/ReverseGeocode.php');
+require_once(CONST_LibDir.'/SearchDescription.php');
+require_once(CONST_LibDir.'/SearchContext.php');
+require_once(CONST_LibDir.'/TokenList.php');
-require_once(CONST_BasePath.'/lib/AddressDetails.php');
-require_once(CONST_BasePath.'/lib/Result.php');
+require_once(CONST_LibDir.'/AddressDetails.php');
+require_once(CONST_LibDir.'/Result.php');
-require_once(CONST_BasePath.'/lib/Result.php');
+require_once(CONST_LibDir.'/Result.php');
-require_once(CONST_BasePath.'/lib/lib.php');
+require_once(CONST_LibDir.'/lib.php');
-require_once(CONST_BasePath.'/lib/SpecialSearchOperator.php');
-require_once(CONST_BasePath.'/lib/SearchContext.php');
-require_once(CONST_BasePath.'/lib/Result.php');
+require_once(CONST_LibDir.'/SpecialSearchOperator.php');
+require_once(CONST_LibDir.'/SearchContext.php');
+require_once(CONST_LibDir.'/Result.php');
/**
* Description of a single interpretation of a search query.
/**
* Description of a single interpretation of a search query.
-require_once(CONST_BasePath.'/lib/TokenCountry.php');
-require_once(CONST_BasePath.'/lib/TokenHousenumber.php');
-require_once(CONST_BasePath.'/lib/TokenPostcode.php');
-require_once(CONST_BasePath.'/lib/TokenSpecialTerm.php');
-require_once(CONST_BasePath.'/lib/TokenWord.php');
-require_once(CONST_BasePath.'/lib/SpecialSearchOperator.php');
+require_once(CONST_LibDir.'/TokenCountry.php');
+require_once(CONST_LibDir.'/TokenHousenumber.php');
+require_once(CONST_LibDir.'/TokenPostcode.php');
+require_once(CONST_LibDir.'/TokenSpecialTerm.php');
+require_once(CONST_LibDir.'/TokenWord.php');
+require_once(CONST_LibDir.'/SpecialSearchOperator.php');
/**
* Saves information about the tokens that appear in a search query.
/**
* Saves information about the tokens that appear in a search query.
namespace Nominatim\Token;
namespace Nominatim\Token;
-require_once(CONST_BasePath.'/lib/SpecialSearchOperator.php');
+require_once(CONST_LibDir.'/SpecialSearchOperator.php');
/**
* A word token describing a place type.
/**
* A word token describing a place type.
-require_once(CONST_BasePath.'/lib/Shell.php');
+require_once(CONST_LibDir.'/Shell.php');
function getCmdOpt($aArg, $aSpec, &$aResult, $bExitOnError = false, $bExitOnUnknown = false)
{
function getCmdOpt($aArg, $aSpec, &$aResult, $bExitOnError = false, $bExitOnUnknown = false)
{
{
http_response_code($exception->getCode());
header('Content-type: application/json; charset=utf-8');
{
http_response_code($exception->getCode());
header('Content-type: application/json; charset=utf-8');
- include(CONST_BasePath.'/lib/template/error-json.php');
+ include(CONST_LibDir.'/template/error-json.php');
http_response_code($exception->getCode());
header('Content-type: text/xml; charset=utf-8');
echo '<?xml version="1.0" encoding="UTF-8" ?>'."\n";
http_response_code($exception->getCode());
header('Content-type: text/xml; charset=utf-8');
echo '<?xml version="1.0" encoding="UTF-8" ?>'."\n";
- include(CONST_BasePath.'/lib/template/error-xml.php');
+ include(CONST_LibDir.'/template/error-xml.php');
-require_once(CONST_BasePath.'/lib/lib.php');
-require_once(CONST_BasePath.'/lib/DB.php');
+require_once(CONST_LibDir.'/lib.php');
+require_once(CONST_LibDir.'/DB.php');
namespace Nominatim\Setup;
namespace Nominatim\Setup;
-require_once(CONST_BasePath.'/lib/setup/AddressLevelParser.php');
-require_once(CONST_BasePath.'/lib/Shell.php');
+require_once(CONST_LibDir.'/setup/AddressLevelParser.php');
+require_once(CONST_LibDir.'/Shell.php');
// Try accessing the C module, so we know early if something is wrong
checkModulePresence(); // raises exception on failure
// Try accessing the C module, so we know early if something is wrong
checkModulePresence(); // raises exception on failure
- if (!file_exists(CONST_ExtraDataPath.'/country_osm_grid.sql.gz')) {
+ if (!file_exists(CONST_DataDir.'/data/country_osm_grid.sql.gz')) {
echo 'Error: you need to download the country_osm_grid first:';
echo 'Error: you need to download the country_osm_grid first:';
- echo "\n wget -O ".CONST_ExtraDataPath."/country_osm_grid.sql.gz https://www.nominatim.org/data/country_grid.sql.gz\n";
+ echo "\n wget -O ".CONST_DataDir."/data/country_osm_grid.sql.gz https://www.nominatim.org/data/country_grid.sql.gz\n";
- $this->pgsqlRunScriptFile(CONST_BasePath.'/data/country_name.sql');
- $this->pgsqlRunScriptFile(CONST_ExtraDataPath.'/country_osm_grid.sql.gz');
- $this->pgsqlRunScriptFile(CONST_BasePath.'/data/gb_postcode_table.sql');
- $this->pgsqlRunScriptFile(CONST_BasePath.'/data/us_postcode_table.sql');
+ $this->pgsqlRunScriptFile(CONST_DataDir.'/data/country_name.sql');
+ $this->pgsqlRunScriptFile(CONST_DataDir.'/data/country_osm_grid.sql.gz');
+ $this->pgsqlRunScriptFile(CONST_DataDir.'/data/gb_postcode_table.sql');
+ $this->pgsqlRunScriptFile(CONST_DataDir.'/data/us_postcode_table.sql');
- $sPostcodeFilename = CONST_BasePath.'/data/gb_postcode_data.sql.gz';
+ $sPostcodeFilename = CONST_DataDir.'/data/gb_postcode_data.sql.gz';
if (file_exists($sPostcodeFilename)) {
$this->pgsqlRunScriptFile($sPostcodeFilename);
} else {
warn('optional external GB postcode table file ('.$sPostcodeFilename.') not found. Skipping.');
}
if (file_exists($sPostcodeFilename)) {
$this->pgsqlRunScriptFile($sPostcodeFilename);
} else {
warn('optional external GB postcode table file ('.$sPostcodeFilename.') not found. Skipping.');
}
- $sPostcodeFilename = CONST_BasePath.'/data/us_postcode_data.sql.gz';
+ $sPostcodeFilename = CONST_DataDir.'/data/us_postcode_data.sql.gz';
if (file_exists($sPostcodeFilename)) {
$this->pgsqlRunScriptFile($sPostcodeFilename);
} else {
if (file_exists($sPostcodeFilename)) {
$this->pgsqlRunScriptFile($sPostcodeFilename);
} else {
- $sTemplate = file_get_contents(CONST_BasePath.'/sql/tables.sql');
+ $sTemplate = file_get_contents(CONST_DataDir.'/sql/tables.sql');
$sTemplate = $this->replaceSqlPatterns($sTemplate);
$this->pgsqlRunScript($sTemplate, false);
$sTemplate = $this->replaceSqlPatterns($sTemplate);
$this->pgsqlRunScript($sTemplate, false);
- $sTemplate = file_get_contents(CONST_BasePath.'/sql/table-triggers.sql');
+ $sTemplate = file_get_contents(CONST_DataDir.'/sql/table-triggers.sql');
$sTemplate = $this->replaceSqlPatterns($sTemplate);
$this->pgsqlRunScript($sTemplate, false);
$sTemplate = $this->replaceSqlPatterns($sTemplate);
$this->pgsqlRunScript($sTemplate, false);
{
info('Create Partition Tables');
{
info('Create Partition Tables');
- $sTemplate = file_get_contents(CONST_BasePath.'/sql/partition-tables.src.sql');
+ $sTemplate = file_get_contents(CONST_DataDir.'/sql/partition-tables.src.sql');
$sTemplate = $this->replaceSqlPatterns($sTemplate);
$this->pgsqlRunPartitionScript($sTemplate);
$sTemplate = $this->replaceSqlPatterns($sTemplate);
$this->pgsqlRunPartitionScript($sTemplate);
{
info('Create Partition Functions');
{
info('Create Partition Functions');
- $sTemplate = file_get_contents(CONST_BasePath.'/sql/partition-functions.src.sql');
+ $sTemplate = file_get_contents(CONST_DataDir.'/sql/partition-functions.src.sql');
$this->pgsqlRunPartitionScript($sTemplate);
}
$this->pgsqlRunPartitionScript($sTemplate);
}
// pre-create the word list
if (!$bDisableTokenPrecalc) {
info('Loading word list');
// pre-create the word list
if (!$bDisableTokenPrecalc) {
info('Loading word list');
- $this->pgsqlRunScriptFile(CONST_BasePath.'/data/words.sql');
+ $this->pgsqlRunScriptFile(CONST_DataDir.'/data/words.sql');
warn('Tiger data import selected but no files found in path '.CONST_Tiger_Data_Path);
return;
}
warn('Tiger data import selected but no files found in path '.CONST_Tiger_Data_Path);
return;
}
- $sTemplate = file_get_contents(CONST_BasePath.'/sql/tiger_import_start.sql');
+ $sTemplate = file_get_contents(CONST_DataDir.'/sql/tiger_import_start.sql');
$sTemplate = $this->replaceSqlPatterns($sTemplate);
$this->pgsqlRunScript($sTemplate, false);
$sTemplate = $this->replaceSqlPatterns($sTemplate);
$this->pgsqlRunScript($sTemplate, false);
}
info('Creating indexes on Tiger data');
}
info('Creating indexes on Tiger data');
- $sTemplate = file_get_contents(CONST_BasePath.'/sql/tiger_import_finish.sql');
+ $sTemplate = file_get_contents(CONST_DataDir.'/sql/tiger_import_finish.sql');
$sTemplate = $this->replaceSqlPatterns($sTemplate);
$this->pgsqlRunScript($sTemplate, false);
$sTemplate = $this->replaceSqlPatterns($sTemplate);
$this->pgsqlRunScript($sTemplate, false);
{
checkModulePresence(); // raises exception on failure
{
checkModulePresence(); // raises exception on failure
- $oBaseCmd = (new \Nominatim\Shell(CONST_BasePath.'/nominatim/nominatim.py'))
+ $oBaseCmd = (new \Nominatim\Shell(CONST_DataDir.'/nominatim/nominatim.py'))
->addParams('--database', $this->aDSNInfo['database'])
->addParams('--port', $this->aDSNInfo['port'])
->addParams('--threads', $this->iInstances);
->addParams('--database', $this->aDSNInfo['database'])
->addParams('--port', $this->aDSNInfo['port'])
->addParams('--threads', $this->iInstances);
$this->db()->exec("DROP INDEX $sIndexName;");
}
$this->db()->exec("DROP INDEX $sIndexName;");
}
- $sTemplate = file_get_contents(CONST_BasePath.'/sql/indices.src.sql');
+ $sTemplate = file_get_contents(CONST_DataDir.'/sql/indices.src.sql');
- $sTemplate .= file_get_contents(CONST_BasePath.'/sql/indices_updates.src.sql');
+ $sTemplate .= file_get_contents(CONST_DataDir.'/sql/indices_updates.src.sql');
}
if (!$this->dbReverseOnly()) {
}
if (!$this->dbReverseOnly()) {
- $sTemplate .= file_get_contents(CONST_BasePath.'/sql/indices_search.src.sql');
+ $sTemplate .= file_get_contents(CONST_DataDir.'/sql/indices_search.src.sql');
}
$sTemplate = $this->replaceSqlPatterns($sTemplate);
}
$sTemplate = $this->replaceSqlPatterns($sTemplate);
*/
public function setupWebsite()
{
*/
public function setupWebsite()
{
- $rOutputFile = fopen(CONST_InstallPath.'/settings/settings-frontend.php', 'w');
+ $rOutputFile = fopen(CONST_InstallDir.'/settings/settings-frontend.php', 'w');
fwrite($rOutputFile, "<?php
fwrite($rOutputFile, "<?php
-@define('CONST_BasePath', '".CONST_BasePath."');
if (file_exists(getenv('NOMINATIM_SETTINGS'))) require_once(getenv('NOMINATIM_SETTINGS'));
@define('CONST_Database_DSN', '".CONST_Database_DSN."');
if (file_exists(getenv('NOMINATIM_SETTINGS'))) require_once(getenv('NOMINATIM_SETTINGS'));
@define('CONST_Database_DSN', '".CONST_Database_DSN."');
@define('CONST_Use_US_Tiger_Data', ".(CONST_Use_US_Tiger_Data ? 'true' : 'false').");
@define('CONST_MapIcon_URL', ".(CONST_MapIcon_URL ? ("'".CONST_MapIcon_URL."'") : 'false').');
');
@define('CONST_Use_US_Tiger_Data', ".(CONST_Use_US_Tiger_Data ? 'true' : 'false').");
@define('CONST_MapIcon_URL', ".(CONST_MapIcon_URL ? ("'".CONST_MapIcon_URL."'") : 'false').');
');
- info(CONST_InstallPath.'/settings/settings-frontend.php has been set up successfully');
+ info(CONST_InstallDir.'/settings/settings-frontend.php has been set up successfully');
private function createSqlFunctions()
{
private function createSqlFunctions()
{
- $sBasePath = CONST_BasePath.'/sql/functions/';
+ $sBasePath = CONST_DataDir.'/sql/functions/';
$sTemplate = file_get_contents($sBasePath.'utils.sql');
$sTemplate .= file_get_contents($sBasePath.'normalization.sql');
$sTemplate .= file_get_contents($sBasePath.'ranking.sql');
$sTemplate = file_get_contents($sBasePath.'utils.sql');
$sTemplate .= file_get_contents($sBasePath.'normalization.sql');
$sTemplate .= file_get_contents($sBasePath.'ranking.sql');
-@define('CONST_BasePath', '@CMAKE_SOURCE_DIR@');
-@define('CONST_InstallPath', '@CMAKE_BINARY_DIR@');
if (file_exists(getenv('NOMINATIM_SETTINGS'))) require_once(getenv('NOMINATIM_SETTINGS'));
if (file_exists(getenv('NOMINATIM_SETTINGS'))) require_once(getenv('NOMINATIM_SETTINGS'));
-if (file_exists(CONST_InstallPath.'/settings/local.php')) require_once(CONST_InstallPath.'/settings/local.php');
+if (file_exists(CONST_InstallDir.'/settings/local.php')) require_once(CONST_InstallDir.'/settings/local.php');
// General settings
@define('CONST_Database_DSN', 'pgsql:dbname=nominatim'); // or add ;host=...;port=...;user=...;password=...
@define('CONST_Database_Web_User', 'www-data');
// General settings
@define('CONST_Database_DSN', 'pgsql:dbname=nominatim'); // or add ;host=...;port=...;user=...;password=...
@define('CONST_Database_Web_User', 'www-data');
-@define('CONST_Database_Module_Path', CONST_InstallPath.'/module');
+@define('CONST_Database_Module_Path', CONST_InstallDir.'/module');
@define('CONST_Max_Word_Frequency', '50000');
@define('CONST_Limit_Reindexing', true);
// Restrict search languages.
@define('CONST_Max_Word_Frequency', '50000');
@define('CONST_Limit_Reindexing', true);
// Restrict search languages.
@define('CONST_HTTP_Proxy_Password', '');
// Paths
@define('CONST_HTTP_Proxy_Password', '');
// Paths
-@define('CONST_ExtraDataPath', CONST_BasePath.'/data');
-@define('CONST_Osm2pgsql_Binary', CONST_InstallPath.'/osm2pgsql/osm2pgsql');
+@define('CONST_Osm2pgsql_Binary', CONST_InstallDir.'/osm2pgsql/osm2pgsql');
@define('CONST_Pyosmium_Binary', '@PYOSMIUM_PATH@');
@define('CONST_Pyosmium_Binary', '@PYOSMIUM_PATH@');
-@define('CONST_Tiger_Data_Path', CONST_ExtraDataPath.'/tiger');
-@define('CONST_Wikipedia_Data_Path', CONST_ExtraDataPath);
-@define('CONST_Phrase_Config', CONST_BasePath.'/settings/phrase_settings.php');
-@define('CONST_Address_Level_Config', CONST_BasePath.'/settings/address-levels.json');
-@define('CONST_Import_Style', CONST_BasePath.'/settings/import-full.style');
+@define('CONST_Tiger_Data_Path', CONST_DataDir.'/data/tiger');
+@define('CONST_Wikipedia_Data_Path', CONST_DataDir);
+@define('CONST_Phrase_Config', CONST_DataDir.'/settings/phrase_settings.php');
+@define('CONST_Address_Level_Config', CONST_DataDir.'/settings/address-levels.json');
+@define('CONST_Import_Style', CONST_DataDir.'/settings/import-full.style');
// osm2pgsql settings
@define('CONST_Osm2pgsql_Flatnode_File', null);
// osm2pgsql settings
@define('CONST_Osm2pgsql_Flatnode_File', null);
(';password=' + self.db_pass) if self.db_pass else ''
))
f.write("@define('CONST_Osm2pgsql_Flatnode_File', null);\n")
(';password=' + self.db_pass) if self.db_pass else ''
))
f.write("@define('CONST_Osm2pgsql_Flatnode_File', null);\n")
- f.write("@define('CONST_Import_Style', CONST_BasePath.'/settings/import-full.style');\n")
+ f.write("@define('CONST_Import_Style', CONST_DataDir.'/settings/import-full.style');\n")
+ f.write("@define('CONST_Use_US_Tiger_Data', true);\n")
f.close()
def cleanup(self):
f.close()
def cleanup(self):
-require_once(CONST_BasePath.'/lib/init-cmd.php');
+require_once(CONST_LibDir.'/init-cmd.php');
$term_colors = array(
'green' => "\033[92m",
$term_colors = array(
'green' => "\033[92m",
-require_once(CONST_BasePath.'/lib/init-cmd.php');
+require_once(CONST_LibDir.'/init-cmd.php');
ini_set('memory_limit', '800M');
ini_set('display_errors', 'stderr');
ini_set('memory_limit', '800M');
ini_set('display_errors', 'stderr');
// from a running nominatim instance as CSV data
// from a running nominatim instance as CSV data
- require_once(CONST_BasePath.'/lib/init-cmd.php');
- require_once(CONST_BasePath.'/lib/ParameterParser.php');
+ require_once(CONST_LibDir.'/init-cmd.php');
+ require_once(CONST_LibDir.'/ParameterParser.php');
ini_set('memory_limit', '800M');
$aCMDOptions = array(
ini_set('memory_limit', '800M');
$aCMDOptions = array(
-require_once(CONST_BasePath.'/lib/init-cmd.php');
-require_once(CONST_BasePath.'/lib/Geocode.php');
-require_once(CONST_BasePath.'/lib/ParameterParser.php');
+require_once(CONST_LibDir.'/init-cmd.php');
+require_once(CONST_LibDir.'/Geocode.php');
+require_once(CONST_LibDir.'/ParameterParser.php');
ini_set('memory_limit', '800M');
$aCMDOptions
ini_set('memory_limit', '800M');
$aCMDOptions
-require_once(CONST_BasePath.'/lib/init-cmd.php');
-require_once(CONST_BasePath.'/lib/setup/SetupClass.php');
-require_once(CONST_BasePath.'/lib/setup_functions.php');
+require_once(CONST_LibDir.'/init-cmd.php');
+require_once(CONST_LibDir.'/setup/SetupClass.php');
+require_once(CONST_LibDir.'/setup_functions.php');
ini_set('memory_limit', '800M');
use Nominatim\Setup\SetupFunctions as SetupFunctions;
ini_set('memory_limit', '800M');
use Nominatim\Setup\SetupFunctions as SetupFunctions;
-require_once(CONST_BasePath.'/lib/init-cmd.php');
+require_once(CONST_LibDir.'/init-cmd.php');
ini_set('memory_limit', '800M');
ini_set('display_errors', 'stderr');
ini_set('memory_limit', '800M');
ini_set('display_errors', 'stderr');
-require_once(CONST_BasePath.'/lib/init-cmd.php');
-require_once(CONST_BasePath.'/lib/setup_functions.php');
-require_once(CONST_BasePath.'/lib/setup/SetupClass.php');
-require_once(CONST_BasePath.'/lib/setup/AddressLevelParser.php');
+require_once(CONST_LibDir.'/init-cmd.php');
+require_once(CONST_LibDir.'/setup_functions.php');
+require_once(CONST_LibDir.'/setup/SetupClass.php');
+require_once(CONST_LibDir.'/setup/AddressLevelParser.php');
ini_set('memory_limit', '800M');
ini_set('memory_limit', '800M');
-$oIndexCmd = (new \Nominatim\Shell(CONST_BasePath.'/nominatim/nominatim.py'))
+$oIndexCmd = (new \Nominatim\Shell(CONST_DataDir.'/nominatim/nominatim.py'))
->addParams('--database', $aDSNInfo['database'])
->addParams('--port', $aDSNInfo['port'])
->addParams('--threads', $aResult['index-instances']);
->addParams('--database', $aDSNInfo['database'])
->addParams('--port', $aDSNInfo['port'])
->addParams('--threads', $aResult['index-instances']);
fail('Updates not set up. Please run ./utils/update.php --init-updates.');
}
fail('Updates not set up. Please run ./utils/update.php --init-updates.');
}
- $oCmd = (new \Nominatim\Shell(CONST_BasePath.'/utils/check_server_for_updates.py'))
+ $oCmd = (new \Nominatim\Shell(CONST_BinDir.'/check_server_for_updates.py'))
->addParams(CONST_Replication_Url)
->addParams($aLastState['sequence_id']);
$iRet = $oCmd->run();
->addParams(CONST_Replication_Url)
->addParams($aLastState['sequence_id']);
$iRet = $oCmd->run();
if ($aResult['calculate-postcodes']) {
info('Update postcodes centroids');
if ($aResult['calculate-postcodes']) {
info('Update postcodes centroids');
- $sTemplate = file_get_contents(CONST_BasePath.'/sql/update-postcodes.sql');
+ $sTemplate = file_get_contents(CONST_DataDir.'/sql/update-postcodes.sql');
runSQLScript($sTemplate, true, true);
}
runSQLScript($sTemplate, true, true);
}
-$sTemporaryFile = CONST_BasePath.'/data/osmosischange.osc';
+$sTemporaryFile = CONST_InstallDir.'/osmosischange.osc';
$bHaveDiff = false;
$bUseOSMApi = isset($aResult['import-from-main-api']) && $aResult['import-from-main-api'];
$sContentURL = '';
$bHaveDiff = false;
$bUseOSMApi = isset($aResult['import-from-main-api']) && $aResult['import-from-main-api'];
$sContentURL = '';
if ($aResult['recompute-word-counts']) {
info('Recompute frequency of full-word search terms');
if ($aResult['recompute-word-counts']) {
info('Recompute frequency of full-word search terms');
- $sTemplate = file_get_contents(CONST_BasePath.'/sql/words_from_search_name.sql');
+ $sTemplate = file_get_contents(CONST_DataDir.'/sql/words_from_search_name.sql');
runSQLScript($sTemplate, true, true);
}
runSQLScript($sTemplate, true, true);
}
"Please check install documentation (https://nominatim.org/release-docs/latest/admin/Import-and-Update#setting-up-the-update-process)\n");
}
"Please check install documentation (https://nominatim.org/release-docs/latest/admin/Import-and-Update#setting-up-the-update-process)\n");
}
- $sImportFile = CONST_InstallPath.'/osmosischange.osc';
+ $sImportFile = CONST_InstallDir.'/osmosischange.osc';
$oCMDDownload = (new \Nominatim\Shell(CONST_Pyosmium_Binary))
->addParams('--server', CONST_Replication_Url)
$oCMDDownload = (new \Nominatim\Shell(CONST_Pyosmium_Binary))
->addParams('--server', CONST_Replication_Url)
// get the newest object from the diff file
$sBatchEnd = 0;
$iRet = 0;
// get the newest object from the diff file
$sBatchEnd = 0;
$iRet = 0;
- $oCMD = new \Nominatim\Shell(CONST_BasePath.'/utils/osm_file_date.py', $sImportFile);
+ $oCMD = new \Nominatim\Shell(CONST_BinDir.'/osm_file_date.py', $sImportFile);
exec($oCMD->escapedCmd(), $sBatchEnd, $iRet);
if ($iRet == 5) {
echo "Diff file is empty. skipping import.\n";
exec($oCMD->escapedCmd(), $sBatchEnd, $iRet);
if ($iRet == 5) {
echo "Diff file is empty. skipping import.\n";
-require_once(CONST_BasePath.'/lib/init-cmd.php');
+require_once(CONST_LibDir.'/init-cmd.php');
ini_set('memory_limit', '800M');
$aCMDOptions = array(
ini_set('memory_limit', '800M');
$aCMDOptions = array(
);
getCmdOpt($_SERVER['argv'], $aCMDOptions, $aResult, true, true);
);
getCmdOpt($_SERVER['argv'], $aCMDOptions, $aResult, true, true);
-require_once(CONST_BasePath.'/lib/log.php');
-require_once(CONST_BasePath.'/lib/Geocode.php');
-require_once(CONST_BasePath.'/lib/PlaceLookup.php');
-require_once(CONST_BasePath.'/lib/ReverseGeocode.php');
+require_once(CONST_LibDir.'/log.php');
+require_once(CONST_LibDir.'/Geocode.php');
+require_once(CONST_LibDir.'/PlaceLookup.php');
+require_once(CONST_LibDir.'/ReverseGeocode.php');
$oDB = new Nominatim\DB();
$oDB->connect();
$oDB = new Nominatim\DB();
$oDB->connect();
-require_once(CONST_BasePath.'/lib/init-website.php');
-require_once(CONST_BasePath.'/lib/log.php');
-require_once(CONST_BasePath.'/lib/output.php');
+require_once(CONST_LibDir.'/init-website.php');
+require_once(CONST_LibDir.'/log.php');
+require_once(CONST_LibDir.'/output.php');
ini_set('memory_limit', '200M');
$oParams = new Nominatim\ParameterParser();
ini_set('memory_limit', '200M');
$oParams = new Nominatim\ParameterParser();
-require_once(CONST_BasePath.'/lib/init-website.php');
-require_once(CONST_BasePath.'/lib/log.php');
-require_once(CONST_BasePath.'/lib/output.php');
-require_once(CONST_BasePath.'/lib/AddressDetails.php');
+require_once(CONST_LibDir.'/init-website.php');
+require_once(CONST_LibDir.'/log.php');
+require_once(CONST_LibDir.'/output.php');
+require_once(CONST_LibDir.'/AddressDetails.php');
ini_set('memory_limit', '200M');
$oParams = new Nominatim\ParameterParser();
ini_set('memory_limit', '200M');
$oParams = new Nominatim\ParameterParser();
$aPointDetails['error_x'] = 0;
$aPointDetails['error_y'] = 0;
}
$aPointDetails['error_x'] = 0;
$aPointDetails['error_y'] = 0;
}
- include(CONST_BasePath.'/lib/template/details-error-'.$sOutputFormat.'.php');
+ include(CONST_LibDir.'/template/details-error-'.$sOutputFormat.'.php');
-include(CONST_BasePath.'/lib/template/details-'.$sOutputFormat.'.php');
+include(CONST_LibDir.'/template/details-'.$sOutputFormat.'.php');
-require_once(CONST_BasePath.'/lib/init-website.php');
-require_once(CONST_BasePath.'/lib/log.php');
-require_once(CONST_BasePath.'/lib/PlaceLookup.php');
-require_once(CONST_BasePath.'/lib/output.php');
+require_once(CONST_LibDir.'/init-website.php');
+require_once(CONST_LibDir.'/log.php');
+require_once(CONST_LibDir.'/PlaceLookup.php');
+require_once(CONST_LibDir.'/output.php');
ini_set('memory_limit', '200M');
$oParams = new Nominatim\ParameterParser();
ini_set('memory_limit', '200M');
$oParams = new Nominatim\ParameterParser();
logEnd($oDB, $hLog, 1);
$sOutputTemplate = ($sOutputFormat == 'jsonv2') ? 'json' : $sOutputFormat;
logEnd($oDB, $hLog, 1);
$sOutputTemplate = ($sOutputFormat == 'jsonv2') ? 'json' : $sOutputFormat;
-include(CONST_BasePath.'/lib/template/search-'.$sOutputTemplate.'.php');
+include(CONST_LibDir.'/template/search-'.$sOutputTemplate.'.php');
-require_once(CONST_BasePath.'/lib/init-website.php');
-require_once(CONST_BasePath.'/lib/log.php');
-require_once(CONST_BasePath.'/lib/output.php');
+require_once(CONST_LibDir.'/init-website.php');
+require_once(CONST_LibDir.'/log.php');
+require_once(CONST_LibDir.'/output.php');
ini_set('memory_limit', '200M');
$oParams = new Nominatim\ParameterParser();
ini_set('memory_limit', '200M');
$oParams = new Nominatim\ParameterParser();
-require_once(CONST_BasePath.'/lib/init-website.php');
-require_once(CONST_BasePath.'/lib/log.php');
-require_once(CONST_BasePath.'/lib/PlaceLookup.php');
-require_once(CONST_BasePath.'/lib/ReverseGeocode.php');
-require_once(CONST_BasePath.'/lib/output.php');
+require_once(CONST_LibDir.'/init-website.php');
+require_once(CONST_LibDir.'/log.php');
+require_once(CONST_LibDir.'/PlaceLookup.php');
+require_once(CONST_LibDir.'/ReverseGeocode.php');
+require_once(CONST_LibDir.'/output.php');
ini_set('memory_limit', '200M');
$oParams = new Nominatim\ParameterParser();
ini_set('memory_limit', '200M');
$oParams = new Nominatim\ParameterParser();
}
$sOutputTemplate = ($sOutputFormat == 'jsonv2') ? 'json' : $sOutputFormat;
}
$sOutputTemplate = ($sOutputFormat == 'jsonv2') ? 'json' : $sOutputFormat;
-include(CONST_BasePath.'/lib/template/address-'.$sOutputTemplate.'.php');
+include(CONST_LibDir.'/template/address-'.$sOutputTemplate.'.php');
-require_once(CONST_BasePath.'/lib/init-website.php');
-require_once(CONST_BasePath.'/lib/log.php');
-require_once(CONST_BasePath.'/lib/Geocode.php');
-require_once(CONST_BasePath.'/lib/output.php');
+require_once(CONST_LibDir.'/init-website.php');
+require_once(CONST_LibDir.'/log.php');
+require_once(CONST_LibDir.'/Geocode.php');
+require_once(CONST_LibDir.'/output.php');
ini_set('memory_limit', '200M');
$oDB = new Nominatim\DB();
ini_set('memory_limit', '200M');
$oDB = new Nominatim\DB();
$aSearchResults = $oBatchGeocode->lookup();
$aBatchResults[] = $aSearchResults;
}
$aSearchResults = $oBatchGeocode->lookup();
$aBatchResults[] = $aSearchResults;
}
- include(CONST_BasePath.'/lib/template/search-batch-json.php');
+ include(CONST_LibDir.'/template/search-batch-json.php');
if (CONST_Debug) exit;
$sOutputTemplate = ($sOutputFormat == 'jsonv2') ? 'json' : $sOutputFormat;
if (CONST_Debug) exit;
$sOutputTemplate = ($sOutputFormat == 'jsonv2') ? 'json' : $sOutputFormat;
-include(CONST_BasePath.'/lib/template/search-'.$sOutputTemplate.'.php');
+include(CONST_LibDir.'/template/search-'.$sOutputTemplate.'.php');
-require_once(CONST_BasePath.'/lib/init-website.php');
-require_once(CONST_BasePath.'/lib/ParameterParser.php');
-require_once(CONST_BasePath.'/lib/Status.php');
+require_once(CONST_LibDir.'/init-website.php');
+require_once(CONST_LibDir.'/ParameterParser.php');
+require_once(CONST_LibDir.'/Status.php');
$oParams = new Nominatim\ParameterParser();
$sOutputFormat = $oParams->getSet('format', array('text', 'json'), 'text');
$oParams = new Nominatim\ParameterParser();
$sOutputFormat = $oParams->getSet('format', array('text', 'json'), 'text');