Skip to content
Snippets Groups Projects
Commit d6a88c43 authored by Andrei Gherzan's avatar Andrei Gherzan :penguin:
Browse files

weston-init: Add support for a dynamic .ini configuration


This creates a mechanism to generate a dynamic weston.ini configuration
based on build variables.

The entire mechanism is enabled using the WESTON_DYNAMIC_INI variable
(enabled when set to 1).

The default path for the weston.ini configuration is set in
WESTON_INI_PATH as "etc/xdg/weston/weston.ini".

WESTON_INI_NO_TOOLBAR, when set to 1, disables the weston toolbar.

Signed-off-by: Andrei Gherzan's avatarAndrei Gherzan <andrei.gherzan@huawei.com>
parent 94a3d28b
No related branches found
No related tags found
No related merge requests found
WESTON_DYNAMIC_INI ?= "0"
WESTON_INI_PATH ?= "etc/xdg/weston/weston.ini"
WESTON_INI_NO_TOOLBAR ?= "0"
python generate_dynamic_ini() {
import configparser
# Avoid everything if dynamic configuration is not requested .
do = d.getVar('WESTON_DYNAMIC_INI', True)
if do != '1':
bb.note("No dynamic weston.ini configuration requested.")
return
bb.note("Dynamic weston.ini configuration requested.")
config = configparser.ConfigParser()
ini_path = os.path.join(d.getVar('D', True), d.getVar('WESTON_INI_PATH', True))
# Prepopulate an existing configuration.
if os.path.exists(ini_path):
if not os.path.isfile(ini_path):
bb.fatal("weston.ini already exists and it is not a regular file")
config.read(ini_path)
# Handle no toolbar configuration.
if d.getVar('WESTON_INI_NO_TOOLBAR', True) == '1':
bb.note('Handling WESTON_INI_NO_TOOLBAR.')
if 'shell' not in config.sections():
config.add_section('shell')
config.set('shell', 'panel-position', 'none')
# Finally, write the configuration. Keep this at the end.
with open(ini_path, 'w') as init_path_fo:
config.write(init_path_fo, space_around_delimiters=False)
}
do_install[postfuncs] += "generate_dynamic_ini"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment