[yocto] [meta-mingw][PATCH V2] testsdk: enhance extract sdk part
Joshua Watt
jpewhacker at gmail.com
Mon Jan 21 06:47:24 PST 2019
Just FYI, I haven't forgot about this patch. I want to wait until the
dependent OE-core patch is at least in the master-next branch before I
apply this to the MinGW master-next branch. If you want to give me a
ping when the OE-core patch shows up in master-next, it would be very
helpful.
Thanks
On Thu, 2019-01-17 at 17:49 +0800, changqing.li at windriver.com wrote:
> From: Changqing Li <changqing.li at 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.li at 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
>
--
Joshua Watt <JPEWhacker at gmail.com>
More information about the yocto
mailing list