From: Aleksandar Nikolic <aleksandar.nikolic010@gmail.com>
To: openembedded-core@lists.openembedded.org
Cc: Aleksandar Nikolic <aleksandar.nikolic@zeiss.com>
Subject: [PATCH 2/3] install-buildtools: fix "test installation" step
Date: Tue, 11 Jun 2024 11:25:57 +0200 [thread overview]
Message-ID: <20240611092558.513238-3-an010@live.com> (raw)
In-Reply-To: <20240611092558.513238-1-an010@live.com>
From: Aleksandar Nikolic <aleksandar.nikolic@zeiss.com>
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
Signed-off-by: Aleksandar Nikolic <aleksandar.nikolic@zeiss.com>
---
scripts/install-buildtools | 14 ++++++++++++--
1 file 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):
import hashlib
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():
global DEFAULT_INSTALL_DIR
@@ -273,7 +283,7 @@ def main():
os.chmod(tmpbuildtools, st.st_mode | stat.S_IEXEC)
logger.debug(os.stat(tmpbuildtools))
if args.directory:
- install_dir = args.directory
+ install_dir = os.path.abspath(args.directory)
ret = subprocess.call("%s -d %s -y" %
(tmpbuildtools, install_dir), shell=True)
else:
@@ -294,7 +304,7 @@ def main():
if match:
env_var = match.group('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)
os.environ[env_var] = env_val
--
2.25.1
next prev parent reply other threads:[~2024-06-11 9:26 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-11 9:25 [PATCH 0/3] Improve the install-buildtools script Aleksandar Nikolic
2024-06-11 9:25 ` [PATCH 1/3] install-buildtools: remove md5 checksum validation Aleksandar Nikolic
2024-06-11 9:25 ` Aleksandar Nikolic [this message]
2024-06-11 9:25 ` [PATCH 3/3] install-buildtools: update base-url, release and installer version Aleksandar Nikolic
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240611092558.513238-3-an010@live.com \
--to=aleksandar.nikolic010@gmail.com \
--cc=aleksandar.nikolic@zeiss.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox