]> git.openstreetmap.org Git - nominatim.git/commitdiff
introduce constant for configuration directory
authorSarah Hoffmann <lonvia@denofr.de>
Tue, 9 Feb 2021 17:45:45 +0000 (18:45 +0100)
committerSarah Hoffmann <lonvia@denofr.de>
Tue, 9 Feb 2021 17:45:45 +0000 (18:45 +0100)
This replaces {data_dir}/settings throughout the code, so that
the configuration may be placed somewhere else in the directory
structure (e.g. in /etc).

cmake/script.tmpl
cmake/tool.tmpl
lib-php/dotenv_loader.php
lib-php/lib.php
lib-php/setup_functions.php
nominatim/cli.py
nominatim/tools/exec_utils.py
test/bdd/steps/nominatim_environment.py

index f0fa2118942e36f4d3aba50e4f7bdef72f16844d..053e94ae5ac79001f5cac885d69efb172710c7bf 100755 (executable)
@@ -7,6 +7,7 @@ require('@CMAKE_SOURCE_DIR@/lib-php/dotenv_loader.php');
 @define('CONST_BinDir', '@CMAKE_SOURCE_DIR@/utils');
 @define('CONST_DataDir', '@CMAKE_SOURCE_DIR@');
 @define('CONST_SqlDir', '@CMAKE_SOURCE_DIR@/lib-sql');
+@define('CONST_ConfigDir', '@CMAKE_SOURCE_DIR@/settings');
 
 loadDotEnv();
 $_SERVER['NOMINATIM_NOMINATIM_TOOL'] = '@CMAKE_BINARY_DIR@/nominatim';
index 76f80924c3a041e3a1ac6147c44a8d52ffca9a55..9823c75fb98ff61f2f00dcae21bcc057b0f83f64 100755 (executable)
@@ -13,4 +13,5 @@ exit(cli.nominatim(module_dir='@CMAKE_BINARY_DIR@/module',
                    phplib_dir='@CMAKE_SOURCE_DIR@/lib-php',
                    sqllib_dir='@CMAKE_SOURCE_DIR@/lib-sql',
                    data_dir='@CMAKE_SOURCE_DIR@',
+                   config_dir='@CMAKE_SOURCE_DIR@/settings',
                    phpcgi_path='@PHPCGI_BIN@'))
index 919891a0d2b476a146522f3c80af4461124200db..35471fdc4aecbd74d725f71690f1beb8191eaa6e 100644 (file)
@@ -5,7 +5,7 @@ require('Symfony/Component/Dotenv/autoload.php');
 function loadDotEnv()
 {
     $dotenv = new \Symfony\Component\Dotenv\Dotenv();
-    $dotenv->load(CONST_DataDir.'/settings/env.defaults');
+    $dotenv->load(CONST_ConfigDir.'/env.defaults');
 
     if (file_exists('.env')) {
         $dotenv->load('.env');
index 04b9bf86b1634e24c7f8a08d05b13536647733a0..c75bf00abeb9e7851e14d371015a341c52a4554b 100644 (file)
@@ -9,6 +9,7 @@ function loadSettings($sProjectDir)
     defined('CONST_DataDir') or define('CONST_DataDir', $_SERVER['NOMINATIM_DATADIR']);
     defined('CONST_BinDir') or define('CONST_BinDir', $_SERVER['NOMINATIM_BINDIR']);
     defined('CONST_SqlDir') or define('CONST_SqlDir', $_SERVER['NOMINATIM_SQLDIR']);
+    defined('CONST_ConfigDir') or define('CONST_ConfigDir', $_SERVER['NOMINATIM_CONFIGDIR']);
     defined('CONST_Default_ModulePath') or define('CONST_Default_ModulePath', $_SERVER['NOMINATIM_DATABASE_MODULE_SRC_PATH']);
 }
 
@@ -37,7 +38,7 @@ function getSettingConfig($sConfName, $sSystemConfig)
     $sValue = $_SERVER['NOMINATIM_'.$sConfName];
 
     if (!$sValue) {
-        return CONST_DataDir.'/settings/'.$sSystemConfig;
+        return CONST_ConfigDir.'/'.$sSystemConfig;
     }
 
     return $sValue;
index dc84cf92852df0a98765cad45f2adfd39d261571..c89db534c2e41cca9f0c82bf4640cb268b2f407e 100755 (executable)
@@ -27,7 +27,7 @@ function getImportStyle()
     $sStyle = getSetting('IMPORT_STYLE');
 
     if (in_array($sStyle, array('admin', 'street', 'address', 'full', 'extratags'))) {
-        return CONST_DataDir.'/settings/import-'.$sStyle.'.style';
+        return CONST_ConfigDir.'/import-'.$sStyle.'.style';
     }
 
     return $sStyle;
index 784250e8f6272b489afd26ce0a8c4771c7ce85a5..8cb73a8ecda425395d06e325f21ae806b549a6ff 100644 (file)
@@ -69,7 +69,7 @@ class CommandlineParser:
             return 1
 
         for arg in ('module_dir', 'osm2pgsql_path', 'phplib_dir', 'sqllib_dir',
-                    'data_dir', 'phpcgi_path'):
+                    'data_dir', 'config_dir', 'phpcgi_path'):
             setattr(args, arg, Path(kwargs[arg]))
         args.project_dir = Path(args.project_dir).resolve()
 
@@ -78,7 +78,7 @@ class CommandlineParser:
                             datefmt='%Y-%m-%d %H:%M:%S',
                             level=max(4 - args.verbose, 1) * 10)
 
-        args.config = Configuration(args.project_dir, args.data_dir / 'settings')
+        args.config = Configuration(args.project_dir, args.config_dir)
 
         log = logging.getLogger()
         log.warning('Using project directory: %s', str(args.project_dir))
index 502fb4fe454ec4f143983fb82fd69c48e57320a5..23dd8a1de2534292ad4d61b2373405fba5c5b126 100644 (file)
@@ -27,6 +27,7 @@ def run_legacy_script(script, *args, nominatim_env=None, throw_on_fail=False):
     env['NOMINATIM_DATADIR'] = str(nominatim_env.data_dir)
     env['NOMINATIM_BINDIR'] = str(nominatim_env.data_dir / 'utils')
     env['NOMINATIM_SQLDIR'] = str(nominatim_env.sqllib_dir)
+    env['NOMINATIM_CONFIGDIR'] = str(nominatim_env.config_dir)
     env['NOMINATIM_DATABASE_MODULE_SRC_PATH'] = nominatim_env.module_dir
     if not env['NOMINATIM_OSM2PGSQL_BINARY']:
         env['NOMINATIM_OSM2PGSQL_BINARY'] = nominatim_env.osm2pgsql_path
index 6dcaf64a674f9f302576827a7153caba43861192..7032553624e9c146cf945b72961a6b56acf5a91a 100644 (file)
@@ -89,6 +89,7 @@ class NominatimEnvironment:
         self.test_env['NOMINATIM_USE_US_TIGER_DATA'] = 'yes'
         self.test_env['NOMINATIM_DATADIR'] = self.src_dir
         self.test_env['NOMINATIM_SQLDIR'] = self.src_dir / 'lib-sql'
+        self.test_env['NOMINATIM_CONFIGDIR'] = self.src_dir / 'settings'
         self.test_env['NOMINATIM_BINDIR'] = self.src_dir / 'utils'
         self.test_env['NOMINATIM_DATABASE_MODULE_SRC_PATH'] = self.build_dir / 'module'
         self.test_env['NOMINATIM_OSM2PGSQL_BINARY'] = self.build_dir / 'osm2pgsql' / 'osm2pgsql'