Most of the time, when we describe a remote, a bitbake-setup source 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 v3:
- Use a flat list of remotes, instead of a dictionary
- Add a better description for the 'uri' property
- Update bitbake-user-manual-environment-setup.rst
bin/bitbake-setup | 23 ++++++++++++++++++++---
1 file changed, 20 insertions(+), 3 deletions(-)
diff --git a/bin/bitbake-setup b/bin/bitbake-setup
index 73f734e73..809077518 100755
--- a/bin/bitbake-setup
+++ b/bin/bitbake-setup
@@ -89,14 +89,30 @@ 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:
+ for remote in r_remote['remotes']:
+ remotes.append(r_remote['remotes'][remote]['uri'])
+
+ if 'uri' in r_remote:
+ remotes.append(r_remote['uri'])
+
+ return remotes
+
def checkout_layers(layers, layerdir, d):
def _checkout_git_remote(r_remote, repodir, layers_fixed_revisions):
rev = r_remote['rev']
branch = r_remote.get('branch', None)
- remotes = r_remote['remotes']
+
+ remotes = _get_remotes(r_remote)
for remote in remotes:
- prot,host,path,user,pswd,params =
bb.fetch.decodeurl(remotes[remote]["uri"])
+ prot,host,path,user,pswd,params = bb.fetch.decodeurl(remote)
fetchuri = bb.fetch.encodeurl(('git',host,path,user,pswd,params))
logger.plain(" {}".format(r_name))
if branch:
@@ -600,7 +616,8 @@ def are_layers_changed(layers, layerdir, d):
changed = False
rev = r_remote['rev']
branch = r_remote.get('branch', None)
- remotes = r_remote['remotes']
+
+ remotes = _get_remotes(r_remote)
for remote in remotes:
type,host,path,user,pswd,params =
bb.fetch.decodeurl(remotes[remote]["uri"])
--
2.51.0
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#228214):
https://lists.openembedded.org/g/openembedded-core/message/228214
Mute This Topic: https://lists.openembedded.org/mt/116857833/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-