From b6b8d27f53e212b0446e0c5bf4534e75e2b37f4a Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Wed, 26 Aug 2026 15:35:07 +0500 Subject: [PATCH] package-zip-archives: fix using wrong pattern for detecting `SONAME` See example below - `Shared library` is used to declarate dependency, `Library soname` is used to declare `SONAME`. ``` 0x0000000000000001 (NEEDED) Shared library: [libifcopenshell.plugin.so] 0x0000000000000001 (NEEDED) Shared library: [libstdc++.so.6] 0x0000000000000001 (NEEDED) Shared library: [libm.so.6] 0x0000000000000001 (NEEDED) Shared library: [libgcc_s.so.1] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x0000000000000001 (NEEDED) Shared library: [ld-linux-x86-64.so.2] 0x000000000000000e (SONAME) Library soname: [libifcopenshell.parse.so] ``` --- nix/package-zip-archives.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/nix/package-zip-archives.py b/nix/package-zip-archives.py index b4128f992b..55ed327172 100644 --- a/nix/package-zip-archives.py +++ b/nix/package-zip-archives.py @@ -72,8 +72,7 @@ def ensure_soname_links(dest: Path) -> None: readelf_output = run("readelf", "-d", str(shared_object)) except subprocess.CalledProcessError: continue - # TODO: actual pattern is "Library soname" instead of "Shared library"? - match = re.search(r"\(SONAME\).*Shared library: \[(.*)\]", readelf_output) + match = re.search(r"\(SONAME\).*Library soname: \[(.*)\]", readelf_output) if not match: continue soname = match.group(1)