mirror of
https://git.yoctoproject.org/poky
synced 2026-05-08 05:09:24 +00:00
package: Fix darwin shlibs code
We need to scan binaries as well as libraries for dependencies. Also ensure if its not an object file (as found by otool), we handle this case. (From OE-Core rev: 3a26862b7a7e0ff247bd1441d670443e83fca391) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -1470,17 +1470,19 @@ python package_do_shlibs() {
|
||||
if l.startswith('path '):
|
||||
rpath.append(l.split()[1])
|
||||
|
||||
p = sub.Popen([d.expand("${HOST_PREFIX}otool"), '-L', file],stdout=sub.PIPE,stderr=sub.PIPE)
|
||||
err, out = p.communicate()
|
||||
# If returned succesfully, process stderr for results
|
||||
if p.returncode == 0:
|
||||
for l in err.split("\n"):
|
||||
l = l.strip()
|
||||
if not l or l.endswith(":"):
|
||||
continue
|
||||
name = os.path.basename(l.split()[0]).rsplit(".", 1)[0]
|
||||
if name and name not in needed[pkg]:
|
||||
needed[pkg].append((name, file, []))
|
||||
p = sub.Popen([d.expand("${HOST_PREFIX}otool"), '-L', file],stdout=sub.PIPE,stderr=sub.PIPE)
|
||||
err, out = p.communicate()
|
||||
# If returned succesfully, process stderr for results
|
||||
if p.returncode == 0:
|
||||
for l in err.split("\n"):
|
||||
l = l.strip()
|
||||
if not l or l.endswith(":"):
|
||||
continue
|
||||
if "is not an object file" in l:
|
||||
continue
|
||||
name = os.path.basename(l.split()[0]).rsplit(".", 1)[0]
|
||||
if name and name not in needed[pkg]:
|
||||
needed[pkg].append((name, file, []))
|
||||
|
||||
if d.getVar('PACKAGE_SNAP_LIB_SYMLINKS', True) == "1":
|
||||
snap_symlinks = True
|
||||
|
||||
Reference in New Issue
Block a user