* [Buildroot] [PATCH 1/1] Avoid toolchain download when it is preinstalled
@ 2013-11-06 10:40 Laurent GONZALEZ
2013-11-06 14:35 ` Thomas De Schampheleire
2013-11-06 15:19 ` Thomas Petazzoni
0 siblings, 2 replies; 6+ messages in thread
From: Laurent GONZALEZ @ 2013-11-06 10:40 UTC (permalink / raw)
To: buildroot
For configurations using a toolchain that is preinstalled on
the host, <pkg>_SITE and <pkg>_SOURCE variables must be kept
empty to avoid downloading any toolchain package.
Signed-off-by: GONZALEZ Laurent <br2@gezedo.com>
---
toolchain/toolchain-external/toolchain-external.mk | 2 ++
1 file changed, 2 insertions(+)
diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk
index 2722600..6f4feb5 100644
--- a/toolchain/toolchain-external/toolchain-external.mk
+++ b/toolchain/toolchain-external/toolchain-external.mk
@@ -236,6 +236,7 @@ define TOOLCHAIN_EXTERNAL_LINARO_ARMHF_SYMLINK
ln -sf . $(TARGET_DIR)/usr/lib/arm-linux-gnueabihf
endef
+ifeq ($(BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD),y)
ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201109),y)
TOOLCHAIN_EXTERNAL_SITE = http://sourcery.mentor.com/public/gnu_toolchain/arm-none-linux-gnueabi/
TOOLCHAIN_EXTERNAL_SOURCE = arm-2011.09-70-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
@@ -347,6 +348,7 @@ else
TOOLCHAIN_EXTERNAL_SITE = $(dir $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_URL)))
TOOLCHAIN_EXTERNAL_SOURCE = $(notdir $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_URL)))
endif
+endif
TOOLCHAIN_EXTERNAL_INSTALL_STAGING = YES
--
1.7.10.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH 1/1] Avoid toolchain download when it is preinstalled
2013-11-06 10:40 [Buildroot] [PATCH 1/1] Avoid toolchain download when it is preinstalled Laurent GONZALEZ
@ 2013-11-06 14:35 ` Thomas De Schampheleire
2013-11-06 15:30 ` Laurent GONZALEZ
2013-11-06 15:19 ` Thomas Petazzoni
1 sibling, 1 reply; 6+ messages in thread
From: Thomas De Schampheleire @ 2013-11-06 14:35 UTC (permalink / raw)
To: buildroot
Hi Laurent,
On Wed, Nov 6, 2013 at 11:40 AM, Laurent GONZALEZ <br2@gezedo.com> wrote:
> For configurations using a toolchain that is preinstalled on
> the host, <pkg>_SITE and <pkg>_SOURCE variables must be kept
> empty to avoid downloading any toolchain package.
>
> Signed-off-by: GONZALEZ Laurent <br2@gezedo.com>
> ---
> toolchain/toolchain-external/toolchain-external.mk | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk
> index 2722600..6f4feb5 100644
> --- a/toolchain/toolchain-external/toolchain-external.mk
> +++ b/toolchain/toolchain-external/toolchain-external.mk
> @@ -236,6 +236,7 @@ define TOOLCHAIN_EXTERNAL_LINARO_ARMHF_SYMLINK
> ln -sf . $(TARGET_DIR)/usr/lib/arm-linux-gnueabihf
> endef
>
> +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD),y)
> ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201109),y)
> TOOLCHAIN_EXTERNAL_SITE = http://sourcery.mentor.com/public/gnu_toolchain/arm-none-linux-gnueabi/
> TOOLCHAIN_EXTERNAL_SOURCE = arm-2011.09-70-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
> @@ -347,6 +348,7 @@ else
> TOOLCHAIN_EXTERNAL_SITE = $(dir $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_URL)))
> TOOLCHAIN_EXTERNAL_SOURCE = $(notdir $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_URL)))
> endif
> +endif
>
> TOOLCHAIN_EXTERNAL_INSTALL_STAGING = YES
>
Can you be a bit more specific about the configuration you see this
problem with?
Although I can confirm that there is an attempted download when you
configure a pre-installed codesourcery toolchain, I can't fix the
problem completely with your patch:
$ make toolchain
>>> toolchain undefined Extracting
>>> toolchain undefined Patching toolchain//toolchain
>>> toolchain-external undefined Downloading
/toolchain-external-undefined.tar.gz: Scheme missing.
--2013-11-06 15:33:31--
http://sources.buildroot.net//toolchain-external-undefined.tar.gz
Thanks,
Thomas
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH 1/1] Avoid toolchain download when it is preinstalled
2013-11-06 10:40 [Buildroot] [PATCH 1/1] Avoid toolchain download when it is preinstalled Laurent GONZALEZ
2013-11-06 14:35 ` Thomas De Schampheleire
@ 2013-11-06 15:19 ` Thomas Petazzoni
2013-11-06 15:33 ` Laurent GONZALEZ
1 sibling, 1 reply; 6+ messages in thread
From: Thomas Petazzoni @ 2013-11-06 15:19 UTC (permalink / raw)
To: buildroot
Dear Laurent GONZALEZ,
On Wed, 06 Nov 2013 11:40:06 +0100, Laurent GONZALEZ wrote:
> For configurations using a toolchain that is preinstalled on
> the host, <pkg>_SITE and <pkg>_SOURCE variables must be kept
> empty to avoid downloading any toolchain package.
>
> Signed-off-by: GONZALEZ Laurent <br2@gezedo.com>
> ---
> toolchain/toolchain-external/toolchain-external.mk | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk
> index 2722600..6f4feb5 100644
> --- a/toolchain/toolchain-external/toolchain-external.mk
> +++ b/toolchain/toolchain-external/toolchain-external.mk
> @@ -236,6 +236,7 @@ define TOOLCHAIN_EXTERNAL_LINARO_ARMHF_SYMLINK
> ln -sf . $(TARGET_DIR)/usr/lib/arm-linux-gnueabihf
> endef
>
> +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD),y)
> ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201109),y)
> TOOLCHAIN_EXTERNAL_SITE = http://sourcery.mentor.com/public/gnu_toolchain/arm-none-linux-gnueabi/
> TOOLCHAIN_EXTERNAL_SOURCE = arm-2011.09-70-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
> @@ -347,6 +348,7 @@ else
> TOOLCHAIN_EXTERNAL_SITE = $(dir $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_URL)))
> TOOLCHAIN_EXTERNAL_SOURCE = $(notdir $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_URL)))
> endif
> +endif
>
> TOOLCHAIN_EXTERNAL_INSTALL_STAGING = YES
>
I think the right fix would be something like:
ifeq ($(...codesourcery..),y)
...
else ifeq ($(...some other toolchain),y)
....
- else
+ else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD),y)
# Custom toolchain
TOOLCHAIN_EXTERNAL_SITE = $(dir $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_URL)))
TOOLCHAIN_EXTERNAL_SOURCE = $(notdir $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_URL)))
- endif
+ else
TOOLCHAIN_EXTERNAL_SOURCE =
endif
So that TOOLCHAIN_EXTERNAL_SOURCE is empty when the external toolchain
is locally installed. Having an empty <pkg>_SOURCE is what tells the
package infrastructure to not download the thing.
Of course, approach above completely untested.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH 1/1] Avoid toolchain download when it is preinstalled
2013-11-06 14:35 ` Thomas De Schampheleire
@ 2013-11-06 15:30 ` Laurent GONZALEZ
0 siblings, 0 replies; 6+ messages in thread
From: Laurent GONZALEZ @ 2013-11-06 15:30 UTC (permalink / raw)
To: buildroot
On 06/11/2013 15:35, Thomas De Schampheleire wrote:
> Hi Laurent,
>
> On Wed, Nov 6, 2013 at 11:40 AM, Laurent GONZALEZ <br2@gezedo.com> wrote:
>> For configurations using a toolchain that is preinstalled on
>> the host, <pkg>_SITE and <pkg>_SOURCE variables must be kept
>> empty to avoid downloading any toolchain package.
>>
>> Signed-off-by: GONZALEZ Laurent <br2@gezedo.com>
>> ---
>> toolchain/toolchain-external/toolchain-external.mk | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk
>> index 2722600..6f4feb5 100644
>> --- a/toolchain/toolchain-external/toolchain-external.mk
>> +++ b/toolchain/toolchain-external/toolchain-external.mk
>> @@ -236,6 +236,7 @@ define TOOLCHAIN_EXTERNAL_LINARO_ARMHF_SYMLINK
>> ln -sf . $(TARGET_DIR)/usr/lib/arm-linux-gnueabihf
>> endef
>>
>> +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD),y)
>> ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201109),y)
>> TOOLCHAIN_EXTERNAL_SITE = http://sourcery.mentor.com/public/gnu_toolchain/arm-none-linux-gnueabi/
>> TOOLCHAIN_EXTERNAL_SOURCE = arm-2011.09-70-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
>> @@ -347,6 +348,7 @@ else
>> TOOLCHAIN_EXTERNAL_SITE = $(dir $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_URL)))
>> TOOLCHAIN_EXTERNAL_SOURCE = $(notdir $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_URL)))
>> endif
>> +endif
>>
>> TOOLCHAIN_EXTERNAL_INSTALL_STAGING = YES
>>
>
> Can you be a bit more specific about the configuration you see this
> problem with?
> Although I can confirm that there is an attempted download when you
> configure a pre-installed codesourcery toolchain, I can't fix the
> problem completely with your patch:
>
> $ make toolchain
>>>> toolchain undefined Extracting
>>>> toolchain undefined Patching toolchain//toolchain
>>>> toolchain-external undefined Downloading
> /toolchain-external-undefined.tar.gz: Scheme missing.
> --2013-11-06 15:33:31--
> http://sources.buildroot.net//toolchain-external-undefined.tar.gz
>
You're right, the commit message stats that variables must be empty, but my patch does not define them at all. I have probably been fooled by a dirty configuration in my testing sandbox.
I will resubmit ASAP.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH 1/1] Avoid toolchain download when it is preinstalled
2013-11-06 15:19 ` Thomas Petazzoni
@ 2013-11-06 15:33 ` Laurent GONZALEZ
2013-11-06 18:08 ` Thomas Petazzoni
0 siblings, 1 reply; 6+ messages in thread
From: Laurent GONZALEZ @ 2013-11-06 15:33 UTC (permalink / raw)
To: buildroot
On 06/11/2013 16:19, Thomas Petazzoni wrote:
> Dear Laurent GONZALEZ,
>
> On Wed, 06 Nov 2013 11:40:06 +0100, Laurent GONZALEZ wrote:
>> For configurations using a toolchain that is preinstalled on
>> the host, <pkg>_SITE and <pkg>_SOURCE variables must be kept
>> empty to avoid downloading any toolchain package.
>>
>> Signed-off-by: GONZALEZ Laurent <br2@gezedo.com>
>> ---
>> toolchain/toolchain-external/toolchain-external.mk | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk
>> index 2722600..6f4feb5 100644
>> --- a/toolchain/toolchain-external/toolchain-external.mk
>> +++ b/toolchain/toolchain-external/toolchain-external.mk
>> @@ -236,6 +236,7 @@ define TOOLCHAIN_EXTERNAL_LINARO_ARMHF_SYMLINK
>> ln -sf . $(TARGET_DIR)/usr/lib/arm-linux-gnueabihf
>> endef
>>
>> +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD),y)
>> ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201109),y)
>> TOOLCHAIN_EXTERNAL_SITE = http://sourcery.mentor.com/public/gnu_toolchain/arm-none-linux-gnueabi/
>> TOOLCHAIN_EXTERNAL_SOURCE = arm-2011.09-70-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
>> @@ -347,6 +348,7 @@ else
>> TOOLCHAIN_EXTERNAL_SITE = $(dir $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_URL)))
>> TOOLCHAIN_EXTERNAL_SOURCE = $(notdir $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_URL)))
>> endif
>> +endif
>>
>> TOOLCHAIN_EXTERNAL_INSTALL_STAGING = YES
>>
>
> I think the right fix would be something like:
>
> ifeq ($(...codesourcery..),y)
> ...
> else ifeq ($(...some other toolchain),y)
> ....
> - else
> + else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD),y)
> # Custom toolchain
> TOOLCHAIN_EXTERNAL_SITE = $(dir $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_URL)))
> TOOLCHAIN_EXTERNAL_SOURCE = $(notdir $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_URL)))
> - endif
> + else
> TOOLCHAIN_EXTERNAL_SOURCE =
> endif
>
> So that TOOLCHAIN_EXTERNAL_SOURCE is empty when the external toolchain
> is locally installed. Having an empty <pkg>_SOURCE is what tells the
> package infrastructure to not download the thing.
>
I am afraid this won't work, because I really want to choose some 'codesourcery' toolchain *and* avoid download. Preinstalled toolchain has larger scope than custom toolchain.
By the way my patch had another issue, that i will fix and resubmit soon.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH 1/1] Avoid toolchain download when it is preinstalled
2013-11-06 15:33 ` Laurent GONZALEZ
@ 2013-11-06 18:08 ` Thomas Petazzoni
0 siblings, 0 replies; 6+ messages in thread
From: Thomas Petazzoni @ 2013-11-06 18:08 UTC (permalink / raw)
To: buildroot
Dear Laurent GONZALEZ,
(Please fix your e-mail client to wrap lines at around 80 columns,
except of course when you send patches!).
On Wed, 06 Nov 2013 16:33:22 +0100, Laurent GONZALEZ wrote:
> > So that TOOLCHAIN_EXTERNAL_SOURCE is empty when the external toolchain
> > is locally installed. Having an empty <pkg>_SOURCE is what tells the
> > package infrastructure to not download the thing.
> >
>
> I am afraid this won't work, because I really want to choose some 'codesourcery' toolchain *and* avoid download. Preinstalled toolchain has larger scope than custom toolchain.
> By the way my patch had another issue, that i will fix and resubmit soon.
Aaah, yes, indeed. In this case, I think I'd prefer to have something
like:
ifeq ($(codesourcery...),y)
...
else ifeq ($(someothertoolchain...),y)
...
else
... custom toolchain origin
endif
# In fact, we don't need to download the toolchain, since it is already
# available on the system, so force the site and source to be empty so
# that nothing will be downloaded/extracted.
ifeq ($(BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED),y)
TOOLCHAIN_EXTERNAL_SITE =
TOOLCHAIN_EXTERNAL_SOURCE =
endif
It's just that I find the big enclosing ifeq
($(BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD),y) condition a little bit difficult
to follow.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-11-06 18:08 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-06 10:40 [Buildroot] [PATCH 1/1] Avoid toolchain download when it is preinstalled Laurent GONZALEZ
2013-11-06 14:35 ` Thomas De Schampheleire
2013-11-06 15:30 ` Laurent GONZALEZ
2013-11-06 15:19 ` Thomas Petazzoni
2013-11-06 15:33 ` Laurent GONZALEZ
2013-11-06 18:08 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox