package.bbclass: Avoid copying the datastore for FILES handling

There is no real point in adjusting overrides and creating a copy of the datastore,
just to access a single variable. We can do this just as easily with a slightly
more complicated getVar call. This improves performance.

(From OE-Core rev: 69f4351809359a0c7c38e8f233f3e3f7680ed2e2)

(From OE-Core rev: b5d65f5d5e5b26d3a2c673e899114c90bcaf6bc8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2013-01-29 13:51:06 +00:00
parent b0a2f55ccc
commit 8a0b4578ec
1 changed files with 1 additions and 10 deletions

View File

@ -949,18 +949,10 @@ python populate_packages () {
seen = []
for pkg in package_list:
localdata = bb.data.createCopy(d)
root = os.path.join(pkgdest, pkg)
bb.mkdirhier(root)
localdata.setVar('PKG', pkg)
overrides = localdata.getVar('OVERRIDES', True)
if not overrides:
raise bb.build.FuncFailed('OVERRIDES not defined')
localdata.setVar('OVERRIDES', overrides + ':' + pkg)
bb.data.update_data(localdata)
filesvar = localdata.getVar('FILES', True) or ""
filesvar = d.getVar('FILES_%s' % pkg, True) or d.getVar('FILES', True) or ""
if "//" in filesvar:
bb.warn("FILES variable for package %s contains '//' which is invalid. Attempting to fix this but you should correct the metadata.\n" % pkg)
filesvar.replace("//", "/")
@ -1023,7 +1015,6 @@ python populate_packages () {
if ret is False or ret == 0:
raise bb.build.FuncFailed("File population failed")
del localdata
os.chdir(workdir)
unshipped = []