diff options
-rw-r--r-- | meta/classes/base.bbclass | 7 | ||||
-rw-r--r-- | meta/classes/buildhistory.bbclass | 10 | ||||
-rw-r--r-- | meta/classes/image-buildinfo.bbclass | 8 | ||||
-rw-r--r-- | meta/lib/oe/buildcfg.py | 7 |
4 files changed, 14 insertions, 18 deletions
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index f59e95fef0..20968a5076 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -218,11 +218,8 @@ def get_source_date_epoch_value(d): return oe.reproducible.epochfile_read(d.getVar('SDE_FILE'), d) def get_layers_branch_rev(d): - layers = (d.getVar("BBLAYERS") or "").split() - layers_branch_rev = ["%-20s = \"%s:%s\"" % (os.path.basename(i), \ - oe.buildcfg.get_metadata_git_branch(i, None).strip(), \ - oe.buildcfg.get_metadata_git_revision(i, None)) \ - for i in layers] + revisions = oe.buildcfg.get_layer_revisions(d) + layers_branch_rev = ["%-20s = \"%s:%s\"" % (r[1], r[2], r[3]) for r in revisions] i = len(layers_branch_rev)-1 p1 = layers_branch_rev[i].find("=") s1 = layers_branch_rev[i][p1:] diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass index 6fffd47189..4ba9ec8f25 100644 --- a/meta/classes/buildhistory.bbclass +++ b/meta/classes/buildhistory.bbclass @@ -742,13 +742,9 @@ def buildhistory_get_build_id(d): return('\n%s\n%s\n' % (statusheader, '\n'.join(statuslines))) 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%s" % (os.path.basename(i), \ - oe.buildcfg.get_metadata_git_branch(i, None).strip(), \ - oe.buildcfg.get_metadata_git_revision(i, None), \ - oe.buildcfg.is_layer_modified(i)) \ - for i in layers] + # We want an easily machine-readable format here + revisions = oe.buildcfg.get_layer_revisions(d) + medadata_revs = ["%-17s = %s:%s%s" % (r[1], r[2], r[3], r[4]) for r in revisions] return '\n'.join(medadata_revs) def outputvars(vars, listvars, d): diff --git a/meta/classes/image-buildinfo.bbclass b/meta/classes/image-buildinfo.bbclass index c149660f31..d4a12b5e10 100644 --- a/meta/classes/image-buildinfo.bbclass +++ b/meta/classes/image-buildinfo.bbclass @@ -28,12 +28,8 @@ def image_buildinfo_outputvars(vars, d): # Returns layer revisions along with their respective status def get_layer_revs(d): - layers = (d.getVar("BBLAYERS") or "").split() - medadata_revs = ["%-17s = %s:%s %s" % (os.path.basename(i), \ - oe.buildcfg.get_metadata_git_branch(i, None).strip(), \ - oe.buildcfg.get_metadata_git_revision(i, None), \ - oe.buildcfg.is_layer_modified(i)) \ - for i in layers] + revisions = oe.buildcfg.get_layer_revisions(d) + medadata_revs = ["%-17s = %s:%s%s" % (r[1], r[2], r[3], r[4]) for r in revisions] return '\n'.join(medadata_revs) def buildinfo_target(d): diff --git a/meta/lib/oe/buildcfg.py b/meta/lib/oe/buildcfg.py index 364c40a2f0..90f5e05715 100644 --- a/meta/lib/oe/buildcfg.py +++ b/meta/lib/oe/buildcfg.py @@ -40,3 +40,10 @@ def is_layer_modified(path): # (expected) return code 1 in a modified git repo. For example, we get # output and a 129 return code when a layer isn't a git repo at all. return " -- modified" + +def get_layer_revisions(d): + layers = (d.getVar("BBLAYERS") or "").split() + revisions = [] + for i in layers: + revisions.append((i, os.path.basename(i), get_metadata_git_branch(i, None).strip(), get_metadata_git_revision(i, None), is_layer_modified(i))) + return revisions |