From: Changqing Li <changqing...@windriver.com> 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...@windriver.com> --- lib/oeqa/sdkmingw/testsdk.py | 11 +++++++++-- 1 file 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")) -- 2.7.4 -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto