support/download/dl-wrapper: add basic support for smb file download using curl

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>
[Peter: reword documentation]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Guillaume Chaye
2025-04-25 12:49:25 -04:00
committed by Peter Korsgaard
parent 56ea5a0226
commit e240b889f1
3 changed files with 9 additions and 2 deletions

View File

@@ -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 a 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
information, please refer to the
https://curl.se/docs/tutorial.html[curl documentation].
* +LIBFOO_GIT_SUBMODULES+ can be set to +YES+ to create an archive
with the git submodules in the repository. This is only available

View File

@@ -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

View File

@@ -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#*+}