Skip to content
Snippets Groups Projects
Commit af57ddf8 authored by Aleksandar Nikolic's avatar Aleksandar Nikolic Committed by Steve Sakoman
Browse files

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: 69dfedfa7ee8cf1666e1292ef25028b978131fe0)

Signed-off-by: default avatarAleksandar Nikolic <aleksandar.nikolic@zeiss.com>
Signed-off-by: default avatarRichard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e4eb0b14ecf9bd2fba13260441c9d86eb348f41e)
Signed-off-by: default avatarAleksandar Nikolic <aleksandar.nikolic@zeiss.com>
Signed-off-by: default avatarSteve Sakoman <steve@sakoman.com>
parent 71ef9f95
No related branches found
No related tags found
No related merge requests found
...@@ -102,6 +102,16 @@ def sha256_file(filename): ...@@ -102,6 +102,16 @@ def sha256_file(filename):
import hashlib import hashlib
return _hasher(hashlib.sha256(), filename) return _hasher(hashlib.sha256(), filename)
def remove_quotes(var):
"""
If a variable starts and ends with double quotes, remove them.
Assumption: if a variable starts with double quotes, it must also
end with them.
"""
if var[0] == '"':
var = var[1:-1]
return var
def main(): def main():
global DEFAULT_INSTALL_DIR global DEFAULT_INSTALL_DIR
...@@ -273,7 +283,7 @@ def main(): ...@@ -273,7 +283,7 @@ def main():
os.chmod(tmpbuildtools, st.st_mode | stat.S_IEXEC) os.chmod(tmpbuildtools, st.st_mode | stat.S_IEXEC)
logger.debug(os.stat(tmpbuildtools)) logger.debug(os.stat(tmpbuildtools))
if args.directory: if args.directory:
install_dir = args.directory install_dir = os.path.abspath(args.directory)
ret = subprocess.call("%s -d %s -y" % ret = subprocess.call("%s -d %s -y" %
(tmpbuildtools, install_dir), shell=True) (tmpbuildtools, install_dir), shell=True)
else: else:
...@@ -294,7 +304,7 @@ def main(): ...@@ -294,7 +304,7 @@ def main():
if match: if match:
env_var = match.group('env_var') env_var = match.group('env_var')
logger.debug("env_var: %s" % env_var) logger.debug("env_var: %s" % env_var)
env_val = match.group('env_val') env_val = remove_quotes(match.group('env_val'))
logger.debug("env_val: %s" % env_val) logger.debug("env_val: %s" % env_val)
os.environ[env_var] = env_val os.environ[env_var] = env_val
......
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