diff mbox

[V4,2/2] i.MX: Update versions to match latest Freescale release

Message ID 1381287931-7070-3-git-send-email-eric.nelson@boundarydevices.com
State Superseded
Headers show

Commit Message

Eric Nelson Oct. 9, 2013, 3:05 a.m. UTC
Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
---
V4 addresses comments from Arnout Vandecappelle:
	- Reworks license statement and extracts EULA for imx-lib
	- Adds comment about AUTORECONF to libfslparser
	- Adds EULA to LIBFSLVPUWRAP_LICENSE_FILES

 package/freescale-imx/freescale-imx.mk             |  6 ++----
 .../gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk           |  6 +++++-
 package/freescale-imx/imx-lib/imx-lib.mk           | 22 ++++++++++++++++++++--
 .../gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk   |  2 +-
 package/libfslcodec/libfslcodec.mk                 |  2 +-
 package/libfslparser/libfslparser.mk               |  7 ++++++-
 package/libfslvpuwrap/libfslvpuwrap.mk             | 22 ++++++++++++++++++++--
 7 files changed, 55 insertions(+), 12 deletions(-)

Comments

Yann E. MORIN Feb. 12, 2014, 6:23 p.m. UTC | #1
Eric, All,

On 2013-10-08 20:05 -0700, Eric Nelson spake thusly:
> Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
[--SNIP--]
> diff --git a/package/freescale-imx/freescale-imx.mk b/package/freescale-imx/freescale-imx.mk
> index 0dd5629..39ffa8a 100644
> --- a/package/freescale-imx/freescale-imx.mk
> +++ b/package/freescale-imx/freescale-imx.mk
> @@ -4,9 +4,7 @@
>  #
>  ################################################################################
>  
> -FREESCALE_IMX_VERSION = 1.1.0
> -
> -# No official download site from freescale, just this mirror
> -FREESCALE_IMX_SITE   = http://download.ossystems.com.br/bsp/freescale/source
> +FREESCALE_IMX_VERSION = 3.5.7-1.0.0
> +FREESCALE_IMX_SITE    = http://www.freescale.com/lgfiles/NMG/MAD/YOCTO/

It looks like this site is no longer valid. The webpage states:

    The system is currently unavailable.

And trying to retrieve any tarball from there result in a 404:

    $ wget 'http://www.freescale.com/lgfiles/NMG/MAD/YOCTO/gpu-viv-bin-mx6q-3.5.7-1.0.0.bin'
    HTTP request sent, awaiting response... 404 Not Found

While the previous 'mirror' still works, and has all the referenced
tarballs.

So, maybe keep the mirror for now?

Otherwise, I was about to send such a bump-patch. You beat me to it (by
a large margin, at that!).

Regards,
Yann E. MORIN.
Yann E. MORIN Feb. 12, 2014, 6:27 p.m. UTC | #2
Eric, All,

On 2014-02-12 19:23 +0100, Yann E. MORIN spake thusly:
> On 2013-10-08 20:05 -0700, Eric Nelson spake thusly:
> > Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
> [--SNIP--]
> > diff --git a/package/freescale-imx/freescale-imx.mk b/package/freescale-imx/freescale-imx.mk
> > index 0dd5629..39ffa8a 100644
> > --- a/package/freescale-imx/freescale-imx.mk
> > +++ b/package/freescale-imx/freescale-imx.mk
> > @@ -4,9 +4,7 @@
> >  #
> >  ################################################################################
> >  
> > -FREESCALE_IMX_VERSION = 1.1.0
> > -
> > -# No official download site from freescale, just this mirror
> > -FREESCALE_IMX_SITE   = http://download.ossystems.com.br/bsp/freescale/source
> > +FREESCALE_IMX_VERSION = 3.5.7-1.0.0
> > +FREESCALE_IMX_SITE    = http://www.freescale.com/lgfiles/NMG/MAD/YOCTO/
> 
> It looks like this site is no longer valid. The webpage states:
> 
>     The system is currently unavailable.
> 
> And trying to retrieve any tarball from there result in a 404:
> 
>     $ wget 'http://www.freescale.com/lgfiles/NMG/MAD/YOCTO/gpu-viv-bin-mx6q-3.5.7-1.0.0.bin'
>     HTTP request sent, awaiting response... 404 Not Found

OK, bear with me, I made a typo when copy-pasting the tarball name: I
forgot to append either -sfp or -hfp. With that added, the tarball
downloads OK.

So, forget my previous mail.  I'll do another pass at testing this better.

Sorry for the noise. :-(

Regards,
Yann E. MORIN.
Yann E. MORIN Feb. 12, 2014, 7:03 p.m. UTC | #3
Eric, All,

A (hopefully!) better review this time...

On 2013-10-08 20:05 -0700, Eric Nelson spake thusly:
> Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
[--SNIP--]
> diff --git a/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk b/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
> index 8e979ee..e799fd2 100644
> --- a/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
> +++ b/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
> @@ -4,7 +4,11 @@
>  #
>  ################################################################################
>  
> -GPU_VIV_BIN_MX6Q_VERSION = $(FREESCALE_IMX_VERSION)
> +ifeq ($(BR2_ARM_EABIHF),y)
> +GPU_VIV_BIN_MX6Q_VERSION = $(FREESCALE_IMX_VERSION)-hfp
> +else
> +GPU_VIV_BIN_MX6Q_VERSION = $(FREESCALE_IMX_VERSION)-sfp
> +endif
>  GPU_VIV_BIN_MX6Q_SITE    = $(FREESCALE_IMX_SITE)
>  GPU_VIV_BIN_MX6Q_SOURCE  = gpu-viv-bin-mx6q-$(GPU_VIV_BIN_MX6Q_VERSION).bin

I think we should make the source conditional on BR2_ARM_EABIHF, not the
version:

    GPU_VIV_BIN_MX6Q_VERSION = $(FREESCALE_IMX_VERSION)
    ifeq ($(BR2_ARM_EABIHF),y)
    GPU_VIV_BIN_MX6Q_SOURCE  = gpu-viv-bin-mx6q-$(GPU_VIV_BIN_MX6Q_VERSION)-hfp.bin
    else
    GPU_VIV_BIN_MX6Q_SOURCE  = gpu-viv-bin-mx6q-$(GPU_VIV_BIN_MX6Q_VERSION)-sfp.bin
    endif

> diff --git a/package/freescale-imx/imx-lib/imx-lib.mk b/package/freescale-imx/imx-lib/imx-lib.mk
> index e1a68ef..2edfc06 100644
> --- a/package/freescale-imx/imx-lib/imx-lib.mk
> +++ b/package/freescale-imx/imx-lib/imx-lib.mk
> @@ -6,8 +6,9 @@
>  
>  IMX_LIB_VERSION = $(FREESCALE_IMX_VERSION)
>  IMX_LIB_SITE    = $(FREESCALE_IMX_SITE)
> -IMX_LIB_LICENSE = LGPLv2.1+
> -# No license file included
> +IMX_LIB_LICENSE = IMX_LIB_LICENSE = Freescale Semiconductor Software License Agreement (vpu), LGPLv2.1+ (the rest)

Double IMX_LIB_LICENSE there.

This is a rather long license name. What about:

    IMX_LIB_LICENSE = Freescale License (vpu), LGPLv2.1+ (the rest)

> +IMX_LIB_LICENSE_FILES = EULA
> +IMX_LIB_SOURCE = imx-lib-$(IMX_LIB_VERSION).bin
>  
>  IMX_LIB_INSTALL_STAGING = YES
>  
> @@ -25,6 +26,23 @@ IMX_LIB_MAKE_ENV = \
>  	PLATFORM=$(BR2_PACKAGE_IMX_LIB_PLATFORM) \
>  	INCLUDE="$(IMX_LIB_INCLUDE)"
>  
> +# The archive is a shell-self-extractor of a bzipped tar. It happens
> +# to extract in the correct directory (imx-lib-x.y.z)
> +# The --force makes sure it doesn't fail if the source dir already exists.
> +# The --auto-accept skips the license check - not needed for us
> +# because we have legal-info
> +# Since there's a EULA in the bin file, extract it to imx-lib-x.y.z/EULA
> +#
> +define IMX_LIB_EXTRACT_CMDS
> +	awk 'BEGIN      { start=0; } \
> +	     /^EOEULA/  { start = 0; } \
> +	                { if (start) print; } \
> +	     /<<EOEULA/ { start=1; }'\
> +	    $(DL_DIR)/$(IMX_LIB_SOURCE) > $(@D)/EULA
> +	cd $(BUILD_DIR); \
> +	sh $(DL_DIR)/$(IMX_LIB_SOURCE) --force --auto-accept
> +endef

    $ make imx-lib-extract
    [...]
    Unpacking file mkdir: cannot create directory ‘imx-lib-3.5.7-1.0.0’:
    File exists

This is only a warning, but still: maybe extract the EULA _after_
unpacking the archive?

> diff --git a/package/libfslparser/libfslparser.mk b/package/libfslparser/libfslparser.mk
> index 3aab3a7..d49c95c 100644
> --- a/package/libfslparser/libfslparser.mk
> +++ b/package/libfslparser/libfslparser.mk
> @@ -4,7 +4,7 @@
>  #
>  ################################################################################
>  
> -LIBFSLPARSER_VERSION = 3.0.1
> +LIBFSLPARSER_VERSION = $(FREESCALE_IMX_VERSION)
>  LIBFSLPARSER_SITE = $(FREESCALE_IMX_SITE)
>  LIBFSLPARSER_SOURCE = libfslparser-$(LIBFSLPARSER_VERSION).bin
>  LIBFSLPARSER_LICENSE = Freescale Semiconductor Software License Agreement
> @@ -36,4 +36,9 @@ endef
>  # The Makefile installs several versions of the libraries, but we only
>  # need one of them, depending on the platform.
>  
> +#
> +# without AUTORECONF, configure fails to find install-sh.
> +#

No need for leading/trailing comment lines, just the line with the
actual comment.

> diff --git a/package/libfslvpuwrap/libfslvpuwrap.mk b/package/libfslvpuwrap/libfslvpuwrap.mk
> index 346a20a..e93d761 100644
> --- a/package/libfslvpuwrap/libfslvpuwrap.mk
> +++ b/package/libfslvpuwrap/libfslvpuwrap.mk
> @@ -4,14 +4,32 @@
>  #
>  ################################################################################
>  
> -LIBFSLVPUWRAP_VERSION = 1.0.17
> +LIBFSLVPUWRAP_VERSION = $(FREESCALE_IMX_VERSION)
>  LIBFSLVPUWRAP_SITE = $(FREESCALE_IMX_SITE)
> +LIBFSLVPUWRAP_SOURCE = libfslvpuwrap-$(LIBFSLVPUWRAP_VERSION).bin
>  LIBFSLVPUWRAP_LICENSE = Freescale Semiconductor Software License Agreement
> -LIBFSLVPUWRAP_LICENSE_FILES = EULA.txt
> +LIBFSLVPUWRAP_LICENSE_FILES = EULA EULA.txt

A comment that both EULA are not the same would be nice:

    # The contents of those two EULA are not the same:
    LIBFSLVPUWRAP_LICENSE_FILES = EULA EULA.txt

>  LIBFSLVPUWRAP_REDISTRIBUTE = NO
>  
>  LIBFSLVPUWRAP_INSTALL_STAGING = YES
>  
>  LIBFSLVPUWRAP_DEPENDENCIES += imx-lib
>  
> +# The archive is a shell-self-extractor of a bzipped tar. It happens
> +# to extract in the correct directory (libfslvpuwrap-x.y.z)
> +# The --force makes sure it doesn't fail if the source dir already exists.
> +# The --auto-accept skips the license check - not needed for us
> +# because we have legal-info
> +# Since the EULA in the bin file differs from the one in the tar file,
> +# extract the one from the bin file as well.
> +define LIBFSLVPUWRAP_EXTRACT_CMDS
> +	awk 'BEGIN      { start=0; } \
> +	     /^EOEULA/  { start = 0; } \
> +	                { if (start) print; } \
> +	     /<<EOEULA/ { start=1; }'\
> +	    $(DL_DIR)/$(LIBFSLVPUWRAP_SOURCE) > $(@D)/EULA
> +	cd $(BUILD_DIR); \
> +	sh $(DL_DIR)/$(LIBFSLVPUWRAP_SOURCE) --force --auto-accept
> +endef

Ditto the mkdir warning.
Ditto extract EULA after unpacking the archive.

Regards,
Yann E. MORIN.
Eric Nelson Feb. 12, 2014, 7:10 p.m. UTC | #4
Hi Yann,

On 02/12/2014 12:03 PM, Yann E. MORIN wrote:
> Eric, All,
>
> A (hopefully!) better review this time...
>
> On 2013-10-08 20:05 -0700, Eric Nelson spake thusly:
>> Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
> [--SNIP--]
>> diff --git a/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk b/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
>> index 8e979ee..e799fd2 100644
>> --- a/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
>> +++ b/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
>> @@ -4,7 +4,11 @@
>>   #
>>   ################################################################################
>>
>> -GPU_VIV_BIN_MX6Q_VERSION = $(FREESCALE_IMX_VERSION)
>> +ifeq ($(BR2_ARM_EABIHF),y)
>> +GPU_VIV_BIN_MX6Q_VERSION = $(FREESCALE_IMX_VERSION)-hfp
>> +else
>> +GPU_VIV_BIN_MX6Q_VERSION = $(FREESCALE_IMX_VERSION)-sfp
>> +endif
>>   GPU_VIV_BIN_MX6Q_SITE    = $(FREESCALE_IMX_SITE)
>>   GPU_VIV_BIN_MX6Q_SOURCE  = gpu-viv-bin-mx6q-$(GPU_VIV_BIN_MX6Q_VERSION).bin
>
> I think we should make the source conditional on BR2_ARM_EABIHF, not the
> version:
>
>      GPU_VIV_BIN_MX6Q_VERSION = $(FREESCALE_IMX_VERSION)
>      ifeq ($(BR2_ARM_EABIHF),y)
>      GPU_VIV_BIN_MX6Q_SOURCE  = gpu-viv-bin-mx6q-$(GPU_VIV_BIN_MX6Q_VERSION)-hfp.bin
>      else
>      GPU_VIV_BIN_MX6Q_SOURCE  = gpu-viv-bin-mx6q-$(GPU_VIV_BIN_MX6Q_VERSION)-sfp.bin
>      endif
>

Agreed. This is nicer.

>> diff --git a/package/freescale-imx/imx-lib/imx-lib.mk b/package/freescale-imx/imx-lib/imx-lib.mk
>> index e1a68ef..2edfc06 100644
>> --- a/package/freescale-imx/imx-lib/imx-lib.mk
>> +++ b/package/freescale-imx/imx-lib/imx-lib.mk
>> @@ -6,8 +6,9 @@
>>
>>   IMX_LIB_VERSION = $(FREESCALE_IMX_VERSION)
>>   IMX_LIB_SITE    = $(FREESCALE_IMX_SITE)
>> -IMX_LIB_LICENSE = LGPLv2.1+
>> -# No license file included
>> +IMX_LIB_LICENSE = IMX_LIB_LICENSE = Freescale Semiconductor Software License Agreement (vpu), LGPLv2.1+ (the rest)
>
> Double IMX_LIB_LICENSE there.
>
> This is a rather long license name. What about:
>
>      IMX_LIB_LICENSE = Freescale License (vpu), LGPLv2.1+ (the rest)
>

This also works for me.

>> +IMX_LIB_LICENSE_FILES = EULA
>> +IMX_LIB_SOURCE = imx-lib-$(IMX_LIB_VERSION).bin
>>
>>   IMX_LIB_INSTALL_STAGING = YES
>>
>> @@ -25,6 +26,23 @@ IMX_LIB_MAKE_ENV = \
>>   	PLATFORM=$(BR2_PACKAGE_IMX_LIB_PLATFORM) \
>>   	INCLUDE="$(IMX_LIB_INCLUDE)"
>>
>> +# The archive is a shell-self-extractor of a bzipped tar. It happens
>> +# to extract in the correct directory (imx-lib-x.y.z)
>> +# The --force makes sure it doesn't fail if the source dir already exists.
>> +# The --auto-accept skips the license check - not needed for us
>> +# because we have legal-info
>> +# Since there's a EULA in the bin file, extract it to imx-lib-x.y.z/EULA
>> +#
>> +define IMX_LIB_EXTRACT_CMDS
>> +	awk 'BEGIN      { start=0; } \
>> +	     /^EOEULA/  { start = 0; } \
>> +	                { if (start) print; } \
>> +	     /<<EOEULA/ { start=1; }'\
>> +	    $(DL_DIR)/$(IMX_LIB_SOURCE) > $(@D)/EULA
>> +	cd $(BUILD_DIR); \
>> +	sh $(DL_DIR)/$(IMX_LIB_SOURCE) --force --auto-accept
>> +endef
>
>      $ make imx-lib-extract
>      [...]
>      Unpacking file mkdir: cannot create directory ‘imx-lib-3.5.7-1.0.0’:
>      File exists
>
> This is only a warning, but still: maybe extract the EULA _after_
> unpacking the archive?
>

Sure. I'll re-work.

>> diff --git a/package/libfslparser/libfslparser.mk b/package/libfslparser/libfslparser.mk
>> index 3aab3a7..d49c95c 100644
>> --- a/package/libfslparser/libfslparser.mk
>> +++ b/package/libfslparser/libfslparser.mk
>> @@ -4,7 +4,7 @@
>>   #
>>   ################################################################################
>>
>> -LIBFSLPARSER_VERSION = 3.0.1
>> +LIBFSLPARSER_VERSION = $(FREESCALE_IMX_VERSION)
>>   LIBFSLPARSER_SITE = $(FREESCALE_IMX_SITE)
>>   LIBFSLPARSER_SOURCE = libfslparser-$(LIBFSLPARSER_VERSION).bin
>>   LIBFSLPARSER_LICENSE = Freescale Semiconductor Software License Agreement
>> @@ -36,4 +36,9 @@ endef
>>   # The Makefile installs several versions of the libraries, but we only
>>   # need one of them, depending on the platform.
>>
>> +#
>> +# without AUTORECONF, configure fails to find install-sh.
>> +#
>
> No need for leading/trailing comment lines, just the line with the
> actual comment.
>

Okay. Will fix in V5.

>> diff --git a/package/libfslvpuwrap/libfslvpuwrap.mk b/package/libfslvpuwrap/libfslvpuwrap.mk
>> index 346a20a..e93d761 100644
>> --- a/package/libfslvpuwrap/libfslvpuwrap.mk
>> +++ b/package/libfslvpuwrap/libfslvpuwrap.mk
>> @@ -4,14 +4,32 @@
>>   #
>>   ################################################################################
>>
>> -LIBFSLVPUWRAP_VERSION = 1.0.17
>> +LIBFSLVPUWRAP_VERSION = $(FREESCALE_IMX_VERSION)
>>   LIBFSLVPUWRAP_SITE = $(FREESCALE_IMX_SITE)
>> +LIBFSLVPUWRAP_SOURCE = libfslvpuwrap-$(LIBFSLVPUWRAP_VERSION).bin
>>   LIBFSLVPUWRAP_LICENSE = Freescale Semiconductor Software License Agreement
>> -LIBFSLVPUWRAP_LICENSE_FILES = EULA.txt
>> +LIBFSLVPUWRAP_LICENSE_FILES = EULA EULA.txt
>
> A comment that both EULA are not the same would be nice:
>
>      # The contents of those two EULA are not the same:
>      LIBFSLVPUWRAP_LICENSE_FILES = EULA EULA.txt
>
>>   LIBFSLVPUWRAP_REDISTRIBUTE = NO
>>
>>   LIBFSLVPUWRAP_INSTALL_STAGING = YES
>>
>>   LIBFSLVPUWRAP_DEPENDENCIES += imx-lib
>>
>> +# The archive is a shell-self-extractor of a bzipped tar. It happens
>> +# to extract in the correct directory (libfslvpuwrap-x.y.z)
>> +# The --force makes sure it doesn't fail if the source dir already exists.
>> +# The --auto-accept skips the license check - not needed for us
>> +# because we have legal-info
>> +# Since the EULA in the bin file differs from the one in the tar file,
>> +# extract the one from the bin file as well.
>> +define LIBFSLVPUWRAP_EXTRACT_CMDS
>> +	awk 'BEGIN      { start=0; } \
>> +	     /^EOEULA/  { start = 0; } \
>> +	                { if (start) print; } \
>> +	     /<<EOEULA/ { start=1; }'\
>> +	    $(DL_DIR)/$(LIBFSLVPUWRAP_SOURCE) > $(@D)/EULA
>> +	cd $(BUILD_DIR); \
>> +	sh $(DL_DIR)/$(LIBFSLVPUWRAP_SOURCE) --force --auto-accept
>> +endef
>
> Ditto the mkdir warning.
> Ditto extract EULA after unpacking the archive.
>

Thanks for the thorough review.
Eric Nelson Feb. 12, 2014, 8:20 p.m. UTC | #5
Hello Yann,

On 02/12/2014 12:10 PM, Eric Nelson wrote:
> Hi Yann,
>
> On 02/12/2014 12:03 PM, Yann E. MORIN wrote:
>> Eric, All,
>>
>> A (hopefully!) better review this time...
>>
>> On 2013-10-08 20:05 -0700, Eric Nelson spake thusly:
>>> Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
 >>>
 >>> [--SNIP--]
 >>>
>>> +# The archive is a shell-self-extractor of a bzipped tar. It happens
>>> +# to extract in the correct directory (imx-lib-x.y.z)
>>> +# The --force makes sure it doesn't fail if the source dir already
>>> exists.
>>> +# The --auto-accept skips the license check - not needed for us
>>> +# because we have legal-info
>>> +# Since there's a EULA in the bin file, extract it to
>>> imx-lib-x.y.z/EULA
>>> +#
>>> +define IMX_LIB_EXTRACT_CMDS
>>> +    awk 'BEGIN      { start=0; } \
>>> +         /^EOEULA/  { start = 0; } \
>>> +                    { if (start) print; } \
>>> +         /<<EOEULA/ { start=1; }'\
>>> +        $(DL_DIR)/$(IMX_LIB_SOURCE) > $(@D)/EULA
>>> +    cd $(BUILD_DIR); \
>>> +    sh $(DL_DIR)/$(IMX_LIB_SOURCE) --force --auto-accept
>>> +endef
>>
>>      $ make imx-lib-extract
>>      [...]
>>      Unpacking file mkdir: cannot create directory ‘imx-lib-3.5.7-1.0.0’:
>>      File exists
>>
>> This is only a warning, but still: maybe extract the EULA _after_
>> unpacking the archive?
>>
>
> Sure. I'll re-work.
>

Re-arranging these commands doesn't get rid of the warning.

It appears that the directory is created by the bit of
structure using IMX_LIB_EXTRACT_CMDS, and the warning
message is from a 'mkdir' embedded within the self-extracting
package.

I could 'rm' the directory inside IMX_LIB_EXTRACT_CMDS,
but it's not clear that this is the right thing to do.

Please let me know your thoughts on the matter.

Regards,


Eric
Arnout Vandecappelle Feb. 12, 2014, 9:58 p.m. UTC | #6
On 12/02/14 21:20, Eric Nelson wrote:
> Hello Yann,
> 
> On 02/12/2014 12:10 PM, Eric Nelson wrote:
>> Hi Yann,
>>
>> On 02/12/2014 12:03 PM, Yann E. MORIN wrote:
>>> Eric, All,
>>>
>>> A (hopefully!) better review this time...
>>>
>>> On 2013-10-08 20:05 -0700, Eric Nelson spake thusly:
>>>> Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
>>>>
>>>> [--SNIP--]
>>>>
>>>> +# The archive is a shell-self-extractor of a bzipped tar. It happens
>>>> +# to extract in the correct directory (imx-lib-x.y.z)
>>>> +# The --force makes sure it doesn't fail if the source dir already
>>>> exists.
>>>> +# The --auto-accept skips the license check - not needed for us
>>>> +# because we have legal-info
>>>> +# Since there's a EULA in the bin file, extract it to
>>>> imx-lib-x.y.z/EULA
>>>> +#
>>>> +define IMX_LIB_EXTRACT_CMDS
>>>> +    awk 'BEGIN      { start=0; } \
>>>> +         /^EOEULA/  { start = 0; } \
>>>> +                    { if (start) print; } \
>>>> +         /<<EOEULA/ { start=1; }'\
>>>> +        $(DL_DIR)/$(IMX_LIB_SOURCE) > $(@D)/EULA
>>>> +    cd $(BUILD_DIR); \
>>>> +    sh $(DL_DIR)/$(IMX_LIB_SOURCE) --force --auto-accept
>>>> +endef
>>>
>>>      $ make imx-lib-extract
>>>      [...]
>>>      Unpacking file mkdir: cannot create directory ‘imx-lib-3.5.7-1.0.0’:
>>>      File exists
>>>
>>> This is only a warning, but still: maybe extract the EULA _after_
>>> unpacking the archive?
>>>
>>
>> Sure. I'll re-work.
>>
> 
> Re-arranging these commands doesn't get rid of the warning.
> 
> It appears that the directory is created by the bit of
> structure using IMX_LIB_EXTRACT_CMDS, and the warning
> message is from a 'mkdir' embedded within the self-extracting
> package.
> 
> I could 'rm' the directory inside IMX_LIB_EXTRACT_CMDS,
> but it's not clear that this is the right thing to do.

 The directory exists already because the buildroot infrastructure
creates some stamp files in it - e.g. .stamp-downloaded. So if you'd
remove the directory, the download will be retried...

 Therefore, I think we should just live with the warning.

 Regards,
 Arnout

> 
> Please let me know your thoughts on the matter.
> 
> Regards,
> 
> 
> Eric
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Mike Zick Feb. 12, 2014, 10:15 p.m. UTC | #7
On Wed, 12 Feb 2014 22:58:17 +0100
Arnout Vandecappelle <arnout@mind.be> wrote:

> > It appears that the directory is created by the bit of
> > structure using IMX_LIB_EXTRACT_CMDS, and the warning
> > message is from a 'mkdir' embedded within the self-extracting
> > package.
> > 
> > I could 'rm' the directory inside IMX_LIB_EXTRACT_CMDS,
> > but it's not clear that this is the right thing to do.  
> 
>  The directory exists already because the buildroot infrastructure
> creates some stamp files in it - e.g. .stamp-downloaded. So if you'd
> remove the directory, the download will be retried...
> 
>  Therefore, I think we should just live with the warning.
>

Perhaps alias "mkdir" to "mkdir -p" for the duration of the commands?

Mike
Peter Korsgaard Feb. 12, 2014, 10:20 p.m. UTC | #8
>>>>> "Arnout" == Arnout Vandecappelle <arnout@mind.be> writes:

 >> I could 'rm' the directory inside IMX_LIB_EXTRACT_CMDS,
 >> but it's not clear that this is the right thing to do.

 >  The directory exists already because the buildroot infrastructure
 > creates some stamp files in it - e.g. .stamp-downloaded. So if you'd
 > remove the directory, the download will be retried...

 >  Therefore, I think we should just live with the warning.

Agreed. Alternatively, patch the extracter to use mkdir -p (but I don't
know if that is doable).
Eric Nelson Feb. 12, 2014, 10:45 p.m. UTC | #9
Thanks Peter (and Arnout),

On 02/12/2014 03:20 PM, Peter Korsgaard wrote:
>>>>>> "Arnout" == Arnout Vandecappelle <arnout@mind.be> writes:
>
>   >> I could 'rm' the directory inside IMX_LIB_EXTRACT_CMDS,
>   >> but it's not clear that this is the right thing to do.
>
>   >  The directory exists already because the buildroot infrastructure
>   > creates some stamp files in it - e.g. .stamp-downloaded. So if you'd
>   > remove the directory, the download will be retried...
>
>   >  Therefore, I think we should just live with the warning.
>
> Agreed. Alternatively, patch the extracter to use mkdir -p (but I don't
> know if that is doable).
>

You made me flinch!

I thought of that (patching the extractor), and it is doable, but 
there's just something wrong with manipulating sources after
download. You lose the ability to compare hashes, et cetera...

We could copy and then patch, but the GPU code is **big**,
so this would be slow.

My other thought was to use "| 2>/dev/null", but that seems
equally evil, so I think I'll just send V5 with the warning.

Unless... you think pre-empting the warning with another
message is warranted:

	echo "** You're about to see a warning that you can ignore "

Regards,


Eric
Eric Nelson Feb. 12, 2014, 10:55 p.m. UTC | #10
Thanks Mike,

On 02/12/2014 03:15 PM, Mike Zick wrote:
> On Wed, 12 Feb 2014 22:58:17 +0100
> Arnout Vandecappelle <arnout@mind.be> wrote:
>
>>> It appears that the directory is created by the bit of
>>> structure using IMX_LIB_EXTRACT_CMDS, and the warning
>>> message is from a 'mkdir' embedded within the self-extracting
>>> package.
>>>
>>> I could 'rm' the directory inside IMX_LIB_EXTRACT_CMDS,
>>> but it's not clear that this is the right thing to do.
>>
>>   The directory exists already because the buildroot infrastructure
>> creates some stamp files in it - e.g. .stamp-downloaded. So if you'd
>> remove the directory, the download will be retried...
>>
>>   Therefore, I think we should just live with the warning.
>>
>
> Perhaps alias "mkdir" to "mkdir -p" for the duration of the commands?
>

I like it, although I'm not certain whether that will break
on arcane shells.
Eric Nelson Feb. 12, 2014, 11:25 p.m. UTC | #11
Hi Yann,

On 02/12/2014 12:10 PM, Eric Nelson wrote:
> Hi Yann,
>
> On 02/12/2014 12:03 PM, Yann E. MORIN wrote:
>> Eric, All,
>>
>> A (hopefully!) better review this time...
>>
>> On 2013-10-08 20:05 -0700, Eric Nelson spake thusly:
>>> Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
>> [--SNIP--]
>>> diff --git
>>> a/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
>>> b/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
>>> index 8e979ee..e799fd2 100644
>>> --- a/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
>>> +++ b/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
>>> @@ -4,7 +4,11 @@
>>>   #
>>>
>>> ################################################################################
>>>
>>>
>>> -GPU_VIV_BIN_MX6Q_VERSION = $(FREESCALE_IMX_VERSION)
>>> +ifeq ($(BR2_ARM_EABIHF),y)
>>> +GPU_VIV_BIN_MX6Q_VERSION = $(FREESCALE_IMX_VERSION)-hfp
>>> +else
>>> +GPU_VIV_BIN_MX6Q_VERSION = $(FREESCALE_IMX_VERSION)-sfp
>>> +endif
>>>   GPU_VIV_BIN_MX6Q_SITE    = $(FREESCALE_IMX_SITE)
>>>   GPU_VIV_BIN_MX6Q_SOURCE  =
>>> gpu-viv-bin-mx6q-$(GPU_VIV_BIN_MX6Q_VERSION).bin
>>
>> I think we should make the source conditional on BR2_ARM_EABIHF, not the
>> version:
>>
>>      GPU_VIV_BIN_MX6Q_VERSION = $(FREESCALE_IMX_VERSION)
>>      ifeq ($(BR2_ARM_EABIHF),y)
>>      GPU_VIV_BIN_MX6Q_SOURCE  =
>> gpu-viv-bin-mx6q-$(GPU_VIV_BIN_MX6Q_VERSION)-hfp.bin
>>      else
>>      GPU_VIV_BIN_MX6Q_SOURCE  =
>> gpu-viv-bin-mx6q-$(GPU_VIV_BIN_MX6Q_VERSION)-sfp.bin
>>      endif
>>
>
> Agreed. This is nicer.
>

And also not very workable.

Much seems to depend on GPU_VIV_BIN_MX6Q_VERSION having the right
version.

In particular:
	the build directory is named with the version,
	the self-extractor has this name embedded in it, and
	the patch step expects it to be set.

And in some ways, the V4 version seems more correct.

When you ask "what version of the Vivante GPU libraries" a build
is using, the "-hfp" or "-sfp" piece is pretty important.

If you switch your build from EABI to ARMHF, it also makes
sense that the stamp information shouldn't follow you.

Let me know if you feel strongly about this.

Regards,


Eric
Yann E. MORIN Feb. 12, 2014, 11:41 p.m. UTC | #12
Eric, All,

On 2014-02-12 13:20 -0700, Eric Nelson spake thusly:
> On 02/12/2014 12:10 PM, Eric Nelson wrote:
> >On 02/12/2014 12:03 PM, Yann E. MORIN wrote:
[--SNIP--]
> >>     $ make imx-lib-extract
> >>     [...]
> >>     Unpacking file mkdir: cannot create directory ‘imx-lib-3.5.7-1.0.0’:
> >>     File exists
> >>
> >>This is only a warning, but still: maybe extract the EULA _after_
> >>unpacking the archive?
> 
> Re-arranging these commands doesn't get rid of the warning.
> 
> It appears that the directory is created by the bit of
> structure using IMX_LIB_EXTRACT_CMDS, and the warning
> message is from a 'mkdir' embedded within the self-extracting
> package.
> 
> I could 'rm' the directory inside IMX_LIB_EXTRACT_CMDS,
> but it's not clear that this is the right thing to do.

No, as pointed out by Arnout, this won't work.

However, The cleanest in my opinion would be to extract the archive into
a subdir of $(@D), like:

    # Blurb about auto-extract in a properly-named dir
    define IMX_LIB_EXTRACT_CMDS
        cd $(@D); \
        sh $(DL_DIR)/$(IMX_LIB_SOURCE) --force --auto-accept
    endef

Since we are anyway using the generic-package infrastructure, we do
provide the build and isntall commands, so it is pretty easy to use that
sub-dir in the build and install commands:

    define IMX_LIB_BUILD_CMDS
        $(IMX_LIB_MAKE_ENV) $(MAKE1) -C $(@D)/imx-lib-$(FREESCALE_IMX_VERSION)
    endef

... and so on.

Also, to be noted: the warning probably pre-existed your patch, and is
not related to extracting the EULA.

Speaking of the EULA, since 'make legal-info' will copy the source file
as-is, the EULA will be present in the generated legal-info directory
structure. So, I wonder if we really care about extracting it in the
first place.

I'm a bit uneasy with the awk trick to begin with, since it would break
without us easily noticing when we bump and the self-extractor no longer
uses EULA/EOEULA (since the awk script will happily process its script,
and will just print nothing and exit without error).

What do others think about it?

Regards,
Yann E. MORIN.
Yann E. MORIN Feb. 12, 2014, 11:46 p.m. UTC | #13
Eric, All,

On 2014-02-12 16:25 -0700, Eric Nelson spake thusly:
> >On 02/12/2014 12:03 PM, Yann E. MORIN wrote:
> >>I think we should make the source conditional on BR2_ARM_EABIHF, not the
> >>version:
> >>
> >>     GPU_VIV_BIN_MX6Q_VERSION = $(FREESCALE_IMX_VERSION)
> >>     ifeq ($(BR2_ARM_EABIHF),y)
> >>     GPU_VIV_BIN_MX6Q_SOURCE  =
> >>gpu-viv-bin-mx6q-$(GPU_VIV_BIN_MX6Q_VERSION)-hfp.bin
> >>     else
> >>     GPU_VIV_BIN_MX6Q_SOURCE  =
> >>gpu-viv-bin-mx6q-$(GPU_VIV_BIN_MX6Q_VERSION)-sfp.bin
> >>     endif
> >>
> >
> >Agreed. This is nicer.
> >
> 
> And also not very workable.
> 
> Much seems to depend on GPU_VIV_BIN_MX6Q_VERSION having the right
> version.

You meant: -sfp or -hp are actually part of the version string, since
the archives self-extracts in a directory ending in -sfp or -hfp, right?

So, OK, leave -sfp/-hfp in the version string.

> If you switch your build from EABI to ARMHF, it also makes
> sense that the stamp information shouldn't follow you.

Well, if you switch ABI, you're toast anyway. Changing a toolchain option
will require a complete rebuild of all the packages, and you'll have to
restart afresh.

Regards,
Yann E. MORIN.
Eric Nelson Feb. 12, 2014, 11:53 p.m. UTC | #14
Hi Mike,

On 02/12/2014 03:55 PM, Eric Nelson wrote:
> Thanks Mike,
>
> On 02/12/2014 03:15 PM, Mike Zick wrote:
>> On Wed, 12 Feb 2014 22:58:17 +0100
>> Arnout Vandecappelle <arnout@mind.be> wrote:
>>
>>>> It appears that the directory is created by the bit of
>>>> structure using IMX_LIB_EXTRACT_CMDS, and the warning
>>>> message is from a 'mkdir' embedded within the self-extracting
>>>> package.
>>>>
>>>> I could 'rm' the directory inside IMX_LIB_EXTRACT_CMDS,
>>>> but it's not clear that this is the right thing to do.
>>>
>>>   The directory exists already because the buildroot infrastructure
>>> creates some stamp files in it - e.g. .stamp-downloaded. So if you'd
>>> remove the directory, the download will be retried...
>>>
>>>   Therefore, I think we should just live with the warning.
>>>
>>
>> Perhaps alias "mkdir" to "mkdir -p" for the duration of the commands?
>>
>
> I like it, although I'm not certain whether that will break
> on arcane shells.
>

This is beyond me...

I can't figure out how to get an alias to be effective in the middle of
this:

(cd $(BUILD_DIR); \
	sh $(DL_DIR)/$(GPU_VIV_BIN_MX6Q_SOURCE) --force --auto-accept)

Regards,


Eric
Yann E. MORIN Feb. 12, 2014, 11:59 p.m. UTC | #15
Eric, All,

On 2014-02-12 16:53 -0700, Eric Nelson spake thusly:
> >On 02/12/2014 03:15 PM, Mike Zick wrote:
> >>Perhaps alias "mkdir" to "mkdir -p" for the duration of the commands?
> 
> I can't figure out how to get an alias to be effective in the middle of
> this:
> 
> (cd $(BUILD_DIR); \
> 	sh $(DL_DIR)/$(GPU_VIV_BIN_MX6Q_SOURCE) --force --auto-accept)

An alias won't work, as aliases are not passed in the environment.

So, while the shell executing the '(.....)' commands will have an mkdir
alias, the shell that runs the self-extractor 'sh $(DL_DIR)/....' will
not have that alias.

You can try it easily:
    (1)$ alias toto='echo TOTO'
    (1)$ toto
    TOTO
    (1)$ /bin/sh
    (2)$ toto
    toto: command not found
    (2)$ exit
    (1)$ toto
    TOTO

Regards,
Yann E. MORIN.
Eric Nelson Feb. 13, 2014, 2 a.m. UTC | #16
Hi Yann,

On 02/12/2014 04:41 PM, Yann E. MORIN wrote:
> Eric, All,
>
> On 2014-02-12 13:20 -0700, Eric Nelson spake thusly:
>> On 02/12/2014 12:10 PM, Eric Nelson wrote:
>>> On 02/12/2014 12:03 PM, Yann E. MORIN wrote:
> [--SNIP--]
>>>>      $ make imx-lib-extract
>>>>      [...]
>>>>      Unpacking file mkdir: cannot create directory ‘imx-lib-3.5.7-1.0.0’:
>>>>      File exists
>>>>
>>>> This is only a warning, but still: maybe extract the EULA _after_
>>>> unpacking the archive?
>>
>> Re-arranging these commands doesn't get rid of the warning.
>>
>> It appears that the directory is created by the bit of
>> structure using IMX_LIB_EXTRACT_CMDS, and the warning
>> message is from a 'mkdir' embedded within the self-extracting
>> package.
>>
>> I could 'rm' the directory inside IMX_LIB_EXTRACT_CMDS,
>> but it's not clear that this is the right thing to do.
>
> No, as pointed out by Arnout, this won't work.
>

Right.

> However, The cleanest in my opinion would be to extract the archive into
> a subdir of $(@D), like:
>
>      # Blurb about auto-extract in a properly-named dir
>      define IMX_LIB_EXTRACT_CMDS
>          cd $(@D); \
>          sh $(DL_DIR)/$(IMX_LIB_SOURCE) --force --auto-accept

And then move them?
i.e.
	mv $(@D)/packagemname/* $(@D)/
	rm -r $(@D)/packagemname/

>      endef
>
> Since we are anyway using the generic-package infrastructure, we do
> provide the build and isntall commands, so it is pretty easy to use that
> sub-dir in the build and install commands:
>
>      define IMX_LIB_BUILD_CMDS
>          $(IMX_LIB_MAKE_ENV) $(MAKE1) -C $(@D)/imx-lib-$(FREESCALE_IMX_VERSION)
>      endef
>
It seems like over-kill to keep the directory around.

And what about the patch step references?

> ... and so on.
>
> Also, to be noted: the warning probably pre-existed your patch, and is
> not related to extracting the EULA.
>
It did.

I've been trying to figure out whether I can split this
into a separate patch for the purpose of a separate commit
message.

> Speaking of the EULA, since 'make legal-info' will copy the source file
> as-is, the EULA will be present in the generated legal-info directory
> structure. So, I wonder if we really care about extracting it in the
> first place.
>

I don't understand well enough to comment, and this too seems like
the subject of a separate patch.

> I'm a bit uneasy with the awk trick to begin with, since it would break
> without us easily noticing when we bump and the self-extractor no longer
> uses EULA/EOEULA (since the awk script will happily process its script,
> and will just print nothing and exit without error).
>

There may be another way, by executing the extractor first without
the --accept-eula and re-directing the output.

Again, this seems like the subject of a different patch.

I'd also like to get Freescale to comment on this.

Perhaps we can get them to provide a "--showlicense" in the
next release, and change things then.

And while we're at it, we can suggest "mkdir -p" when the "--force"
option is specified.

Regards,


Eric
Yann E. MORIN Feb. 13, 2014, 10:52 p.m. UTC | #17
Eric, All,

On 2014-02-12 19:00 -0700, Eric Nelson spake thusly:
> On 02/12/2014 04:41 PM, Yann E. MORIN wrote:
> >However, The cleanest in my opinion would be to extract the archive into
> >a subdir of $(@D), like:
> >
> >     # Blurb about auto-extract in a properly-named dir
> >     define IMX_LIB_EXTRACT_CMDS
> >         cd $(@D); \
> >         sh $(DL_DIR)/$(IMX_LIB_SOURCE) --force --auto-accept
> 
> And then move them?
> i.e.
> 	mv $(@D)/packagemname/* $(@D)/
> 	rm -r $(@D)/packagemname/

No, we would not need to move it. We'd just use it as-is in the
following commands, like I showed below:

> >     define IMX_LIB_BUILD_CMDS
> >         $(IMX_LIB_MAKE_ENV) $(MAKE1) -C $(@D)/imx-lib-$(FREESCALE_IMX_VERSION)
> >     endef

> It seems like over-kill to keep the directory around.

Well, maybe not overkill, but not-so-clean, yes.

> And what about the patch step references?

Boom! :-)

> >Speaking of the EULA, since 'make legal-info' will copy the source file
> >as-is, the EULA will be present in the generated legal-info directory
> >structure. So, I wonder if we really care about extracting it in the
> >first place.
> >
> 
> I don't understand well enough to comment,

Basically, Buildroot provides the 'legal-info' infrastructure:
    http://buildroot.net/downloads/manual/manual.html#legal-info

> and this too seems like
> the subject of a separate patch.

Well, it'd be a good idea to provide the bump in one patch, since
that's pretty easy, and the extra EULA stuff in a separate patch,
indeed.

So, to sum-up:
  - provide a patch that bumps the version;
  - just keep the directory layout as-is, we'll live with the warning
    but be sure to add a comment above the _EXTRACT_CMDS stating that a
    warning will be issued;
  - provide a second patch that extracts the EULA; your initial solution
    is OK.

> >I'm a bit uneasy with the awk trick to begin with, since it would break
> >without us easily noticing when we bump and the self-extractor no longer
> >uses EULA/EOEULA (since the awk script will happily process its script,
> >and will just print nothing and exit without error).
> >
> 
> There may be another way, by executing the extractor first without
> the --accept-eula and re-directing the output.
> 
> Again, this seems like the subject of a different patch.
> 
> I'd also like to get Freescale to comment on this.
> 
> Perhaps we can get them to provide a "--showlicense" in the
> next release, and change things then.

If you have your ways inside Freescale, then it might be a good idea,
yes! Unless they're already reading us. NSA, you there? :-]

Regards,
Yann E. MORIN.
Thomas Petazzoni Feb. 13, 2014, 10:54 p.m. UTC | #18
Yann, Eric,

On Thu, 13 Feb 2014 23:52:18 +0100, Yann E. MORIN wrote:

> > Perhaps we can get them to provide a "--showlicense" in the
> > next release, and change things then.
> 
> If you have your ways inside Freescale, then it might be a good idea,
> yes! Unless they're already reading us. NSA, you there? :-]

On the other hand, our package infrastructure is not able to run a
command to get the license text. It expects to have one file available
in the source tree. (Though this can be worked-around by having a post
extract hook that runs the --showlicense thing and redirects the output
into a file in the source tree).

So the best way would be to simply tell Freescale to stop doing silly
self-extractable executables, and switch to normal tarballs, just like
everyone else does in the Linux world :-)

Thomas
Eric Nelson Feb. 14, 2014, 12:31 a.m. UTC | #19
Hi Yann,

On 02/13/2014 03:52 PM, Yann E. MORIN wrote:
> Eric, All,
>
> On 2014-02-12 19:00 -0700, Eric Nelson spake thusly:
>> On 02/12/2014 04:41 PM, Yann E. MORIN wrote:
>>> However, The cleanest in my opinion would be to extract the archive into
>>> a subdir of $(@D), like:
>>>
>>>      # Blurb about auto-extract in a properly-named dir
>>>      define IMX_LIB_EXTRACT_CMDS
>>>          cd $(@D); \
>>>          sh $(DL_DIR)/$(IMX_LIB_SOURCE) --force --auto-accept
>>
>> And then move them?
>> i.e.
>> 	mv $(@D)/packagemname/* $(@D)/
>> 	rm -r $(@D)/packagemname/
>
> No, we would not need to move it. We'd just use it as-is in the
> following commands, like I showed below:
>
>>>      define IMX_LIB_BUILD_CMDS
>>>          $(IMX_LIB_MAKE_ENV) $(MAKE1) -C $(@D)/imx-lib-$(FREESCALE_IMX_VERSION)
>>>      endef
>
>> It seems like over-kill to keep the directory around.
>
> Well, maybe not overkill, but not-so-clean, yes.
>
>> And what about the patch step references?
>
> Boom! :-)
>

I'm still not quite grokking this, but I'll take a stab.

I just sent a patch set with things done the other way.

Please just Nak patch 3 of 3.

I left it in because I already had the notes in place
and it might be useful for comparison.

Regards,


Eric
Eric Nelson Feb. 14, 2014, 12:34 a.m. UTC | #20
Hi Thomas,

On 02/13/2014 03:54 PM, Thomas Petazzoni wrote:
> Yann, Eric,
>
> On Thu, 13 Feb 2014 23:52:18 +0100, Yann E. MORIN wrote:
>
>>> Perhaps we can get them to provide a "--showlicense" in the
>>> next release, and change things then.
>>
>> If you have your ways inside Freescale, then it might be a good idea,
>> yes! Unless they're already reading us. NSA, you there? :-]

Friends in high^h^h^h^hstrange places?

>
> On the other hand, our package infrastructure is not able to run a
> command to get the license text. It expects to have one file available
> in the source tree. (Though this can be worked-around by having a post
> extract hook that runs the --showlicense thing and redirects the output
> into a file in the source tree).
>
> So the best way would be to simply tell Freescale to stop doing silly
> self-extractable executables, and switch to normal tarballs, just like
> everyone else does in the Linux world :-)
>

Or nag nicely and provide patches ;)

Regards,


Eric
diff mbox

Patch

diff --git a/package/freescale-imx/freescale-imx.mk b/package/freescale-imx/freescale-imx.mk
index 0dd5629..39ffa8a 100644
--- a/package/freescale-imx/freescale-imx.mk
+++ b/package/freescale-imx/freescale-imx.mk
@@ -4,9 +4,7 @@ 
 #
 ################################################################################
 
-FREESCALE_IMX_VERSION = 1.1.0
-
-# No official download site from freescale, just this mirror
-FREESCALE_IMX_SITE   = http://download.ossystems.com.br/bsp/freescale/source
+FREESCALE_IMX_VERSION = 3.5.7-1.0.0
+FREESCALE_IMX_SITE    = http://www.freescale.com/lgfiles/NMG/MAD/YOCTO/
 
 include $(sort $(wildcard package/freescale-imx/*/*.mk))
diff --git a/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk b/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
index 8e979ee..e799fd2 100644
--- a/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
+++ b/package/freescale-imx/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.mk
@@ -4,7 +4,11 @@ 
 #
 ################################################################################
 
-GPU_VIV_BIN_MX6Q_VERSION = $(FREESCALE_IMX_VERSION)
+ifeq ($(BR2_ARM_EABIHF),y)
+GPU_VIV_BIN_MX6Q_VERSION = $(FREESCALE_IMX_VERSION)-hfp
+else
+GPU_VIV_BIN_MX6Q_VERSION = $(FREESCALE_IMX_VERSION)-sfp
+endif
 GPU_VIV_BIN_MX6Q_SITE    = $(FREESCALE_IMX_SITE)
 GPU_VIV_BIN_MX6Q_SOURCE  = gpu-viv-bin-mx6q-$(GPU_VIV_BIN_MX6Q_VERSION).bin
 
diff --git a/package/freescale-imx/imx-lib/imx-lib.mk b/package/freescale-imx/imx-lib/imx-lib.mk
index e1a68ef..2edfc06 100644
--- a/package/freescale-imx/imx-lib/imx-lib.mk
+++ b/package/freescale-imx/imx-lib/imx-lib.mk
@@ -6,8 +6,9 @@ 
 
 IMX_LIB_VERSION = $(FREESCALE_IMX_VERSION)
 IMX_LIB_SITE    = $(FREESCALE_IMX_SITE)
-IMX_LIB_LICENSE = LGPLv2.1+
-# No license file included
+IMX_LIB_LICENSE = IMX_LIB_LICENSE = Freescale Semiconductor Software License Agreement (vpu), LGPLv2.1+ (the rest)
+IMX_LIB_LICENSE_FILES = EULA
+IMX_LIB_SOURCE = imx-lib-$(IMX_LIB_VERSION).bin
 
 IMX_LIB_INSTALL_STAGING = YES
 
@@ -25,6 +26,23 @@  IMX_LIB_MAKE_ENV = \
 	PLATFORM=$(BR2_PACKAGE_IMX_LIB_PLATFORM) \
 	INCLUDE="$(IMX_LIB_INCLUDE)"
 
+# The archive is a shell-self-extractor of a bzipped tar. It happens
+# to extract in the correct directory (imx-lib-x.y.z)
+# The --force makes sure it doesn't fail if the source dir already exists.
+# The --auto-accept skips the license check - not needed for us
+# because we have legal-info
+# Since there's a EULA in the bin file, extract it to imx-lib-x.y.z/EULA
+#
+define IMX_LIB_EXTRACT_CMDS
+	awk 'BEGIN      { start=0; } \
+	     /^EOEULA/  { start = 0; } \
+	                { if (start) print; } \
+	     /<<EOEULA/ { start=1; }'\
+	    $(DL_DIR)/$(IMX_LIB_SOURCE) > $(@D)/EULA
+	cd $(BUILD_DIR); \
+	sh $(DL_DIR)/$(IMX_LIB_SOURCE) --force --auto-accept
+endef
+
 define IMX_LIB_BUILD_CMDS
 	$(IMX_LIB_MAKE_ENV) $(MAKE1) -C $(@D)
 endef
diff --git a/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk b/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk
index 4437875..9ec92d8 100644
--- a/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk
+++ b/package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk
@@ -4,7 +4,7 @@ 
 #
 ################################################################################
 
-GST_FSL_PLUGINS_VERSION = 3.0.1
+GST_FSL_PLUGINS_VERSION = $(FREESCALE_IMX_VERSION)
 GST_FSL_PLUGINS_SITE = $(FREESCALE_IMX_SITE)
 
 # Most is LGPLv2+, but some sources are copied from upstream and are
diff --git a/package/libfslcodec/libfslcodec.mk b/package/libfslcodec/libfslcodec.mk
index ad1cc63..d52158c 100644
--- a/package/libfslcodec/libfslcodec.mk
+++ b/package/libfslcodec/libfslcodec.mk
@@ -4,7 +4,7 @@ 
 #
 ################################################################################
 
-LIBFSLCODEC_VERSION = 3.0.1
+LIBFSLCODEC_VERSION = $(FREESCALE_IMX_VERSION)
 LIBFSLCODEC_SITE = $(FREESCALE_IMX_SITE)
 LIBFSLCODEC_SOURCE = libfslcodec-$(LIBFSLCODEC_VERSION).bin
 LIBFSLCODEC_LICENSE = Freescale Semiconductor Software License Agreement, BSD-3c (flac, ogg headers)
diff --git a/package/libfslparser/libfslparser.mk b/package/libfslparser/libfslparser.mk
index 3aab3a7..d49c95c 100644
--- a/package/libfslparser/libfslparser.mk
+++ b/package/libfslparser/libfslparser.mk
@@ -4,7 +4,7 @@ 
 #
 ################################################################################
 
-LIBFSLPARSER_VERSION = 3.0.1
+LIBFSLPARSER_VERSION = $(FREESCALE_IMX_VERSION)
 LIBFSLPARSER_SITE = $(FREESCALE_IMX_SITE)
 LIBFSLPARSER_SOURCE = libfslparser-$(LIBFSLPARSER_VERSION).bin
 LIBFSLPARSER_LICENSE = Freescale Semiconductor Software License Agreement
@@ -36,4 +36,9 @@  endef
 # The Makefile installs several versions of the libraries, but we only
 # need one of them, depending on the platform.
 
+#
+# without AUTORECONF, configure fails to find install-sh.
+#
+LIBFSLPARSER_AUTORECONF = YES
+
 $(eval $(autotools-package))
diff --git a/package/libfslvpuwrap/libfslvpuwrap.mk b/package/libfslvpuwrap/libfslvpuwrap.mk
index 346a20a..e93d761 100644
--- a/package/libfslvpuwrap/libfslvpuwrap.mk
+++ b/package/libfslvpuwrap/libfslvpuwrap.mk
@@ -4,14 +4,32 @@ 
 #
 ################################################################################
 
-LIBFSLVPUWRAP_VERSION = 1.0.17
+LIBFSLVPUWRAP_VERSION = $(FREESCALE_IMX_VERSION)
 LIBFSLVPUWRAP_SITE = $(FREESCALE_IMX_SITE)
+LIBFSLVPUWRAP_SOURCE = libfslvpuwrap-$(LIBFSLVPUWRAP_VERSION).bin
 LIBFSLVPUWRAP_LICENSE = Freescale Semiconductor Software License Agreement
-LIBFSLVPUWRAP_LICENSE_FILES = EULA.txt
+LIBFSLVPUWRAP_LICENSE_FILES = EULA EULA.txt
 LIBFSLVPUWRAP_REDISTRIBUTE = NO
 
 LIBFSLVPUWRAP_INSTALL_STAGING = YES
 
 LIBFSLVPUWRAP_DEPENDENCIES += imx-lib
 
+# The archive is a shell-self-extractor of a bzipped tar. It happens
+# to extract in the correct directory (libfslvpuwrap-x.y.z)
+# The --force makes sure it doesn't fail if the source dir already exists.
+# The --auto-accept skips the license check - not needed for us
+# because we have legal-info
+# Since the EULA in the bin file differs from the one in the tar file,
+# extract the one from the bin file as well.
+define LIBFSLVPUWRAP_EXTRACT_CMDS
+	awk 'BEGIN      { start=0; } \
+	     /^EOEULA/  { start = 0; } \
+	                { if (start) print; } \
+	     /<<EOEULA/ { start=1; }'\
+	    $(DL_DIR)/$(LIBFSLVPUWRAP_SOURCE) > $(@D)/EULA
+	cd $(BUILD_DIR); \
+	sh $(DL_DIR)/$(LIBFSLVPUWRAP_SOURCE) --force --auto-accept
+endef
+
 $(eval $(autotools-package))