summaryrefslogtreecommitdiffstats
path: root/meta/lib/oe
diff options
context:
space:
mode:
authorEtienne Cordonnier <ecordonnier@snap.com>2024-01-12 16:20:30 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2024-01-15 21:42:05 +0000
commit248ca79a6400e063c4965f9542c614bf837ff758 (patch)
tree6851ce6052cf3216046e1a85afcf78ec5144245c /meta/lib/oe
parent67b06035326048323f972107f66eb50cf74def0b (diff)
downloadopenembedded-core-248ca79a6400e063c4965f9542c614bf837ff758.tar.gz
package.py: fix Darwin support
- 'subprocess.Popen([d.expand("${HOST_PREFIX}otool)' requires text-mode (a more readable alias for the universal_newlines parameter), since otool produces text and the code 'out.split("\n")' expects a string, not a bytes object. otool is used on MacOS only, so this error isn't triggered on Linux. - use 'startswith("darwin")' in order to support all darwin versions and not just specific versions (meta-darwin supports darwin21 at the moment). Signed-off-by: Dominik Schnitzer <dominik@snap.com> Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oe')
-rw-r--r--meta/lib/oe/package.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/meta/lib/oe/package.py b/meta/lib/oe/package.py
index 9a465eaa09..702d8403be 100644
--- a/meta/lib/oe/package.py
+++ b/meta/lib/oe/package.py
@@ -1615,7 +1615,7 @@ def process_shlibs(pkgfiles, d):
sonames.add(prov)
if file.endswith('.dylib') or file.endswith('.so'):
rpath = []
- p = subprocess.Popen([d.expand("${HOST_PREFIX}otool"), '-l', file], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+ p = subprocess.Popen([d.expand("${HOST_PREFIX}otool"), '-l', file], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
out, err = p.communicate()
# If returned successfully, process stdout for results
if p.returncode == 0:
@@ -1624,7 +1624,7 @@ def process_shlibs(pkgfiles, d):
if l.startswith('path '):
rpath.append(l.split()[1])
- p = subprocess.Popen([d.expand("${HOST_PREFIX}otool"), '-L', file], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+ p = subprocess.Popen([d.expand("${HOST_PREFIX}otool"), '-L', file], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
out, err = p.communicate()
# If returned successfully, process stdout for results
if p.returncode == 0:
@@ -1686,7 +1686,7 @@ def process_shlibs(pkgfiles, d):
soname = None
if cpath.islink(file):
continue
- if hostos == "darwin" or hostos == "darwin8":
+ if hostos.startswith("darwin"):
darwin_so(file, needed, sonames, renames, pkgver)
elif hostos.startswith("mingw"):
mingw_dll(file, needed, sonames, renames, pkgver)