aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes
diff options
context:
space:
mode:
Diffstat (limited to 'meta/classes')
-rw-r--r--meta/classes/buildhistory.bbclass5
-rw-r--r--meta/classes/metadata_scm.bbclass18
2 files changed, 22 insertions, 1 deletions
diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass
index 725015e49b..08753339bb 100644
--- a/meta/classes/buildhistory.bbclass
+++ b/meta/classes/buildhistory.bbclass
@@ -673,8 +673,11 @@ def buildhistory_get_build_id(d):
def buildhistory_get_metadata_revs(d):
# We want an easily machine-readable format here, so get_layers_branch_rev isn't quite what we want
layers = (d.getVar("BBLAYERS") or "").split()
- medadata_revs = ["%-17s = %s:%s" % (os.path.relpath(i, d.getVar('BBLAYERS_FETCH_DIR')), \
+ medadata_revs = ["%s\tlayer: %s\n\tbranch: %s\n\tremote: %s\n\tHEAD: %s\n" % ( \
+ base_get_metadata_git_remote(i, None), \
+ os.path.relpath(i, d.getVar('BBLAYERS_FETCH_DIR')), \
base_get_metadata_git_branch(i, None).strip(), \
+ base_get_metadata_git_remote_branch(i, None).strip(), \
base_get_metadata_git_revision(i, None)) \
for i in layers]
return '\n'.join(medadata_revs)
diff --git a/meta/classes/metadata_scm.bbclass b/meta/classes/metadata_scm.bbclass
index fa791f04c4..9285664bb5 100644
--- a/meta/classes/metadata_scm.bbclass
+++ b/meta/classes/metadata_scm.bbclass
@@ -72,6 +72,15 @@ def base_get_metadata_git_branch(path, d):
rev = '<unknown>'
return rev.strip()
+def base_get_metadata_git_remote_branch(path, d):
+ import bb.process
+
+ try:
+ rev, _ = bb.process.run('git rev-parse --abbrev-ref --symbolic-full-name @{u}', cwd=path)
+ except bb.process.ExecutionError:
+ rev = '(HEAD does not point to a remote branch)'
+ return rev.strip()
+
def base_get_metadata_git_revision(path, d):
import bb.process
@@ -80,3 +89,12 @@ def base_get_metadata_git_revision(path, d):
except bb.process.ExecutionError:
rev = '<unknown>'
return rev.strip()
+
+def base_get_metadata_git_remote(path, d):
+ import bb.process
+
+ try:
+ lines, _ = bb.process.run('git remote -v', cwd=path)
+ except bb.process.ExecutionError:
+ return '<unknown>'
+ return lines