summaryrefslogtreecommitdiffstats
path: root/meta/classes/package.bbclass
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2014-08-04 15:22:49 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-08-04 16:25:46 +0100
commitb52132122c9e68bac91099aac908de2b0c199892 (patch)
tree5e1f1f57fa528ab353b351eaf13f1a7dcbcd7f7f /meta/classes/package.bbclass
parent0a7530fcd2e8ae91b297a3ebd9877957f0550d4c (diff)
downloadast2050-yocto-poky-b52132122c9e68bac91099aac908de2b0c199892.zip
ast2050-yocto-poky-b52132122c9e68bac91099aac908de2b0c199892.tar.gz
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>
Diffstat (limited to 'meta/classes/package.bbclass')
-rw-r--r--meta/classes/package.bbclass24
1 files changed, 13 insertions, 11 deletions
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 97a92ef..6a552d9 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -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
OpenPOWER on IntegriCloud