summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChangqing Li <changqing.li@windriver.com>2019-01-17 17:49:05 +0800
committerJoshua Watt <JPEWhacker@gmail.com>2019-05-05 13:45:36 -0500
commitd17724b0eac76792a49e56213cba74e32edba48f (patch)
treeeb639585ff3e4ed97f5d03d86f8207cf978f1094
parent10695afe8cd406844e0d0dd868c11677e07557d4 (diff)
testsdk: enhance extract sdk part2.8_M1
Current sdk type is tar.xz, but for mingw sdk, since we have symlink under the sdk folder, 7zip which used to extract tar.xz cannot handle it, refer 7zip upstream bug: https://sourceforge.net/p/sevenzip/discussion/45797/thread/c71d6b96/ so oe-core have add support of change SDK type to .zip, so correct the extract function. Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
-rw-r--r--lib/oeqa/sdkmingw/testsdk.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/oeqa/sdkmingw/testsdk.py b/lib/oeqa/sdkmingw/testsdk.py
index 85fe3c6..173cfd9 100644
--- a/lib/oeqa/sdkmingw/testsdk.py
+++ b/lib/oeqa/sdkmingw/testsdk.py
@@ -12,7 +12,7 @@ class TestSDKMinGW(TestSDK):
"""
Get the name of the SDK file
"""
- return d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.tar.xz")
+ return d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE}")
def extract_sdk(self, tcname, sdk_dir, d):
"""
@@ -23,7 +23,14 @@ class TestSDKMinGW(TestSDK):
try:
# TODO: It would be nice to try and extract the SDK in Wine to make
# sure it is well formed
- subprocess.check_output(['tar', '-xf', tcname, '-C', sdk_dir])
+
+ # TODO: Extract SDK according to SDK_ARCHIVE_TYPE, need to change if
+ # oe-core support other types.
+ if d.getVar("SDK_ARCHIVE_TYPE") == "zip":
+ subprocess.check_output(['unzip', '-d', sdk_dir, tcname])
+ else:
+ subprocess.check_output(['tar', '-xf', tcname, '-C', sdk_dir])
+
except subprocess.CalledProcessError as e:
bb.fatal("Couldn't install the SDK:\n%s" % e.output.decode("utf-8"))