In the current implementation of the HashMap parsing of the source
script only the last $PATH export is considered, which leads to
issues in the case of eSDK.

By concatenating the new value with HashMap values from previous
iterations we make sure that previous exports are not lost.

[YOCTO #9361]

Signed-off-by: Adrian Dudau <adrian.du...@enea.com>
---
 .../src/org/yocto/sdk/ide/utils/YoctoSDKUtils.java                 | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git 
a/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/utils/YoctoSDKUtils.java 
b/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/utils/YoctoSDKUtils.java
index 6afc185..5fe74a5 100644
--- a/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/utils/YoctoSDKUtils.java
+++ b/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/utils/YoctoSDKUtils.java
@@ -223,9 +223,12 @@ public class YoctoSDKUtils {
                                                if (sValue.startsWith("\"") && 
sValue.endsWith("\""))
                                                        sValue = 
sValue.substring(sValue.indexOf('"') + 1, sValue.lastIndexOf('"'));
                                                /* If PATH ending with $PATH, 
we need to join with current system path */
-                                               if 
(sKey.equalsIgnoreCase("PATH")) {
-                                                       if 
(sValue.lastIndexOf("$PATH") >= 0)
+                                               if 
(sKey.equalsIgnoreCase("PATH") && (sValue.lastIndexOf("$PATH") >= 0)) {
+                                                       if 
(envMap.containsKey(sKey)) {
+                                                               sValue = 
sValue.substring(0, sValue.lastIndexOf("$PATH")) + envMap.get(sKey);
+                                                       } else {
                                                                sValue = 
sValue.substring(0, sValue.lastIndexOf("$PATH")) + System.getenv("PATH");
+                                                       }
                                                }
 
                                                
if(sValue.toUpperCase().contains("$SDKTARGETSYSROOT")) {
-- 
1.9.1

-- 
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to