Most of the time, when we describe a remote, the layer data (also used by
the script bitbake-setup) looks like this:
"bitbake": {
"git-remote": {
"remotes": {
"origin": {
"uri": "https://git.openembedded.org/bitbake"
}
},
...
}
}
i.e. an URI with the common name 'origin'. Alternatively, we could simplify
this, by
using a shorter structure with the property 'uri' only:
"bitbake": {
"git-remote": {
"uri": "https://git.openembedded.org/bitbake
",
...
}
}
These properties can be used together.
Signed-off-by: Corentin Guillevic <[email protected]>
---
Changes in v4:
- Set r_name just before the break
scripts/oe-setup-layers | 31 ++++++++++++++++++++++++++++++-
1 file changed, 30 insertions(+), 1 deletion(-)
diff --git a/scripts/oe-setup-layers b/scripts/oe-setup-layers
index 31cb963251..4813d6f9dc 100755
--- a/scripts/oe-setup-layers
+++ b/scripts/oe-setup-layers
@@ -60,6 +60,34 @@ def _write_layer_list(dest, repodirs):
with open(layers_f, 'w') as f:
json.dump({"version":"1.0","layers":layers}, f, sort_keys=True,
indent=4)
+def _get_remotes(r_remote):
+ remotes = {}
+
+ if not 'remotes' in r_remote and not 'uri' in r_remote:
+ raise Exception("Expected key(s): 'remotes', 'uri'")
+
+ if 'remotes' in r_remote:
+ remotes = r_remote['remotes'].copy()
+
+ if 'uri' in r_remote:
+ r_name = ''
+
+ if 'remotes' in r_remote:
+ if not 'origin' in r_remote['remotes']:
+ r_name = 'origin'
+ else:
+ import itertools
+ for i in itertools.count(start=1):
+ if not 'origin-{}'.format(i) in r_remote['remotes']:
+ r_name = 'origin-{}'.format(i)
+ break
+ else:
+ r_name = 'origin'
+
+ remotes.update({r_name: {'uri': r_remote['uri']}})
+
+ return remotes
+
def _do_checkout(args, json):
repos = json['sources']
repodirs = []
@@ -80,7 +108,8 @@ def _do_checkout(args, json):
if not desc:
desc = rev[:10]
branch = r_remote['branch']
- remotes = r_remote['remotes']
+
+ remotes = _get_remotes(r_remote)
print('\nSetting up source {}, revision {}, branch {}'.format(r_name,
desc, branch))
if not _is_repo_git_repo(repodir):
--
2.51.0
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#228240):
https://lists.openembedded.org/g/openembedded-core/message/228240
Mute This Topic: https://lists.openembedded.org/mt/116862095/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-