[oe-commits] Constantin Musca : buildhistory.bbclass: add support for SRCREV logging

git at git.openembedded.org git at git.openembedded.org
Thu Mar 7 11:14:09 UTC 2013


Module: openembedded-core.git
Branch: master
Commit: f9acd756746e61b82b58d300f3ab13f3b086787d
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=f9acd756746e61b82b58d300f3ab13f3b086787d

Author: Constantin Musca <constantinx.musca at intel.com>
Date:   Wed Feb 27 17:37:24 2013 +0200

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 at intel.com>
Signed-off-by: Saul Wold <sgw at linux.intel.com>

---

 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 43780ad..07b3c1e 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)





More information about the Openembedded-commits mailing list