diff options
author | Etienne Cordonnier <ecordonnier@snap.com> | 2024-01-12 16:20:30 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-01-15 21:42:05 +0000 |
commit | 248ca79a6400e063c4965f9542c614bf837ff758 (patch) | |
tree | 6851ce6052cf3216046e1a85afcf78ec5144245c /meta/lib/oe | |
parent | 67b06035326048323f972107f66eb50cf74def0b (diff) | |
download | openembedded-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.py | 6 |
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) |