diff options
author | Constantin Musca <constantinx.musca@intel.com> | 2013-02-27 17:37:24 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-03-07 11:14:37 +0000 |
commit | d4e470322658af75db276ecbe8d906949541c872 (patch) | |
tree | 31ad7b30577ff17f9187c3b96497410092580f5e | |
parent | 6159ad1063f4be518d8f0a1c024f12fc16d13592 (diff) | |
download | poky-d4e470322658af75db276ecbe8d906949541c872.tar.gz |
buildhistory.bbclass: add support for SRCREV logging
- create "latest_srcrev" for each recipe with the following format:
${BB_FILENAME},${SRC_URI},${SRCREV},${FROM_AUTOREV}
[YOCTO #3041]
(From OE-Core rev: f9acd756746e61b82b58d300f3ab13f3b086787d)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-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) |