summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksandar Nikolic <aleksandar.nikolic@zeiss.com>2024-06-11 11:25:57 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2024-06-12 16:08:32 +0100
commit062c289efadc355da8c3dc77bc91f1f47b677b68 (patch)
tree9e967cf15dfae8dd0bb1509eecf85eb8813b0734
parentcedb7197cc689c2fc87195697efc01ed784dfce7 (diff)
downloadpoky-062c289efadc355da8c3dc77bc91f1f47b677b68.tar.gz
install-buildtools: fix "test installation" step
The "Test installation" step fails with some harmless error messages (see [1]). This can however make a user think that the buildtools have not been installed correctly. Two reasons for the error messages: - some envvars in the environment-setup-<arch>-pokysdk-linux file start and end with double quotes (e.g., PATH) and are as such written into python os.environ. This leads that their usage is not valid later when testing the installation. This patch removes the double quotes before writing, if they are present. - if installation directory (install_dir), given through the option --directory, is given as a relative path, checking if the path to a tool (e.g., gcc) in buildtools starts it will always fail. This patch converts the install_dir variable to an absolute path. [1] ERROR: Something went wrong: tar not found in ./build-tools ERROR: Something went wrong: installation failed (From OE-Core rev: e4eb0b14ecf9bd2fba13260441c9d86eb348f41e) Signed-off-by: Aleksandar Nikolic <aleksandar.nikolic@zeiss.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rwxr-xr-xscripts/install-buildtools14
1 files changed, 12 insertions, 2 deletions
diff --git a/scripts/install-buildtools b/scripts/install-buildtools
index a34474ea84..4f85fe87d4 100755
--- a/scripts/install-buildtools
+++ b/scripts/install-buildtools
@@ -102,6 +102,16 @@ def sha256_file(filename):
102 import hashlib 102 import hashlib
103 return _hasher(hashlib.sha256(), filename) 103 return _hasher(hashlib.sha256(), filename)
104 104
105def remove_quotes(var):
106 """
107 If a variable starts and ends with double quotes, remove them.
108 Assumption: if a variable starts with double quotes, it must also
109 end with them.
110 """
111 if var[0] == '"':
112 var = var[1:-1]
113 return var
114
105 115
106def main(): 116def main():
107 global DEFAULT_INSTALL_DIR 117 global DEFAULT_INSTALL_DIR
@@ -273,7 +283,7 @@ def main():
273 os.chmod(tmpbuildtools, st.st_mode | stat.S_IEXEC) 283 os.chmod(tmpbuildtools, st.st_mode | stat.S_IEXEC)
274 logger.debug(os.stat(tmpbuildtools)) 284 logger.debug(os.stat(tmpbuildtools))
275 if args.directory: 285 if args.directory:
276 install_dir = args.directory 286 install_dir = os.path.abspath(args.directory)
277 ret = subprocess.call("%s -d %s -y" % 287 ret = subprocess.call("%s -d %s -y" %
278 (tmpbuildtools, install_dir), shell=True) 288 (tmpbuildtools, install_dir), shell=True)
279 else: 289 else:
@@ -294,7 +304,7 @@ def main():
294 if match: 304 if match:
295 env_var = match.group('env_var') 305 env_var = match.group('env_var')
296 logger.debug("env_var: %s" % env_var) 306 logger.debug("env_var: %s" % env_var)
297 env_val = match.group('env_val') 307 env_val = remove_quotes(match.group('env_val'))
298 logger.debug("env_val: %s" % env_val) 308 logger.debug("env_val: %s" % env_val)
299 os.environ[env_var] = env_val 309 os.environ[env_var] = env_val
300 310