summaryrefslogtreecommitdiff
path: root/poky/scripts/install-buildtools
diff options
context:
space:
mode:
Diffstat (limited to 'poky/scripts/install-buildtools')
-rwxr-xr-xpoky/scripts/install-buildtools47
1 files changed, 25 insertions, 22 deletions
diff --git a/poky/scripts/install-buildtools b/poky/scripts/install-buildtools
index 2218f3ffac..a449e45cff 100755
--- a/poky/scripts/install-buildtools
+++ b/poky/scripts/install-buildtools
@@ -56,9 +56,9 @@ PROGNAME = 'install-buildtools'
logger = scriptutils.logger_create(PROGNAME, stream=sys.stdout)
DEFAULT_INSTALL_DIR = os.path.join(os.path.split(scripts_path)[0],'buildtools')
-DEFAULT_BASE_URL = 'http://downloads.yoctoproject.org/releases/yocto'
-DEFAULT_RELEASE = 'yocto-4.1'
-DEFAULT_INSTALLER_VERSION = '4.1'
+DEFAULT_BASE_URL = 'https://downloads.yoctoproject.org/releases/yocto'
+DEFAULT_RELEASE = 'yocto-5.0.12'
+DEFAULT_INSTALLER_VERSION = '5.0.12'
DEFAULT_BUILDDATE = '202110XX'
# Python version sanity check
@@ -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
@@ -238,19 +248,15 @@ def main():
# Verify checksum
if args.check:
logger.info("Fetching buildtools installer checksum")
- checksum_type = ""
- for checksum_type in ["md5sum", "sha256sum"]:
- check_url = "{}.{}".format(buildtools_url, checksum_type)
- checksum_filename = "{}.{}".format(filename, checksum_type)
- tmpbuildtools_checksum = os.path.join(tmpsdk_dir, checksum_filename)
- ret = subprocess.call("wget -q -O %s %s" %
- (tmpbuildtools_checksum, check_url), shell=True)
- if ret == 0:
- break
- else:
- if ret != 0:
- logger.error("Could not download file from %s" % check_url)
- return ret
+ checksum_type = "sha256sum"
+ check_url = "{}.{}".format(buildtools_url, checksum_type)
+ checksum_filename = "{}.{}".format(filename, checksum_type)
+ tmpbuildtools_checksum = os.path.join(tmpsdk_dir, checksum_filename)
+ ret = subprocess.call("wget -q -O %s %s" %
+ (tmpbuildtools_checksum, check_url), shell=True)
+ if ret != 0:
+ logger.error("Could not download file from %s" % check_url)
+ return ret
regex = re.compile(r"^(?P<checksum>[0-9a-f]+)\s+(?P<path>.*/)?(?P<filename>.*)$")
with open(tmpbuildtools_checksum, 'rb') as f:
original = f.read()
@@ -263,10 +269,7 @@ def main():
logger.error("Filename does not match name in checksum")
return 1
checksum = m.group('checksum')
- if checksum_type == "md5sum":
- checksum_value = md5_file(tmpbuildtools)
- else:
- checksum_value = sha256_file(tmpbuildtools)
+ checksum_value = sha256_file(tmpbuildtools)
if checksum == checksum_value:
logger.info("Checksum success")
else:
@@ -280,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:
@@ -301,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