From f2a8f79c0257f35af75c61ecd9f7fd4266f72513 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Pouiller?= Date: Wed, 19 Nov 2014 22:30:34 +0100 Subject: [PATCH] freescale-imx: Add helper to extract self-extractible binaries MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit [Thomas: - reword the comment of the new macro, and add details about the expected arguments, as suggested by Yann E. Morin. - rework the logic to move the files in $(@D), as it was simply not working in the original patch. $(basename $(1)) was used to get the filename without the extension, but it also contains the full path. $(basename $(notdir $(1))) is needed.] Signed-off-by: Jérôme Pouiller Reviewed-by: "Yann E. MORIN" Signed-off-by: Thomas Petazzoni --- package/freescale-imx/freescale-imx.mk | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/package/freescale-imx/freescale-imx.mk b/package/freescale-imx/freescale-imx.mk index c52fc1169e..64f3b6b571 100644 --- a/package/freescale-imx/freescale-imx.mk +++ b/package/freescale-imx/freescale-imx.mk @@ -7,4 +7,29 @@ FREESCALE_IMX_VERSION = 3.10.17-1.0.0 FREESCALE_IMX_SITE = http://www.freescale.com/lgfiles/NMG/MAD/YOCTO +# Helper for self-extracting binaries distributed by Freescale. +# +# The --force option makes sure it doesn't fail if the source +# directory already exists. The --auto-accept skips the license check, +# as it is not needed in Buildroot because we have legal-info. Since +# there's a EULA in the binary file, we extract it in this macro, and +# it should therefore be added to the LICENSE_FILES variable of +# packages using this macro. Also, remember to set REDISTRIBUTE to +# "NO". Indeed, this is a legal minefield: the EULA specifies that the +# Board Support Package includes software and hardware (sic!) for +# which a separate license is needed... +# +# $(1): full path to the archive file +# +define FREESCALE_IMX_EXTRACT_HELPER + awk 'BEGIN { start = 0; } \ + /^EOEULA/ { start = 0; } \ + { if (start) print; } \ + /< $(@D)/EULA + cd $(@D) && sh $(1) --force --auto-accept + find $(@D)/$(basename $(notdir $(1))) -mindepth 1 -maxdepth 1 -exec mv {} $(@D) \; + rmdir $(@D)/$(basename $(notdir $(1))) +endef + include $(sort $(wildcard package/freescale-imx/*/*.mk)) -- 2.30.2