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:
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user