diff mbox

[v2] pkg-download: support 'file://' in BR2_PRIMARY_SITE

Message ID 1447837405-25846-1-git-send-email-jezz@sysmic.org
State Accepted
Headers show

Commit Message

Jérôme Pouiller Nov. 18, 2015, 9:03 a.m. UTC
This feature was already discuted here:

  http://lists.busybox.net/pipermail/buildroot/2015-April/125419.html

Personally, I have a big central directory with all tarballs I have
ever downloaded. I use this feature to isolate tarballs necessary to
build a configuration:

  make project_defconfig
  make BR2_DL_DIR=/tmp/mirror-project BR2_PRIMARY_SITE=file:///home/user/dl source
  tar -C /tmp -czvf mirror-project.tgz mirror-project

Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
---
v2:
 - Update help message

 Config.in               | 6 ++++--
 package/pkg-download.mk | 1 +
 2 files changed, 5 insertions(+), 2 deletions(-)

Comments

Thomas Petazzoni Nov. 19, 2015, 10:06 p.m. UTC | #1
Dear Jérôme Pouiller,

On Wed, 18 Nov 2015 10:03:25 +0100, Jérôme Pouiller wrote:
> This feature was already discuted here:
> 
>   http://lists.busybox.net/pipermail/buildroot/2015-April/125419.html
> 
> Personally, I have a big central directory with all tarballs I have
> ever downloaded. I use this feature to isolate tarballs necessary to
> build a configuration:
> 
>   make project_defconfig
>   make BR2_DL_DIR=/tmp/mirror-project BR2_PRIMARY_SITE=file:///home/user/dl source
>   tar -C /tmp -czvf mirror-project.tgz mirror-project
> 
> Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
> ---
> v2:
>  - Update help message

Applied to next, thanks!

Thomas
diff mbox

Patch

diff --git a/Config.in b/Config.in
index d795361..1809eeb 100644
--- a/Config.in
+++ b/Config.in
@@ -165,8 +165,10 @@  config BR2_PRIMARY_SITE
 	  Primary site to download from. If this option is set then buildroot
 	  will try to download package source first from this site and try the
 	  default if the file is not found.
-	  Valid URIs are URIs recognized by $(WGET) and scp URIs of the form
-	  scp://[user@]host:path.
+	  Valid URIs are:
+	    - URIs recognized by $(WGET)
+	    - local URIs of the form file://absolutepath
+	    - scp URIs of the form scp://[user@]host:path.
 
 config BR2_PRIMARY_SITE_ONLY
 	bool "Only allow downloads from primary download site"
diff --git a/package/pkg-download.mk b/package/pkg-download.mk
index c86b9ab..f08f616 100644
--- a/package/pkg-download.mk
+++ b/package/pkg-download.mk
@@ -214,6 +214,7 @@  endef
 define DOWNLOAD_INNER
 	$(Q)if test -n "$(call qstrip,$(BR2_PRIMARY_SITE))" ; then \
 		case "$(call geturischeme,$(BR2_PRIMARY_SITE))" in \
+			file) $(call $(3)_LOCALFILES,$(BR2_PRIMARY_SITE)/$(2),$(2)) && exit ;; \
 			scp) $(call $(3)_SCP,$(BR2_PRIMARY_SITE)/$(2),$(2)) && exit ;; \
 			*) $(call $(3)_WGET,$(BR2_PRIMARY_SITE)/$(2),$(2)) && exit ;; \
 		esac ; \