Message ID | CAE21AQq8wky0Auuq5U0NNUPVXVGQsXGkWcBQ_kvkEe8Xy_RoUg@mail.gmail.com |
---|---|
State | Not Applicable |
Headers | show |
On 13/12/12 03:27, Charles Manning wrote: > Hi > > I have been dabbling with the handling for Linux so that it can be > fetched from svn or a local directory. > > Although testing of SITE_METHOD = local works fine with a simple test > case, I am struggling to get it working from the linux/linux.mk > > What I have done is modify linux/Config.in as follows: [snip] > +choice > + prompt "Custom fetch method" > + depends on BR2_LINUX_KERNEL_CUSTOM_SOURCE > + Not relevant for your problem, but I would: - change the 'depends on' into an 'if' around all the relevant configs; - add a BR2_LINUX_KERNEL_CUSTOM_SOURCE_AUTO, which is the default, and which unsets _SITE_METHOD so that it is derived automatically from the URL. > +config BR2_LINUX_KERNEL_CUSTOM_SOURCE_WGET > + bool "wget" > +config BR2_LINUX_KERNEL_CUSTOM_SOURCE_SCP > + bool "scp" > +config BR2_LINUX_KERNEL_CUSTOM_SOURCE_SVN > + bool "svn" > +config BR2_LINUX_KERNEL_CUSTOM_SOURCE_GIT > + bool "git" > +config BR2_LINUX_KERNEL_CUSTOM_SOURCE_HG > + bool "Mercurial" > +config BR2_LINUX_KERNEL_CUSTOM_SOURCE_BZR > + bool "Bazaar" > +config BR2_LINUX_KERNEL_CUSTOM_SOURCE_FILE > + bool "Local tarball" > +config BR2_LINUX_KERNEL_CUSTOM_SOURCE_LOCAL > + bool "Local directory" > + > +endchoice [snip] > config BR2_LINUX_KERNEL_VERSION > string > default "3.7" if BR2_LINUX_KERNEL_3_7 > default BR2_DEFAULT_KERNEL_HEADERS if BR2_LINUX_KERNEL_SAME_AS_HEADERS > default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE if BR2_LINUX_KERNEL_CUSTOM_VERSION > default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL > - default $BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION if BR2_LINUX_KERNEL_CUSTOM_GIT > + default "custom-source" if BR2_LINUX_KERNEL_CUSTOM_SOURCE > + default $BR2_LINUX_KERNEL_CUSTOM_VERSION if BR2_LINUX_KERNEL_CUSTOM_VERSION No need to change from custom to custom-source... > > # > # Patch selection > diff --git a/linux/linux.mk b/linux/linux.mk > index c4bdf90..73623bd 100644 > --- a/linux/linux.mk > +++ b/linux/linux.mk > @@ -12,9 +12,9 @@ ifeq ($(LINUX_VERSION),custom) > LINUX_TARBALL = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION)) > LINUX_SITE = $(dir $(LINUX_TARBALL)) > LINUX_SOURCE = $(notdir $(LINUX_TARBALL)) > -else ifeq ($(BR2_LINUX_KERNEL_CUSTOM_GIT),y) > -LINUX_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL)) > -LINUX_SITE_METHOD = git > +else ifeq ($(BR2_LINUX_KERNEL_CUSTOM_SOURCE),y) > +LINUX_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_SOURCE_LOCATION)) > +LINUX_SITE_METHOD = $(BR2_LINUX_KERNEL_CUSTOM_SOURCE_METHOD) This should be qstrip'ped. I suspect that is your problem. The problem is that there is an 'ifeq ($(LINUX_SITE_METHOD),local)' in the generic-package expansion, and that expands to 'ifeq ("local",local)' which is false. [snip] > I also added the following debuggering: > @@ -30,7 +30,7 @@ ifeq ($(DL_MODE),DOWNLOAD) > # Only show the download message if it isn't already downloaded > $(Q)(test -e $(DL_DIR)/$($(PKG)_SOURCE)&& \ > (test -z $($(PKG)_PATCH) || test -e $(DL_DIR)$($(PKG)_PATCH))) || \ > - $(call MESSAGE,"Downloading") > + $(call MESSAGE,"Downloading $($(PKG)_SITE) $($(PKG)_SITE_METHOD)") > endif The way it's written now, you don't see the quotes. Better put single quotes around the message instead of double quotes. > $(if $($(PKG)_SOURCE),$(call DOWNLOAD,$($(PKG)_SITE)/$($(PKG)_SOURCE))) > $(if $($(PKG)_PATCH),$(call DOWNLOAD,$($(PKG)_SITE)/$($(PKG)_PATCH))) > > Unfortunately, the code is not fetched properly and instead buildroot > tries to fetch a tarball. > > make V=1 gives: > > harles@charles-laptop:/opt/buildroot/buildroot$ make V=1 > (test -e /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz&& \ > (test -z || test -e /opt/buildroot/buildroot/dl)) || \ > echo ">>> linux custom-source "Downloading > /home/charles/projects/ex/linux-omap-3.2/ "local""" >>>> linux custom-source Downloading /home/charles/projects/ex/linux-omap-3.2/ local > if test -n "" ; then case "" in scp) test -e > /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz || scp > '/linux-custom-source.tar.gz' > /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz&& exit ;; *) > test -e /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz || > (wget --passive-ftp -nd -t 3 -O > /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz.tmp > '/linux-custom-source.tar.gz'&& mv > /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz.tmp > /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz) || (rm -f > /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz.tmp ; exit 1) > && exit ;; esac ; fi ; if test "" = "y" ; then exit 1 ; fi ; if test > -n "/home/charles/projects/ex/linux-omap-3.2//linux-custom-source.tar.gz" > ; then if test -z ""local"" ; then Here you can see the double double quotes. (Note: the double double is intentional here :-) Regards, Arnout > scheme="/home/charles/projects/ex/linux-omap-3.2//linux-custom-source.tar.gz" > ; else scheme=""local"" ; fi ; case "$scheme" in git) test -e > /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz || (pushd > /opt/buildroot/buildroot/dl> /dev/null&& ((test "`git ls-remote > /home/charles/projects/ex/linux-omap-3.2/ custom-source`"&& echo > "Doing shallow clone"&& git clone --depth 1 -b custom-source --bare > /home/charles/projects/ex/linux-omap-3.2/ linux-custom-source) || > (echo "Doing full clone"&& git clone --bare > /home/charles/projects/ex/linux-omap-3.2/ linux-custom-source))&& > pushd linux-custom-source> /dev/null&& git archive --format=tar > --prefix=linux-custom-source/ custom-source | gzip -c> > /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz&& popd> > /dev/null&& rm -rf /opt/buildroot/buildroot/dl/linux-custom-source&& > popd> /dev/null)&& exit ;; svn) test -e > /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz || (pushd > /opt/buildroot/buildroot/dl> /dev/null&& svn export -r custom-source > /home/charles/projects/ex/linux-omap-3.2/ > /opt/buildroot/buildroot/dl/linux-custom-source&& tar czf > linux-custom-source.tar.gz linux-custom-source/&& rm -rf > /opt/buildroot/buildroot/dl/linux-custom-source&& popd> /dev/null) > && exit ;; bzr) test -e > /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz || bzr export > /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz > /home/charles/projects/ex/linux-omap-3.2/ -r custom-source&& exit ;; > file) echo "Download local files" test -e > /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz || cp > /home/charles/projects/ex/linux-omap-3.2//linux-custom-source.tar.gz > /opt/buildroot/buildroot/dl&& exit ;; scp) test -e > /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz || scp > '/home/charles/projects/ex/linux-omap-3.2//linux-custom-source.tar.gz' > /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz&& exit ;; hg) > test -e /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz || > (pushd /opt/buildroot/buildroot/dl> /dev/null&& hg clone --noupdate > --rev custom-source /home/charles/projects/ex/linux-omap-3.2/ > linux-custom-source&& hg archive --repository linux-custom-source > --type tgz --prefix linux-custom-source/ --rev custom-source > /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz&& rm -rf > /opt/buildroot/buildroot/dl/linux-custom-source&& popd> /dev/null) > && exit ;; *) test -e > /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz || (wget > --passive-ftp -nd -t 3 -O > /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz.tmp > '/home/charles/projects/ex/linux-omap-3.2//linux-custom-source.tar.gz' > && mv /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz.tmp > /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz) || (rm -f > /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz.tmp ; exit 1) > && exit ;; esac ; fi ; if test -n "http://sources.buildroot.net/" ; > then test -e /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz > || (wget --passive-ftp -nd -t 3 -O > /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz.tmp > 'http://sources.buildroot.net//linux-custom-source.tar.gz'&& mv > /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz.tmp > /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz) || (rm -f > /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz.tmp ; exit 1) > && exit ; fi ; exit 1 > /home/charles/projects/ex/linux-omap-3.2//linux-custom-source.tar.gz: > Scheme missing. > mkdir -p /opt/buildroot/buildroot/output/build/linux-custom-source > touch /opt/buildroot/buildroot/output/build/linux-custom-source/.stamp_downloaded > > > The flow is different when I ran a simplified test case. That just > used rsync... and worked. > > Any help appreciated. > > Thanks > > Charles > _______________________________________________ > buildroot mailing list > buildroot@busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot >
diff --git a/linux/Config.in b/linux/Config.in index 51810e2..c199344 100644 --- a/linux/Config.in +++ b/linux/Config.in @@ -46,11 +46,11 @@ config BR2_LINUX_KERNEL_CUSTOM_TARBALL This option allows to specify the http or ftp location of a specific kernel source tarball -config BR2_LINUX_KERNEL_CUSTOM_GIT - bool "Custom Git tree" +config BR2_LINUX_KERNEL_CUSTOM_SOURCE + bool "Custom repo/source tree" help This option allows Buildroot to get the Linux kernel source - code from a Git repository. + code from a custom repository or source. endchoice @@ -62,25 +62,67 @@ config BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION string "URL of custom kernel tarball" depends on BR2_LINUX_KERNEL_CUSTOM_TARBALL -config BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL - string "URL of custom Git repository" - depends on BR2_LINUX_KERNEL_CUSTOM_GIT +# Configs for fetching custom source +config BR2_LINUX_KERNEL_CUSTOM_SOURCE_LOCATION + string "URL/location of custom source tree" + depends on BR2_LINUX_KERNEL_CUSTOM_SOURCE -config BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION - string "Custom Git version" +config BR2_LINUX_KERNEL_CUSTOM_SOURCE_VERSION + string "Custom source version" default "HEAD" - depends on BR2_LINUX_KERNEL_CUSTOM_GIT + depends on BR2_LINUX_KERNEL_CUSTOM_SOURCE help - Git revision to use in the format used by git rev-parse, + Source revision to use in the format used by git rev-parse, + or svn or whatever E.G. a sha id, a tag, branch, .. +choice + prompt "Custom fetch method" + depends on BR2_LINUX_KERNEL_CUSTOM_SOURCE + +config BR2_LINUX_KERNEL_CUSTOM_SOURCE_WGET + bool "wget" +config BR2_LINUX_KERNEL_CUSTOM_SOURCE_SCP + bool "scp" +config BR2_LINUX_KERNEL_CUSTOM_SOURCE_SVN + bool "svn" +config BR2_LINUX_KERNEL_CUSTOM_SOURCE_GIT + bool "git" +config BR2_LINUX_KERNEL_CUSTOM_SOURCE_HG + bool "Mercurial" +config BR2_LINUX_KERNEL_CUSTOM_SOURCE_BZR + bool "Bazaar" +config BR2_LINUX_KERNEL_CUSTOM_SOURCE_FILE + bool "Local tarball" +config BR2_LINUX_KERNEL_CUSTOM_SOURCE_LOCAL + bool "Local directory" + +endchoice + +config BR2_LINUX_KERNEL_CUSTOM_SOURCE_METHOD + string + depends on BR2_LINUX_KERNEL_CUSTOM_SOURCE + default "wget" if BR2_LINUX_KERNEL_CUSTOM_SOURCE_WGET + default "scp" if BR2_LINUX_KERNEL_CUSTOM_SOURCE_SCP + default "svn" if BR2_LINUX_KERNEL_CUSTOM_SOURCE_SVN + default "git" if BR2_LINUX_KERNEL_CUSTOM_SOURCE_GIT + default "hg" if BR2_LINUX_KERNEL_CUSTOM_SOURCE_HG + default "bzr" if BR2_LINUX_KERNEL_CUSTOM_SOURCE_BZR + default "file" if BR2_LINUX_KERNEL_CUSTOM_SOURCE_FILE + default "local" if BR2_LINUX_KERNEL_CUSTOM_SOURCE_LOCAL + +# +# End of fetching custom source +# + config BR2_LINUX_KERNEL_VERSION string default "3.7" if BR2_LINUX_KERNEL_3_7 default BR2_DEFAULT_KERNEL_HEADERS if BR2_LINUX_KERNEL_SAME_AS_HEADERS default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE if BR2_LINUX_KERNEL_CUSTOM_VERSION default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL - default $BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION if BR2_LINUX_KERNEL_CUSTOM_GIT + default "custom-source" if BR2_LINUX_KERNEL_CUSTOM_SOURCE + default $BR2_LINUX_KERNEL_CUSTOM_VERSION if BR2_LINUX_KERNEL_CUSTOM_VERSION # # Patch selection diff --git a/linux/linux.mk b/linux/linux.mk index c4bdf90..73623bd 100644 --- a/linux/linux.mk +++ b/linux/linux.mk @@ -12,9 +12,9 @@ ifeq ($(LINUX_VERSION),custom) LINUX_TARBALL = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION)) LINUX_SITE = $(dir $(LINUX_TARBALL)) LINUX_SOURCE = $(notdir $(LINUX_TARBALL)) -else ifeq ($(BR2_LINUX_KERNEL_CUSTOM_GIT),y) -LINUX_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL)) -LINUX_SITE_METHOD = git +else ifeq ($(BR2_LINUX_KERNEL_CUSTOM_SOURCE),y) +LINUX_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_SOURCE_LOCATION)) +LINUX_SITE_METHOD = $(BR2_LINUX_KERNEL_CUSTOM_SOURCE_METHOD) else LINUX_SOURCE = linux-$(LINUX_VERSION).tar.bz2 # In X.Y.Z, get X and Y. We replace dots and dashes by spaces in order diff --git a/package/Config.in b/package/Config.in index f97e892..88cd947 100644 --- a/package/Config.in +++ b/package/Config.in @@ -763,4 +763,8 @@ source "package/vim/Config.in" endif endmenu That gives me: BR2_LINUX_KERNEL=y # BR2_LINUX_KERNEL_3_7 is not set # BR2_LINUX_KERNEL_CUSTOM_VERSION is not set # BR2_LINUX_KERNEL_CUSTOM_TARBALL is not set
Hi I have been dabbling with the handling for Linux so that it can be fetched from svn or a local directory. Although testing of SITE_METHOD = local works fine with a simple test case, I am struggling to get it working from the linux/linux.mk What I have done is modify linux/Config.in as follows: BR2_LINUX_KERNEL_CUSTOM_SOURCE=y BR2_LINUX_KERNEL_CUSTOM_SOURCE_LOCATION="/home/charles/projects/ex/linux-omap-3.2/" BR2_LINUX_KERNEL_CUSTOM_SOURCE_VERSION="HEAD" # BR2_LINUX_KERNEL_CUSTOM_SOURCE_WGET is not set # BR2_LINUX_KERNEL_CUSTOM_SOURCE_SCP is not set # BR2_LINUX_KERNEL_CUSTOM_SOURCE_SVN is not set # BR2_LINUX_KERNEL_CUSTOM_SOURCE_GIT is not set # BR2_LINUX_KERNEL_CUSTOM_SOURCE_HG is not set # BR2_LINUX_KERNEL_CUSTOM_SOURCE_BZR is not set # BR2_LINUX_KERNEL_CUSTOM_SOURCE_FILE is not set BR2_LINUX_KERNEL_CUSTOM_SOURCE_LOCAL=y BR2_LINUX_KERNEL_CUSTOM_SOURCE_METHOD="local" BR2_LINUX_KERNEL_VERSION="custom-source" BR2_LINUX_KERNEL_PATCH="" I also added the following debuggering: @@ -30,7 +30,7 @@ ifeq ($(DL_MODE),DOWNLOAD) # Only show the download message if it isn't already downloaded $(Q)(test -e $(DL_DIR)/$($(PKG)_SOURCE) && \ (test -z $($(PKG)_PATCH) || test -e $(DL_DIR)$($(PKG)_PATCH))) || \ - $(call MESSAGE,"Downloading") + $(call MESSAGE,"Downloading $($(PKG)_SITE) $($(PKG)_SITE_METHOD)") endif $(if $($(PKG)_SOURCE),$(call DOWNLOAD,$($(PKG)_SITE)/$($(PKG)_SOURCE))) $(if $($(PKG)_PATCH),$(call DOWNLOAD,$($(PKG)_SITE)/$($(PKG)_PATCH))) Unfortunately, the code is not fetched properly and instead buildroot tries to fetch a tarball. make V=1 gives: harles@charles-laptop:/opt/buildroot/buildroot$ make V=1 (test -e /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz && \ (test -z || test -e /opt/buildroot/buildroot/dl)) || \ echo ">>> linux custom-source "Downloading /home/charles/projects/ex/linux-omap-3.2/ "local""" >>> linux custom-source Downloading /home/charles/projects/ex/linux-omap-3.2/ local if test -n "" ; then case "" in scp) test -e /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz || scp '/linux-custom-source.tar.gz' /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz && exit ;; *) test -e /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz || (wget --passive-ftp -nd -t 3 -O /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz.tmp '/linux-custom-source.tar.gz' && mv /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz.tmp /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz) || (rm -f /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz.tmp ; exit 1) && exit ;; esac ; fi ; if test "" = "y" ; then exit 1 ; fi ; if test -n "/home/charles/projects/ex/linux-omap-3.2//linux-custom-source.tar.gz" ; then if test -z ""local"" ; then scheme="/home/charles/projects/ex/linux-omap-3.2//linux-custom-source.tar.gz" ; else scheme=""local"" ; fi ; case "$scheme" in git) test -e /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz || (pushd /opt/buildroot/buildroot/dl > /dev/null && ((test "`git ls-remote /home/charles/projects/ex/linux-omap-3.2/ custom-source`" && echo "Doing shallow clone" && git clone --depth 1 -b custom-source --bare /home/charles/projects/ex/linux-omap-3.2/ linux-custom-source) || (echo "Doing full clone" && git clone --bare /home/charles/projects/ex/linux-omap-3.2/ linux-custom-source)) && pushd linux-custom-source > /dev/null && git archive --format=tar --prefix=linux-custom-source/ custom-source | gzip -c > /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz && popd > /dev/null && rm -rf /opt/buildroot/buildroot/dl/linux-custom-source && popd > /dev/null) && exit ;; svn) test -e /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz || (pushd /opt/buildroot/buildroot/dl > /dev/null && svn export -r custom-source /home/charles/projects/ex/linux-omap-3.2/ /opt/buildroot/buildroot/dl/linux-custom-source && tar czf linux-custom-source.tar.gz linux-custom-source/ && rm -rf /opt/buildroot/buildroot/dl/linux-custom-source && popd > /dev/null) && exit ;; bzr) test -e /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz || bzr export /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz /home/charles/projects/ex/linux-omap-3.2/ -r custom-source && exit ;; file) echo "Download local files" test -e /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz || cp /home/charles/projects/ex/linux-omap-3.2//linux-custom-source.tar.gz /opt/buildroot/buildroot/dl && exit ;; scp) test -e /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz || scp '/home/charles/projects/ex/linux-omap-3.2//linux-custom-source.tar.gz' /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz && exit ;; hg) test -e /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz || (pushd /opt/buildroot/buildroot/dl > /dev/null && hg clone --noupdate --rev custom-source /home/charles/projects/ex/linux-omap-3.2/ linux-custom-source && hg archive --repository linux-custom-source --type tgz --prefix linux-custom-source/ --rev custom-source /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz && rm -rf /opt/buildroot/buildroot/dl/linux-custom-source && popd > /dev/null) && exit ;; *) test -e /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz || (wget --passive-ftp -nd -t 3 -O /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz.tmp '/home/charles/projects/ex/linux-omap-3.2//linux-custom-source.tar.gz' && mv /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz.tmp /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz) || (rm -f /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz.tmp ; exit 1) && exit ;; esac ; fi ; if test -n "http://sources.buildroot.net/" ; then test -e /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz || (wget --passive-ftp -nd -t 3 -O /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz.tmp 'http://sources.buildroot.net//linux-custom-source.tar.gz' && mv /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz.tmp /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz) || (rm -f /opt/buildroot/buildroot/dl/linux-custom-source.tar.gz.tmp ; exit 1) && exit ; fi ; exit 1 /home/charles/projects/ex/linux-omap-3.2//linux-custom-source.tar.gz: Scheme missing. mkdir -p /opt/buildroot/buildroot/output/build/linux-custom-source touch /opt/buildroot/buildroot/output/build/linux-custom-source/.stamp_downloaded The flow is different when I ran a simplified test case. That just used rsync... and worked. Any help appreciated. Thanks Charles