From 870a3bde3d1fd8fe416b6d1d3dd5e7b92fbde174 Mon Sep 17 00:00:00 2001 From: Jacopo Mondi Date: Tue, 6 Dec 2022 14:02:30 +0100 Subject: android: Allow to override config file path from env The HAL config file is assumed to be in the LIBCAMERA_SYSCONF_DIR directory, which is defined by the meson build system at compile time. As the filesystem layout on Android installations might be device/build specific, allow to override such assumption using the LIBCAMERA_HAL_CONFIG_PATH environment variable and document its usage. While at it, remove quotes from the error message, as the file path doesn't contain any space. Signed-off-by: Jacopo Mondi --- src/android/camera_hal_config.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/android') diff --git a/src/android/camera_hal_config.cpp b/src/android/camera_hal_config.cpp index 0e7cde63..0942263c 100644 --- a/src/android/camera_hal_config.cpp +++ b/src/android/camera_hal_config.cpp @@ -11,6 +11,7 @@ #include #include +#include #include "libcamera/internal/yaml_parser.h" @@ -159,12 +160,16 @@ CameraHalConfig::CameraHalConfig() */ int CameraHalConfig::parseConfigurationFile() { - std::string filePath = LIBCAMERA_SYSCONF_DIR "/camera_hal.yaml"; + const char *configPath = utils::secure_getenv("LIBCAMERA_HAL_CONFIG_PATH"); + if (!configPath) + configPath = LIBCAMERA_SYSCONF_DIR; + std::string filePath(configPath); + filePath += "/camera_hal.yaml"; File file(filePath); if (!file.exists()) { LOG(HALConfig, Debug) - << "Configuration file: \"" << filePath << "\" not found"; + << "Configuration file " << filePath << " not found"; return -ENOENT; } -- cgit v1.2.1