mirror of
https://git.yoctoproject.org/poky
synced 2026-07-26 19:17:07 +00:00
package: Create global package file list and use throughout PACKAGEFUNCS
Currently we do a signficant amount of tree traversal in many different places which in inefficient. We can assume that the files don't change and cache the file list which gives an efficiency improvement which this patch does using a global variable. (From OE-Core rev: 2d7608842d2dab07065e60aab729a5c8fd6b7907) (From OE-Core rev: 5c7c8347eb1bc25d194be6f4be142ba0924e2600) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
+13
-15
@@ -51,23 +51,21 @@ python debian_package_name_hook () {
|
||||
sonames = []
|
||||
has_bins = 0
|
||||
has_libs = 0
|
||||
pkg_dir = os.path.join(pkgdest, orig_pkg)
|
||||
for root, dirs, files in os.walk(pkg_dir):
|
||||
if bin_re.match(root) and files:
|
||||
for file in pkgfiles[orig_pkg]:
|
||||
root = os.path.dirname(file)
|
||||
if bin_re.match(root):
|
||||
has_bins = 1
|
||||
if lib_re.match(root) and files:
|
||||
if lib_re.match(root):
|
||||
has_libs = 1
|
||||
for f in files:
|
||||
if so_re.match(f):
|
||||
fp = os.path.join(root, f)
|
||||
cmd = (d.getVar('TARGET_PREFIX', True) or "") + "objdump -p " + fp + " 2>/dev/null"
|
||||
fd = os.popen(cmd)
|
||||
lines = fd.readlines()
|
||||
fd.close()
|
||||
for l in lines:
|
||||
m = re.match("\s+SONAME\s+([^\s]*)", l)
|
||||
if m and not m.group(1) in sonames:
|
||||
sonames.append(m.group(1))
|
||||
if so_re.match(os.path.basename(file)):
|
||||
cmd = (d.getVar('TARGET_PREFIX', True) or "") + "objdump -p " + file + " 2>/dev/null"
|
||||
fd = os.popen(cmd)
|
||||
lines = fd.readlines()
|
||||
fd.close()
|
||||
for l in lines:
|
||||
m = re.match("\s+SONAME\s+([^\s]*)", l)
|
||||
if m and not m.group(1) in sonames:
|
||||
sonames.append(m.group(1))
|
||||
|
||||
bb.debug(1, 'LIBNAMES: pkg %s libs %d bins %d sonames %s' % (orig_pkg, has_libs, has_bins, sonames))
|
||||
soname = None
|
||||
|
||||
Reference in New Issue
Block a user