[libcamera-devel,v3,2/6] libcamera: ipa_proxy: rearrange proxies precedence

Message ID 20200318115846.7975-3-kgupta@es.iitr.ac.in
State Superseded
Headers show
Series
  • libcamera: determine IPA_PROXY_PATH at runtime
Related show

Commit Message

Kaaira Gupta March 18, 2020, 11:58 a.m. UTC
User environment path in LIBCAMERA_IPA_PROXY_PATH should take precedence
over system loading locations. Change precedence accordingly

Signed-off-by: Kaaira Gupta <kgupta@es.iitr.ac.in>
---
 src/libcamera/ipa_proxy.cpp | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

Comments

Kieran Bingham March 18, 2020, 12:16 p.m. UTC | #1
Hi Kaaira,

On 18/03/2020 11:58, Kaaira Gupta wrote:
> User environment path in LIBCAMERA_IPA_PROXY_PATH should take precedence
> over system loading locations. Change precedence accordingly
> 

Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>

> Signed-off-by: Kaaira Gupta <kgupta@es.iitr.ac.in>
> ---
>  src/libcamera/ipa_proxy.cpp | 11 ++++++-----
>  1 file changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/src/libcamera/ipa_proxy.cpp b/src/libcamera/ipa_proxy.cpp
> index c7347c8..b409e1d 100644
> --- a/src/libcamera/ipa_proxy.cpp
> +++ b/src/libcamera/ipa_proxy.cpp
> @@ -75,13 +75,9 @@ IPAProxy::~IPAProxy()
>   */
>  std::string IPAProxy::resolvePath(const std::string &file) const
>  {
> -	/* Try finding the exec target from the install directory first */
>  	std::string proxyFile = "/" + file;
> -	std::string proxyPath = std::string(IPA_PROXY_DIR) + proxyFile;
> -	if (!access(proxyPath.c_str(), X_OK))
> -		return proxyPath;
>  
> -	/* No exec target in install directory; check env variable. */
> +	/* Check env variable first. */
>  	const char *execPaths = utils::secure_getenv("LIBCAMERA_IPA_PROXY_PATH");
>  	if (execPaths) {
>  		for (const auto &dir : utils::split(execPaths, ":")) {
> @@ -95,6 +91,11 @@ std::string IPAProxy::resolvePath(const std::string &file) const
>  		}
>  	}
>  
> +	/* Try finding the exec target from the install directory. */
> +	std::string proxyPath = std::string(IPA_PROXY_DIR) + proxyFile;
> +	if (!access(proxyPath.c_str(), X_OK))
> +		return proxyPath;
> +
>  	return std::string();
>  }
>  
>

Patch

diff --git a/src/libcamera/ipa_proxy.cpp b/src/libcamera/ipa_proxy.cpp
index c7347c8..b409e1d 100644
--- a/src/libcamera/ipa_proxy.cpp
+++ b/src/libcamera/ipa_proxy.cpp
@@ -75,13 +75,9 @@  IPAProxy::~IPAProxy()
  */
 std::string IPAProxy::resolvePath(const std::string &file) const
 {
-	/* Try finding the exec target from the install directory first */
 	std::string proxyFile = "/" + file;
-	std::string proxyPath = std::string(IPA_PROXY_DIR) + proxyFile;
-	if (!access(proxyPath.c_str(), X_OK))
-		return proxyPath;
 
-	/* No exec target in install directory; check env variable. */
+	/* Check env variable first. */
 	const char *execPaths = utils::secure_getenv("LIBCAMERA_IPA_PROXY_PATH");
 	if (execPaths) {
 		for (const auto &dir : utils::split(execPaths, ":")) {
@@ -95,6 +91,11 @@  std::string IPAProxy::resolvePath(const std::string &file) const
 		}
 	}
 
+	/* Try finding the exec target from the install directory. */
+	std::string proxyPath = std::string(IPA_PROXY_DIR) + proxyFile;
+	if (!access(proxyPath.c_str(), X_OK))
+		return proxyPath;
+
 	return std::string();
 }