diff mbox

pkg-download: support file:// in BR2_PRIMARY_SITE

Message ID 1447776478-16046-1-git-send-email-jezz@sysmic.org
State Superseded
Headers show

Commit Message

Jérôme Pouiller Nov. 17, 2015, 4:07 p.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>
---
 package/pkg-download.mk | 1 +
 1 file changed, 1 insertion(+)

Comments

Thomas Petazzoni Nov. 17, 2015, 4:55 p.m. UTC | #1
Dear Jérôme Pouiller,

On Tue, 17 Nov 2015 17:07:58 +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

You have a much simpler option:

	make external-deps

Thomas
Arnout Vandecappelle Nov. 17, 2015, 9:36 p.m. UTC | #2
On 17-11-15 17:07, 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>

Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

 for next

 Regards,
 Arnout

> ---
>  package/pkg-download.mk | 1 +
>  1 file changed, 1 insertion(+)
> 
> 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 ; \
>
Arnout Vandecappelle Nov. 17, 2015, 10:54 p.m. UTC | #3
On 17-11-15 17:55, Thomas Petazzoni wrote:
> Dear Jérôme Pouiller,
> 
> On Tue, 17 Nov 2015 17:07:58 +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
> 
> You have a much simpler option:
> 
> 	make external-deps

 You probably mean:

for file in $(make external-deps); cp dl/$file /tmp/mirror-project; done


 I think a local file PRIMARY_SITE can be useful for other situations as well,
e.g. a slow CIFS-mounted shared download location that is too slow to use as
DL_DIR, so I think the feature has merit.

 Regards,
 Arnout


> 
> Thomas
>
Thomas Petazzoni Nov. 18, 2015, 8:57 a.m. UTC | #4
Arnout, Jérôme,

On Tue, 17 Nov 2015 23:54:12 +0100, Arnout Vandecappelle wrote:

> >>   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
> > 
> > You have a much simpler option:
> > 
> > 	make external-deps
> 
>  You probably mean:
> 
> for file in $(make external-deps); cp dl/$file /tmp/mirror-project; done

Yes, indeed, I only pointed at "make external-deps", leaving it to the
reader to figure out how to make use of it in the context of what
Jérôme is trying to do. But I could have been more explicit.

>  I think a local file PRIMARY_SITE can be useful for other situations as well,
> e.g. a slow CIFS-mounted shared download location that is too slow to use as
> DL_DIR, so I think the feature has merit.

Yes, I also think the feature has merit.

Jérôme, could you respin the patch after updating the Config.in help
text of the BR2_PRIMARY_SITE option?

Thanks,

Thomas
diff mbox

Patch

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 ; \