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:06:16 +0000 |
commit | f9acd756746e61b82b58d300f3ab13f3b086787d (patch) | |
tree | bd9f10df4467568df3784fc84922eb68c94edc62 | |
parent | 5711e0cf88fac0de8a5317b16a287b335c827c8f (diff) | |
download | openembedded-core-f9acd756746e61b82b58d300f3ab13f3b086787d.tar.gz openembedded-core-f9acd756746e61b82b58d300f3ab13f3b086787d.tar.bz2 openembedded-core-f9acd756746e61b82b58d300f3ab13f3b086787d.zip |
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]
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
-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() { self.pr = "r0" self.depends = "" self.packages = "" + self.bbfile = "" + self.src_uri = "" + self.srcrev = "" + self.srcrev_autorev = "" + class PackageInfo: def __init__(self, name): @@ -152,6 +157,12 @@ python buildhistory_emit_pkghistory() { pe = d.getVar('PE', True) or "0" pv = d.getVar('PV', True) pr = d.getVar('PR', True) + + bbfile = d.getVar('BB_FILENAME', True) + src_uri = d.getVar('SRC_URI', True) + srcrev = d.getVar('SRCREV', True) + srcrev_autorev = 'yes' if d.getVar('SRCREV', False) == 'AUTOINC' else 'no' + packages = squashspaces(d.getVar('PACKAGES', True)) packagelist = packages.split() @@ -160,7 +171,7 @@ python buildhistory_emit_pkghistory() { else: # Remove files for packages that no longer exist for item in os.listdir(pkghistdir): - if item != "latest": + if item != "latest" and item != "latest_srcrev": if item not in packagelist: subdir = os.path.join(pkghistdir, item) for subfile in os.listdir(subdir): @@ -172,6 +183,10 @@ python buildhistory_emit_pkghistory() { rcpinfo.pv = pv rcpinfo.pr = pr rcpinfo.depends = sortlist(squashspaces(d.getVar('DEPENDS', True) or "")) + rcpinfo.bbfile = bbfile + rcpinfo.src_uri = src_uri + rcpinfo.srcrev = srcrev + rcpinfo.srcrev_autorev = srcrev_autorev rcpinfo.packages = packages write_recipehistory(rcpinfo, d) @@ -243,6 +258,12 @@ def write_recipehistory(rcpinfo, d): f.write("DEPENDS = %s\n" % rcpinfo.depends) f.write("PACKAGES = %s\n" % rcpinfo.packages) + if rcpinfo.srcrev: + srcrevfile = os.path.join(pkghistdir, "latest_srcrev") + with open(srcrevfile, "w") as f: + f.write(','.join([rcpinfo.bbfile, rcpinfo.src_uri, rcpinfo.srcrev, + rcpinfo.srcrev_autorev])) + def write_pkghistory(pkginfo, d): bb.debug(2, "Writing package history for package %s" % pkginfo.name) |