# **************************************************************************/
import os
+import sys
import json
import logging
import inspect
import fnmatch
import argparse
import subprocess
+import re
PARSER = argparse.ArgumentParser(
description='Lists available and installed SDKs')
SDK_ROOT_DIR = None
for elt in ENV:
- k, v = elt.decode().split('=', 1)
- if k == 'SDK_ROOT_DIR':
- SDK_ROOT_DIR = v.rstrip('/')
- elif k == 'SDK_ENV_SETUP_FILENAME':
- SDK_ENV_SETUP_FILENAME = v
+ #only match what defines a variable
+ z = re.match(r"^(\w+)=([^']*)$", elt.decode())
+ if z:
+ k = z.group(1)
+ v = z.group(2)
+ if k == 'SDK_ROOT_DIR':
+ SDK_ROOT_DIR = v.rstrip('/')
+ elif k == 'SDK_ENV_SETUP_FILENAME':
+ SDK_ENV_SETUP_FILENAME = v
if SDK_ROOT_DIR is None:
logging.error('No SDK_ROOT_DIR environment variable found.')
if sdk['profile'] == PROFILE and sdk['version'] == VERSION and sdk['arch'] == ARCH:
if sdk['status'] == 'Installed':
continue
+ # Additional verification based on url used to generate UUID (see also same logic in add script)
+ if sdk['url'] != '':
+ try:
+ ps = subprocess.Popen(('echo', sdk['url']), stdout=subprocess.PIPE)
+ uuid_md5 = subprocess.check_output(('md5sum'), stdin=ps.stdout)
+ ps.wait()
+ if str(uuid_md5).split(' ')[0][2:] != UUID:
+ continue
+ except:
+ e = sys.exc_info()[0]
+ logging.error("Error while checking UUID: " % e)
+
found = True
sdk['status'] = 'Installed'
sdk['date'] = SDK_DATE