diff options
-rw-r--r-- | Config.in | 4 | ||||
-rw-r--r-- | package/Makefile.package.in | 21 |
2 files changed, 22 insertions, 3 deletions
@@ -32,6 +32,10 @@ config BR2_GIT string "Git command" default "git" +config BR2_LOCALFILES + string "Local files retrieval command" + default "cp" + config BR2_ZCAT string "zcat command" default "gzip -d -c" diff --git a/package/Makefile.package.in b/package/Makefile.package.in index 069a86892..4fb16e83d 100644 --- a/package/Makefile.package.in +++ b/package/Makefile.package.in @@ -92,6 +92,7 @@ WGET:=$(call qstrip,$(BR2_WGET)) $(QUIET) SVN:=$(call qstrip,$(BR2_SVN)) $(QUIET) BZR:=$(call qstrip,$(BR2_BZR)) $(QUIET) GIT:=$(call qstrip,$(BR2_GIT)) $(QUIET) +LOCALFILES:=$(call qstrip,$(BR2_LOCALFILES)) # Default spider mode is 'DOWNLOAD'. Other possible values are 'SOURCE_CHECK' # used by the _source-check target and 'SHOW_EXTERNAL_DEPS', used by the @@ -104,18 +105,18 @@ DL_DIR:=$(TOPDIR)/dl endif ################################################################################ -# The DOWNLOAD_{GIT,SVN,BZR} helpers are in charge of getting a +# The DOWNLOAD_{GIT,SVN,BZR,LOCALFILES} helpers are in charge of getting a # working copy of the source repository for their corresponding SCM, # checking out the requested version / commit / tag, and create an # archive out of it. DOWNLOAD_WGET is the normal wget-based download # mechanism. # -# The SOURCE_CHECK_{GIT,SVN,BZR,WGET} helpers are in charge of simply +# The SOURCE_CHECK_{GIT,SVN,BZR,WGET,LOCALFILES} helpers are in charge of simply # checking that the source is available for download. This can be used # to make sure one will be able to get all the sources needed for # one's build configuration. # -# The SHOW_EXTERNAL_DEPS_{GIT,SVN,BZR,WGET} helpers simply output to +# The SHOW_EXTERNAL_DEPS_{GIT,SVN,BZR,WGET,LOCALFILES} helpers simply output to # the console the names of the files that will be downloaded, or path # and revision of the source repositories, producing a list of all the # "external dependencies" of a given build configuration. @@ -189,6 +190,19 @@ define SHOW_EXTERNAL_DEPS_WGET echo $(2) endef +define DOWNLOAD_LOCALFILES + test -e $(DL_DIR)/$($(PKG)_SOURCE) || \ + $(LOCALFILES) $(call qstrip,$(subst file://,,$($(PKG)_SITE)))/$($(PKG)_SOURCE) $(DL_DIR) +endef + +define SOURCE_CHECK_LOCALFILES + test -e $(call qstrip,$(subst file://,,$($(PKG)_SITE)))/$($(PKG)_SOURCE) +endef + +define SHOW_EXTERNAL_DEPS_LOCALFILES + echo $($(PKG)_SITE)/$($(PKG)_SOURCE) +endef + ################################################################################ # DOWNLOAD -- Download helper. Will try to download source from: # 1) BR2_PRIMARY_SITE if enabled @@ -211,6 +225,7 @@ define DOWNLOAD git) $($(DL_MODE)_GIT) && exit ;; \ svn) $($(DL_MODE)_SVN) && exit ;; \ bzr) $($(DL_MODE)_BZR) && exit ;; \ + file) $($(DL_MODE)_LOCALFILES) && exit ;; \ *) $(call $(DL_MODE)_WGET,$(1),$(2)) && exit ;; \ esac ; \ fi ; \ |