diff options
| author | Jan-Simon Moeller <dl9pf@gmx.de> | 2020-02-18 14:55:54 +0100 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-02-19 11:26:12 +0000 |
| commit | 273f78efb5a2e58395de2f938146840f9572d001 (patch) | |
| tree | f06fbe56282d58f8cddd9a62ee604786375e7ebd /bitbake/lib/bblayers/layerindex.py | |
| parent | 5e90105d90fcb08376993a08c0fd7b1f1805a3da (diff) | |
| download | poky-273f78efb5a2e58395de2f938146840f9572d001.tar.gz | |
bitbake: layerindex: allow clones to be shallow
When bitbake-layers fetch-layerindex clones the repositories, these are
full clones. Allow the user to specify '-s' and do shallow clones
instead for faster downloads.
(Bitbake rev: a0c8b27675a590d9deeb3cbc462c0eb0e113cf3b)
Signed-off-by: Jan-Simon Moeller <dl9pf@gmx.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bblayers/layerindex.py')
| -rw-r--r-- | bitbake/lib/bblayers/layerindex.py | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/bitbake/lib/bblayers/layerindex.py b/bitbake/lib/bblayers/layerindex.py index aa3b682d16..95b67a6621 100644 --- a/bitbake/lib/bblayers/layerindex.py +++ b/bitbake/lib/bblayers/layerindex.py | |||
| @@ -24,7 +24,7 @@ class LayerIndexPlugin(ActionPlugin): | |||
| 24 | This class inherits ActionPlugin to get do_add_layer. | 24 | This class inherits ActionPlugin to get do_add_layer. |
| 25 | """ | 25 | """ |
| 26 | 26 | ||
| 27 | def get_fetch_layer(self, fetchdir, url, subdir, fetch_layer, branch): | 27 | def get_fetch_layer(self, fetchdir, url, subdir, fetch_layer, branch, shallow=False): |
| 28 | layername = self.get_layer_name(url) | 28 | layername = self.get_layer_name(url) |
| 29 | if os.path.splitext(layername)[1] == '.git': | 29 | if os.path.splitext(layername)[1] == '.git': |
| 30 | layername = os.path.splitext(layername)[0] | 30 | layername = os.path.splitext(layername)[0] |
| @@ -32,10 +32,12 @@ class LayerIndexPlugin(ActionPlugin): | |||
| 32 | layerdir = os.path.join(repodir, subdir) | 32 | layerdir = os.path.join(repodir, subdir) |
| 33 | if not os.path.exists(repodir): | 33 | if not os.path.exists(repodir): |
| 34 | if fetch_layer: | 34 | if fetch_layer: |
| 35 | cmd = ['git', 'clone', '-b' , branch, url, repodir] | 35 | cmd = ['git', 'clone'] |
| 36 | if not branch: | 36 | if shallow: |
| 37 | # Branch really shouldn't be empty, but use the repo default if it is | 37 | cmd.extend(['--depth', '1']) |
| 38 | cmd = ['git', 'clone', url, repodir] | 38 | if branch: |
| 39 | cmd.extend(['-b' , branch]) | ||
| 40 | cmd.extend([url, repodir]) | ||
| 39 | result = subprocess.call(cmd) | 41 | result = subprocess.call(cmd) |
| 40 | if result: | 42 | if result: |
| 41 | logger.error("Failed to download %s (%s)" % (url, branch)) | 43 | logger.error("Failed to download %s (%s)" % (url, branch)) |
| @@ -176,7 +178,8 @@ class LayerIndexPlugin(ActionPlugin): | |||
| 176 | layerBranch.layer.vcs_url, | 178 | layerBranch.layer.vcs_url, |
| 177 | layerBranch.vcs_subdir, | 179 | layerBranch.vcs_subdir, |
| 178 | not args.show_only, | 180 | not args.show_only, |
| 179 | layerBranch.actual_branch) | 181 | layerBranch.actual_branch, |
| 182 | args.shallow) | ||
| 180 | if not name: | 183 | if not name: |
| 181 | # Error already shown | 184 | # Error already shown |
| 182 | return 1 | 185 | return 1 |
| @@ -209,6 +212,7 @@ class LayerIndexPlugin(ActionPlugin): | |||
| 209 | parser_layerindex_fetch = self.add_command(sp, 'layerindex-fetch', self.do_layerindex_fetch, parserecipes=False) | 212 | parser_layerindex_fetch = self.add_command(sp, 'layerindex-fetch', self.do_layerindex_fetch, parserecipes=False) |
| 210 | parser_layerindex_fetch.add_argument('-n', '--show-only', help='show dependencies and do nothing else', action='store_true') | 213 | parser_layerindex_fetch.add_argument('-n', '--show-only', help='show dependencies and do nothing else', action='store_true') |
| 211 | parser_layerindex_fetch.add_argument('-b', '--branch', help='branch name to fetch') | 214 | parser_layerindex_fetch.add_argument('-b', '--branch', help='branch name to fetch') |
| 215 | parser_layerindex_fetch.add_argument('-s', '--shallow', help='do only shallow clones (--depth=1)', action='store_true') | ||
| 212 | parser_layerindex_fetch.add_argument('-i', '--ignore', help='assume the specified layers do not need to be fetched/added (separate multiple layers with commas, no spaces)', metavar='LAYER') | 216 | parser_layerindex_fetch.add_argument('-i', '--ignore', help='assume the specified layers do not need to be fetched/added (separate multiple layers with commas, no spaces)', metavar='LAYER') |
| 213 | parser_layerindex_fetch.add_argument('layername', nargs='+', help='layer to fetch') | 217 | parser_layerindex_fetch.add_argument('layername', nargs='+', help='layer to fetch') |
| 214 | 218 | ||
