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>
This commit is contained in:
parent
6159ad1063
commit
d4e4703226
|
@ -45,6 +45,11 @@ python buildhistory_emit_pkghistory() {
|
||||||
self.pr = "r0"
|
self.pr = "r0"
|
||||||
self.depends = ""
|
self.depends = ""
|
||||||
self.packages = ""
|
self.packages = ""
|
||||||
|
self.bbfile = ""
|
||||||
|
self.src_uri = ""
|
||||||
|
self.srcrev = ""
|
||||||
|
self.srcrev_autorev = ""
|
||||||
|
|
||||||
|
|
||||||
class PackageInfo:
|
class PackageInfo:
|
||||||
def __init__(self, name):
|
def __init__(self, name):
|
||||||
|
@ -152,6 +157,12 @@ python buildhistory_emit_pkghistory() {
|
||||||
pe = d.getVar('PE', True) or "0"
|
pe = d.getVar('PE', True) or "0"
|
||||||
pv = d.getVar('PV', True)
|
pv = d.getVar('PV', True)
|
||||||
pr = d.getVar('PR', 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))
|
packages = squashspaces(d.getVar('PACKAGES', True))
|
||||||
|
|
||||||
packagelist = packages.split()
|
packagelist = packages.split()
|
||||||
|
@ -160,7 +171,7 @@ python buildhistory_emit_pkghistory() {
|
||||||
else:
|
else:
|
||||||
# Remove files for packages that no longer exist
|
# Remove files for packages that no longer exist
|
||||||
for item in os.listdir(pkghistdir):
|
for item in os.listdir(pkghistdir):
|
||||||
if item != "latest":
|
if item != "latest" and item != "latest_srcrev":
|
||||||
if item not in packagelist:
|
if item not in packagelist:
|
||||||
subdir = os.path.join(pkghistdir, item)
|
subdir = os.path.join(pkghistdir, item)
|
||||||
for subfile in os.listdir(subdir):
|
for subfile in os.listdir(subdir):
|
||||||
|
@ -172,6 +183,10 @@ python buildhistory_emit_pkghistory() {
|
||||||
rcpinfo.pv = pv
|
rcpinfo.pv = pv
|
||||||
rcpinfo.pr = pr
|
rcpinfo.pr = pr
|
||||||
rcpinfo.depends = sortlist(squashspaces(d.getVar('DEPENDS', True) or ""))
|
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
|
rcpinfo.packages = packages
|
||||||
write_recipehistory(rcpinfo, d)
|
write_recipehistory(rcpinfo, d)
|
||||||
|
|
||||||
|
@ -243,6 +258,12 @@ def write_recipehistory(rcpinfo, d):
|
||||||
f.write("DEPENDS = %s\n" % rcpinfo.depends)
|
f.write("DEPENDS = %s\n" % rcpinfo.depends)
|
||||||
f.write("PACKAGES = %s\n" % rcpinfo.packages)
|
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):
|
def write_pkghistory(pkginfo, d):
|
||||||
bb.debug(2, "Writing package history for package %s" % pkginfo.name)
|
bb.debug(2, "Writing package history for package %s" % pkginfo.name)
|
||||||
|
|
Loading…
Reference in New Issue