elf: patch everything instead of a subset of elf files
Metadata
Current evaluation
Merged PR #2081 restored Snapcraft 2.39 behavior by patching every ELF file; commit 77770452b partially reverted 64f78f762a05.
Resolution: closed resolved
Reason: Merged PR snapcraft/snapcraft#2081 in commit 77770452b. It restored full ELF patching and partially reverted commit 64f78f762a05122fafe0a4d5defced2965603fb7.
Evaluated by: mr-cal-bot
No scores available.
Issue body
Bring back the behavior of 2.39, this is a half revert of
commit 64f78f762a05122fafe0a4d5defced2965603fb7
Signed-off-by: Sergio Schvezov <sergio.schvezov@canonical.com>
- [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [x] If this is a bugfix. Have you checked that there is a bug report open for the issue you are trying to fix on [bug reports](https://bugs.launchpad.net/snapcraft)?
- [x] If this is a new feature. Have you discussed the design on the [forum](https://forum.snapcraft.io)?
- [x] Have you successfully run `./runtests.sh static`?
- [x] Have you successfully run `./runtests.sh unit`?
-----
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #2081 restored Snapcraft 2.39 behavior by patching every ELF file; commit 77770452b partially reverted 64f78f762a05. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #2081 (commit 77770452b), restoring 2.39 behavior by patching all ELF files and half-reverting commit 64f78f762a05122fafe0a4d5defced2965603fb7. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged a pull request that restores Snapcraft 2.39 behavior by patching all ELF files instead of a subset, reverting a prior change. Approved and passed CI. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged to restore version 2.39 behavior by patching all ELF files instead of a subset. The change partially reverts a previous commit and passed all static and unit tests. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1935 elf: contemplate more patching scenarios | snapcraft | merged | Merged PR #1935 as 048adc4a3, adding ELF patching for classic snaps built on bionic targeting core16 and for hooks built with Snapcraft. | |
| #3841 elf: add elf file patcher | snapcraft | merged | Merged PR #3841 in commit e03a971b3, adding a patchelf-based ELF file patcher ported from Snapcraft 6.x for CRAFT-1191. | |
| #3589 snap: correct patch apply for patchelf | snapcraft | merged | Merged PR #3589 fixed PatchELF patch application in the snap build via commit d9484faf9 (merge a636d26b5). | |
| #3985 elf: patch elf files for classic mode | snapcraft | merged | Merged PR #3985 as commit a723254b9, adding classic-mode ELF patching so enable-patchelf parts use base-snap libraries or staged libc components. | |
| #1873 elf: cleaner patchelf experience | snapcraft | merged | Merged as df6992224: Snapcraft now prefers system Patchelf outside snaps and copies target files to avoid hard-link patching conflicts. | |
| #1959 elf: only patch elf files that aren't referenced by DT_NEEDED | snapcraft | merged | Merged as 64f78f762, adding architecture-aware DT_NEEDED filtering to reduce patchelf usage; PR #2081 later partially reverted it and restored patching every ELF file. | |
| #3588 snap: patch patchelf on riscv64 (CRAFT-566) | snapcraft | merged | Merged PR #3588 via commit bf99dbdb2, conditionally patching PatchELF on riscv64 while leaving other architectures unchanged. | |
| #1666 Refactor to support elf patching | snapcraft | closed | ELF patching support was refactored by merged PR #1744 in commit ec7ba948a, converting the ELF implementation into reusable libraries. | |
| #1669 patchelf with ld-linux from the future | snapcraft | closed | Resolved by commit bdaf0b7f1, which added Snapcraft handling for PatchELF and ELF files when the built glibc/linker does not match the base. | |
| #2528 packaging: use our patchelf branch | snapcraft | merged | Merged (commit bd26cafd6, squashed merge of #2528): snapcraft.yaml now points patchelf sources at Snapcore's own patchelf branch with the failing s390x test disabled, unblocking s390x package builds; later reverted by #2531. |