diff options
author | Stephan Bergmann <stephan.bergmann@allotropia.de> | 2024-01-16 14:41:21 +0100 |
---|---|---|
committer | Stephan Bergmann <stephan.bergmann@allotropia.de> | 2024-02-12 19:02:13 +0100 |
commit | 8b53fa726e0d496f18228b0ca9ce2f61196f6a57 (patch) | |
tree | 6d18a6ded77bc702e19e27497877bdc906bd4859 /include | |
parent | b663d94cf67a5af4fd89c1ac8bdffd6059f6bf85 (diff) |
Introduce a fundamental.override.ini for bootstrap variables
...that is looked for next to the application and, when present, overrides all
the other ways of setting bootstrap variables. LibreOffice itself does not
bring along such a fundamental.override.ini, but it can be convenient for an
administrator to place one in the installation (which can then not be modified
or overridden by end users).
(For convenience, the naming of this ini-file starts to deviate from the old and
rather pointless tradition of naming our ini-files *rc vs. *.ini on different
platforms.)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162187
Tested-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
(cherry picked from commit f4d376e9a10a8c66f7f6ecfe6a1f4763c1927b52)
Conflicts:
sal/rtl/bootstrap.cxx
Change-Id: I057cc67b1af1d806587c3a4dc0bc31c28e79d22b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163251
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Diffstat (limited to 'include')
-rw-r--r-- | include/rtl/bootstrap.h | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/include/rtl/bootstrap.h b/include/rtl/bootstrap.h index e532cd0e3dac..b4d85305987b 100644 --- a/include/rtl/bootstrap.h +++ b/include/rtl/bootstrap.h @@ -45,27 +45,29 @@ extern "C" { the next level is tried. Every query starts at the first level again, so that one setting may be taken from the 3rd and one from the 1st level. - 1st level: explicitly set variables via rtl_bootstrap_set() + 1st level: a fundamental.override.ini next to the application - 2nd level: command line arguments. A `-env:SETTINGNAME=value` is given on + 2nd level: explicitly set variables via rtl_bootstrap_set() + + 3rd level: command line arguments. A `-env:SETTINGNAME=value` is given on command line. This allows giving an application a certain setting, even if an ini-file exists (especially useful for e.g. daemons that want to start an executable with dynamical changing settings). - 3rd level: environment variables. The application tries to get the + 4th level: environment variables. The application tries to get the setting from the environment. - 4th level: executable ini-file. Every application looks for an ini-file. + 5th level: executable ini-file. Every application looks for an ini-file. The filename defaults to `/absolute/path/to/executable[rc|.ini]` without .bin or .exe suffix. The ini-filename can be set by the special command line parameter `-env:INIFILENAME=/absolute/path/to/inifile` at runtime or it may be set at compile time by an API-call. - 5th level: URE_BOOTSTRAP ini-file. If the bootstrap variable URE_BOOTSTRAP + 6th level: URE_BOOTSTRAP ini-file. If the bootstrap variable URE_BOOTSTRAP expands to the URL of an ini-file, that ini-file is searched. - 6th level: default. An application can have some default settings decided + 7th level: default. An application can have some default settings decided at compile time, which allow the application to run even with no deployment settings. |