download/git: support Git LFS

Git Large File Storage replaces large files with text pointers in the
Git repository while storing the contents on a remote server.  If a
repository is using this extension, then git-lfs must be used to
checkout the large files before the source archive is generated.

Signed-off-by: John Keeping <john@metanate.com>
[vfazio:
  - add git-lfs to DL_TOOLS_DEPENDENCIES
  - fixup for 5a0d681394
    ("infra/pkg-download: make the DOWNLOAD macro fully parameterised")
]
Signed-off-by: Vincent Fazio <vfazio@xes-inc.com>
[Arnout:
 - don't "git lfs install";
 - recurse into submodules.
]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This commit is contained in:
John Keeping
2020-01-21 14:33:37 -06:00
committed by Arnout Vandecappelle (Essensium/Mind)
parent b4841d722f
commit cff428fe31
5 changed files with 26 additions and 4 deletions

View File

@@ -344,6 +344,10 @@ not and can not work as people would expect it should:
submodules when they contain bundled libraries, in which case we
prefer to use those libraries from their own package.
* +LIBFOO_GIT_LFS+ should be set to +YES+ if the Git repository uses
Git LFS to store large files out of band. This is only available for
packages downloaded with git (i.e. when +LIBFOO_SITE_METHOD=git+).
* +LIBFOO_STRIP_COMPONENTS+ is the number of leading components
(directories) that tar must strip from file names on extraction.
The tarball for most packages has one leading component named