mirror of
https://git.yoctoproject.org/poky
synced 2026-04-18 21:32:12 +02:00
classes/debian: clean up process spawning
This code is old and was of it's time, rewrite it to use modernish (we support Python 3.4, so can't use subprocess.run()) subprocess and re idioms instead. (From OE-Core rev: 8f7fdab41b8d6aced6753920bb5deed147c9baa8) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
eaf2636f6c
commit
e23298ca85
@@ -25,7 +25,7 @@ python () {
|
||||
}
|
||||
|
||||
python debian_package_name_hook () {
|
||||
import glob, copy, stat, errno, re, pathlib
|
||||
import glob, copy, stat, errno, re, pathlib, subprocess
|
||||
|
||||
pkgdest = d.getVar("PKGDEST")
|
||||
packages = d.getVar('PACKAGES')
|
||||
@@ -76,15 +76,14 @@ python debian_package_name_hook () {
|
||||
if path in libdirs:
|
||||
has_libs = 1
|
||||
if so_re.match(os.path.basename(f)):
|
||||
cmd = (d.getVar('TARGET_PREFIX') or "") + "objdump -p " + f + " 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))
|
||||
|
||||
try:
|
||||
cmd = [d.expand("${TARGET_PREFIX}objdump"), "-p", f]
|
||||
output = subprocess.check_output(cmd).decode("utf-8")
|
||||
for m in re.finditer("\s+SONAME\s+([^\s]+)", output):
|
||||
if m.group(1) not in sonames:
|
||||
sonames.append(m.group(1))
|
||||
except subprocess.CalledProcessError:
|
||||
pass
|
||||
bb.debug(1, 'LIBNAMES: pkg %s libs %d bins %d sonames %s' % (orig_pkg, has_libs, has_bins, sonames))
|
||||
soname = None
|
||||
if len(sonames) == 1:
|
||||
|
||||
Reference in New Issue
Block a user