[oe-commits] Richard Purdie : package.bbclass: Avoid copying the datastore for FILES handling

git at git.openembedded.org git at git.openembedded.org
Wed Jan 30 14:16:38 UTC 2013


Module: openembedded-core.git
Branch: master-next
Commit: a9ec8511eacd7bd5c9145753e5edad6e7b70a54e
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=a9ec8511eacd7bd5c9145753e5edad6e7b70a54e

Author: Richard Purdie <richard.purdie at linuxfoundation.org>
Date:   Tue Jan 29 13:51:06 2013 +0000

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.

Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 meta/classes/package.bbclass |   11 +----------
 1 files changed, 1 insertions(+), 10 deletions(-)

diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 51ab009..4e7db9a 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -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 = []





More information about the Openembedded-commits mailing list