Message ID | 527A1C86.8030909@gezedo.com |
---|---|
State | Superseded |
Headers | show |
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
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
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.
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.
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
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
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(+)