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) |
