summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2022-06-09 11:52:14 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-06-11 10:30:57 +0100
commit38a9622ba35f674f66bc9e74512805f4834b606d (patch)
tree1f28ec109f11b51863e3f551b470addaf896212c
parent3ae4dd140a76acb64d776be925f5e56ac67746e0 (diff)
downloadpoky-38a9622ba35f674f66bc9e74512805f4834b606d.tar.gz
base/buildhistory/image-buildinfo: Use common buildcfg function
Reduce code duplication to a common function in oe.buildcfg. (From OE-Core rev: 0b191a1df4c3722defb09dde0c16b1d9e7fe7ef6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/base.bbclass7
-rw-r--r--meta/classes/buildhistory.bbclass10
-rw-r--r--meta/classes/image-buildinfo.bbclass8
-rw-r--r--meta/lib/oe/buildcfg.py7
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):
218 return oe.reproducible.epochfile_read(d.getVar('SDE_FILE'), d) 218 return oe.reproducible.epochfile_read(d.getVar('SDE_FILE'), d)
219 219
220def get_layers_branch_rev(d): 220def get_layers_branch_rev(d):
221 layers = (d.getVar("BBLAYERS") or "").split() 221 revisions = oe.buildcfg.get_layer_revisions(d)
222 layers_branch_rev = ["%-20s = \"%s:%s\"" % (os.path.basename(i), \ 222 layers_branch_rev = ["%-20s = \"%s:%s\"" % (r[1], r[2], r[3]) for r in revisions]
223 oe.buildcfg.get_metadata_git_branch(i, None).strip(), \
224 oe.buildcfg.get_metadata_git_revision(i, None)) \
225 for i in layers]
226 i = len(layers_branch_rev)-1 223 i = len(layers_branch_rev)-1
227 p1 = layers_branch_rev[i].find("=") 224 p1 = layers_branch_rev[i].find("=")
228 s1 = layers_branch_rev[i][p1:] 225 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):
742 return('\n%s\n%s\n' % (statusheader, '\n'.join(statuslines))) 742 return('\n%s\n%s\n' % (statusheader, '\n'.join(statuslines)))
743 743
744def buildhistory_get_metadata_revs(d): 744def buildhistory_get_metadata_revs(d):
745 # We want an easily machine-readable format here, so get_layers_branch_rev isn't quite what we want 745 # We want an easily machine-readable format here
746 layers = (d.getVar("BBLAYERS") or "").split() 746 revisions = oe.buildcfg.get_layer_revisions(d)
747 medadata_revs = ["%-17s = %s:%s%s" % (os.path.basename(i), \ 747 medadata_revs = ["%-17s = %s:%s%s" % (r[1], r[2], r[3], r[4]) for r in revisions]
748 oe.buildcfg.get_metadata_git_branch(i, None).strip(), \
749 oe.buildcfg.get_metadata_git_revision(i, None), \
750 oe.buildcfg.is_layer_modified(i)) \
751 for i in layers]
752 return '\n'.join(medadata_revs) 748 return '\n'.join(medadata_revs)
753 749
754def outputvars(vars, listvars, d): 750def 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):
28 28
29# Returns layer revisions along with their respective status 29# Returns layer revisions along with their respective status
30def get_layer_revs(d): 30def get_layer_revs(d):
31 layers = (d.getVar("BBLAYERS") or "").split() 31 revisions = oe.buildcfg.get_layer_revisions(d)
32 medadata_revs = ["%-17s = %s:%s %s" % (os.path.basename(i), \ 32 medadata_revs = ["%-17s = %s:%s%s" % (r[1], r[2], r[3], r[4]) for r in revisions]
33 oe.buildcfg.get_metadata_git_branch(i, None).strip(), \
34 oe.buildcfg.get_metadata_git_revision(i, None), \
35 oe.buildcfg.is_layer_modified(i)) \
36 for i in layers]
37 return '\n'.join(medadata_revs) 33 return '\n'.join(medadata_revs)
38 34
39def buildinfo_target(d): 35def 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):
40 # (expected) return code 1 in a modified git repo. For example, we get 40 # (expected) return code 1 in a modified git repo. For example, we get
41 # output and a 129 return code when a layer isn't a git repo at all. 41 # output and a 129 return code when a layer isn't a git repo at all.
42 return " -- modified" 42 return " -- modified"
43
44def get_layer_revisions(d):
45 layers = (d.getVar("BBLAYERS") or "").split()
46 revisions = []
47 for i in layers:
48 revisions.append((i, os.path.basename(i), get_metadata_git_branch(i, None).strip(), get_metadata_git_revision(i, None), is_layer_modified(i)))
49 return revisions