1
0
mirror of https://git.yoctoproject.org/poky synced 2026-06-02 13:29:49 +00:00

classes/conf: Add eventmasks for event handlers

Now that bitbake supports masking events for event handlers, lets use
this so event handlers are only called for events they care about. This
lets us simplify the code indentation a bit at least as well as mildly
improving the event handling performance.

(From OE-Core rev: bff73743280f9eafebe4591f7368ead91a4eb74d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2013-06-12 16:31:57 +00:00
parent 98abb113a0
commit 53841ce521
19 changed files with 102 additions and 110 deletions
+29 -29
View File
@@ -6,41 +6,41 @@ python migrate_localcount_handler () {
if not e.data:
return
if isinstance(e, bb.event.RecipeParsed):
pv = e.data.getVar('PV', True)
if not 'AUTOINC' in pv:
return
pv = e.data.getVar('PV', True)
if not 'AUTOINC' in pv:
return
localcounts = bb.persist_data.persist('BB_URI_LOCALCOUNT', e.data)
pn = e.data.getVar('PN', True)
revs = localcounts.get_by_pattern('%%-%s_rev' % pn)
counts = localcounts.get_by_pattern('%%-%s_count' % pn)
if not revs or not counts:
return
localcounts = bb.persist_data.persist('BB_URI_LOCALCOUNT', e.data)
pn = e.data.getVar('PN', True)
revs = localcounts.get_by_pattern('%%-%s_rev' % pn)
counts = localcounts.get_by_pattern('%%-%s_count' % pn)
if not revs or not counts:
return
if len(revs) != len(counts):
bb.warn("The number of revs and localcounts don't match in %s" % pn)
return
if len(revs) != len(counts):
bb.warn("The number of revs and localcounts don't match in %s" % pn)
return
version = e.data.getVar('PRAUTOINX', True)
srcrev = bb.fetch2.get_srcrev(e.data)
base_ver = 'AUTOINC-%s' % version[:version.find(srcrev)]
pkgarch = e.data.getVar('PACKAGE_ARCH', True)
value = max(int(count) for count in counts)
version = e.data.getVar('PRAUTOINX', True)
srcrev = bb.fetch2.get_srcrev(e.data)
base_ver = 'AUTOINC-%s' % version[:version.find(srcrev)]
pkgarch = e.data.getVar('PACKAGE_ARCH', True)
value = max(int(count) for count in counts)
if len(revs) == 1:
if srcrev != ('AUTOINC+%s' % revs[0]):
value += 1
else:
if len(revs) == 1:
if srcrev != ('AUTOINC+%s' % revs[0]):
value += 1
else:
value += 1
bb.utils.mkdirhier(e.data.getVar('PRSERV_DUMPDIR', True))
df = e.data.getVar('LOCALCOUNT_DUMPFILE', True)
flock = bb.utils.lockfile("%s.lock" % df)
with open(df, 'a') as fd:
fd.write('PRAUTO$%s$%s$%s = "%s"\n' %
(base_ver, pkgarch, srcrev, str(value)))
bb.utils.unlockfile(flock)
bb.utils.mkdirhier(e.data.getVar('PRSERV_DUMPDIR', True))
df = e.data.getVar('LOCALCOUNT_DUMPFILE', True)
flock = bb.utils.lockfile("%s.lock" % df)
with open(df, 'a') as fd:
fd.write('PRAUTO$%s$%s$%s = "%s"\n' %
(base_ver, pkgarch, srcrev, str(value)))
bb.utils.unlockfile(flock)
}
addhandler migrate_localcount_handler
migrate_localcount_handler[eventmask] = "bb.event.RecipeParsed"