summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConstantin Musca <constantinx.musca@intel.com>2013-02-27 17:37:24 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-03-07 11:06:16 +0000
commitf9acd756746e61b82b58d300f3ab13f3b086787d (patch)
treebd9f10df4467568df3784fc84922eb68c94edc62
parent5711e0cf88fac0de8a5317b16a287b335c827c8f (diff)
downloadopenembedded-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.bbclass23
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)