diff options
-rw-r--r-- | meta/classes/buildhistory.bbclass | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass index 43780ad2da..07b3c1edaf 100644 --- a/meta/classes/buildhistory.bbclass +++ b/meta/classes/buildhistory.bbclass | |||
@@ -45,6 +45,11 @@ python buildhistory_emit_pkghistory() { | |||
45 | self.pr = "r0" | 45 | self.pr = "r0" |
46 | self.depends = "" | 46 | self.depends = "" |
47 | self.packages = "" | 47 | self.packages = "" |
48 | self.bbfile = "" | ||
49 | self.src_uri = "" | ||
50 | self.srcrev = "" | ||
51 | self.srcrev_autorev = "" | ||
52 | |||
48 | 53 | ||
49 | class PackageInfo: | 54 | class PackageInfo: |
50 | def __init__(self, name): | 55 | def __init__(self, name): |
@@ -152,6 +157,12 @@ python buildhistory_emit_pkghistory() { | |||
152 | pe = d.getVar('PE', True) or "0" | 157 | pe = d.getVar('PE', True) or "0" |
153 | pv = d.getVar('PV', True) | 158 | pv = d.getVar('PV', True) |
154 | pr = d.getVar('PR', True) | 159 | pr = d.getVar('PR', True) |
160 | |||
161 | bbfile = d.getVar('BB_FILENAME', True) | ||
162 | src_uri = d.getVar('SRC_URI', True) | ||
163 | srcrev = d.getVar('SRCREV', True) | ||
164 | srcrev_autorev = 'yes' if d.getVar('SRCREV', False) == 'AUTOINC' else 'no' | ||
165 | |||
155 | packages = squashspaces(d.getVar('PACKAGES', True)) | 166 | packages = squashspaces(d.getVar('PACKAGES', True)) |
156 | 167 | ||
157 | packagelist = packages.split() | 168 | packagelist = packages.split() |
@@ -160,7 +171,7 @@ python buildhistory_emit_pkghistory() { | |||
160 | else: | 171 | else: |
161 | # Remove files for packages that no longer exist | 172 | # Remove files for packages that no longer exist |
162 | for item in os.listdir(pkghistdir): | 173 | for item in os.listdir(pkghistdir): |
163 | if item != "latest": | 174 | if item != "latest" and item != "latest_srcrev": |
164 | if item not in packagelist: | 175 | if item not in packagelist: |
165 | subdir = os.path.join(pkghistdir, item) | 176 | subdir = os.path.join(pkghistdir, item) |
166 | for subfile in os.listdir(subdir): | 177 | for subfile in os.listdir(subdir): |
@@ -172,6 +183,10 @@ python buildhistory_emit_pkghistory() { | |||
172 | rcpinfo.pv = pv | 183 | rcpinfo.pv = pv |
173 | rcpinfo.pr = pr | 184 | rcpinfo.pr = pr |
174 | rcpinfo.depends = sortlist(squashspaces(d.getVar('DEPENDS', True) or "")) | 185 | rcpinfo.depends = sortlist(squashspaces(d.getVar('DEPENDS', True) or "")) |
186 | rcpinfo.bbfile = bbfile | ||
187 | rcpinfo.src_uri = src_uri | ||
188 | rcpinfo.srcrev = srcrev | ||
189 | rcpinfo.srcrev_autorev = srcrev_autorev | ||
175 | rcpinfo.packages = packages | 190 | rcpinfo.packages = packages |
176 | write_recipehistory(rcpinfo, d) | 191 | write_recipehistory(rcpinfo, d) |
177 | 192 | ||
@@ -243,6 +258,12 @@ def write_recipehistory(rcpinfo, d): | |||
243 | f.write("DEPENDS = %s\n" % rcpinfo.depends) | 258 | f.write("DEPENDS = %s\n" % rcpinfo.depends) |
244 | f.write("PACKAGES = %s\n" % rcpinfo.packages) | 259 | f.write("PACKAGES = %s\n" % rcpinfo.packages) |
245 | 260 | ||
261 | if rcpinfo.srcrev: | ||
262 | srcrevfile = os.path.join(pkghistdir, "latest_srcrev") | ||
263 | with open(srcrevfile, "w") as f: | ||
264 | f.write(','.join([rcpinfo.bbfile, rcpinfo.src_uri, rcpinfo.srcrev, | ||
265 | rcpinfo.srcrev_autorev])) | ||
266 | |||
246 | 267 | ||
247 | def write_pkghistory(pkginfo, d): | 268 | def write_pkghistory(pkginfo, d): |
248 | bb.debug(2, "Writing package history for package %s" % pkginfo.name) | 269 | bb.debug(2, "Writing package history for package %s" % pkginfo.name) |