diff mbox series

[PATCHv2,1/1] support/download/dl-wrapper: add basic support for smb file download using curl

Message ID 20250425164925.314461-1-guillaume.chaye@zeetim.com
State New
Headers show
Series [PATCHv2,1/1] support/download/dl-wrapper: add basic support for smb file download using curl | expand

Commit Message

Guillaume Chaye April 25, 2025, 4:49 p.m. UTC
It allows to download files from smb share in buildroot packages.
Usage is specified in manual.

Signed-off-by: Guillaume Chaye <guillaume.chaye@zeetim.com>
---
 docs/manual/adding-packages-generic.adoc | 7 +++++++
 package/pkg-generic.mk                   | 2 +-
 support/download/dl-wrapper              | 2 +-
 3 files changed, 9 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/docs/manual/adding-packages-generic.adoc b/docs/manual/adding-packages-generic.adoc
index 7e2e066c16..881beab6e1 100644
--- a/docs/manual/adding-packages-generic.adoc
+++ b/docs/manual/adding-packages-generic.adoc
@@ -337,6 +337,13 @@  not and can not work as people would expect it should:
      for +local+ packages, no patches are applied. If you need to
      still patch the source code, use +LIBFOO_POST_RSYNC_HOOKS+, see
      xref:hooks-rsync[].
+  ** +smb+ for retrieving source code from SMB share. Used by default
+     when +LIBFOO_SITE+ begins with +smb://+.
+	 It uses +curl+ as download backend.
+	 Syntax expected: +LIBFOO_SITE=smb://<server>/<share>/<path>+.
+	 This method might require to define -u option in +LIBFOO_DL_OPTS+
+	 For more informations, please refer to the curl documentation in
+	 +https://curl.se/docs/tutorial.html+
 
 * +LIBFOO_GIT_SUBMODULES+ can be set to +YES+ to create an archive
   with the git submodules in the repository.  This is only available
diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index f22b6e981a..95ff9135bd 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -1260,7 +1260,7 @@  else ifeq ($$($(2)_SITE_METHOD),hg)
 DL_TOOLS_DEPENDENCIES += hg
 else ifeq ($$($(2)_SITE_METHOD),cvs)
 DL_TOOLS_DEPENDENCIES += cvs
-else ifneq ($(filter ftp ftps,$$($(2)_SITE_METHOD)),)
+else ifneq ($(filter ftp ftps smb,$$($(2)_SITE_METHOD)),)
 DL_TOOLS_DEPENDENCIES += curl
 endif # SITE_METHOD
 
diff --git a/support/download/dl-wrapper b/support/download/dl-wrapper
index 5445aad5a7..b70c8edbd9 100755
--- a/support/download/dl-wrapper
+++ b/support/download/dl-wrapper
@@ -96,7 +96,7 @@  main() {
         backend="${backend_urlencode%|*}"
         case "${backend}" in
             git|svn|cvs|bzr|file|scp|hg|sftp) ;;
-            ftp|ftps) backend="curl" ;;
+            ftp|ftps|smb) backend="curl" ;;
             *) backend="wget" ;;
         esac
         uri=${uri#*+}