← Back to issue list

elf: make patchelf a dependency

View original Github issue

Metadata

Project
snapcraft
Number
#1888
Type
pull request
State
merged
Author
sergiusens
Labels
Created
Updated
Closed

Current evaluation

Merged after reviewer approval and CI checks. The change corrects patchelf handling by removing it from build_tools and properly configuring it as a dependency via debian/control for deb packages and snapcraft bundling for snaps.

Suggested action:

No scores available.

Issue body

Making it a build_tools entry in the project_loader was the wrong call, we do not for example do the same for xdelta3. We should instead be handling it through the delivery mechanisms in place, such that it is in debian/control for the deb and bundled in the snapcraft snap when running from there. 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
qwen/qwen3.6-35b-a3b Merged after reviewer approval and CI checks. The change corrects patchelf handling by removing it from build_tools and properly configuring it as a dependency via debian/control for deb packages and snapcraft bundling for snaps.
qwen3.6-35b-a3b-mtp-q6 Merged. Moved patchelf from build_tools to proper delivery mechanisms, ensuring it is included in debian/control for Debian packages and bundled within the snapcraft snap.
qwen3.6-35b-a3b-mtp-q6 Merged. Moved patchelf from project_loader build_tools to standard delivery mechanisms, declaring it in debian/control for deb packages and bundling it in the snapcraft snap for correct dependency handling.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#3841 elf: add elf file patcher snapcraft merged Merged an ELF file patcher using patchelf, ported from Snapcraft 6.x. Approved by one reviewer, passed CI checks, and increased test coverage by 0.26%. Resolves CRAFT-1191.
80%
#5486 build: add patchelf to make dependencies snapcraft merged Merged to add patchelf to development environment dependencies, resolving test failures on self-hosted runners. Approved by two reviewers and passed CI checks.
78%
#1873 elf: cleaner patchelf experience snapcraft merged Merged improvements to patchelf handling. The change uses the system patchelf by default, copies files to prevent hard-link conflicts, and provides fallback instructions. Approved by two reviewers and passed CI checks before merging.
77%
#2006 many: use packaging logic to get patchelf snapcraft merged Merged following reviewer approval and CI checks. Refactored patchelf retrieval to use shared packaging logic, aligning its version across snap and deb packages. Modified four files with a net reduction of 24 lines.
77%
#1798 elf: strip the .note.go.buildid to make room for patching elf snapcraft merged Merged. Strips the .note.go.buildid section from ELF binaries to resolve patchelf compatibility issues and fix build failures. Approved after passing CI checks. Introduces a newer patchelf build-snap dependency to ensure correct header patching.
76%
#2081 elf: patch everything instead of a subset of elf files snapcraft merged 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.
76%
#1967 project_loader: improve the logic to install patchelf as a build tool snapcraft merged Merged changes improving patchelf installation logic by excluding it on xenial/armhf and xenial/s390x due to broken builds. Users must provide it manually or use the build-snap. Approved and merged after clarifying error handling and architecture exclusions.
76%
#3589 snap: correct patch apply for patchelf snapcraft merged Merged a two-line fix correcting patch application for patchelf. Approved by a reviewer, passed CI, and merged to master. An unrelated test failure was noted but disregarded to proceed.
75%
#1742707 patchelf is missing from snapcraft Depends: snapcraft (launchpad) closed Closed. Package dependencies were updated to include patchelf, resolving the missing binary error during snap builds.
75%
#1864 debian/control: Add patchelf to Depends: snapcraft closed Closed without merging. Maintainers declined adding patchelf to Debian dependencies due to Xenial version constraints, noting it is supplied via build snaps or Docker images. Abandoned in favor of existing distribution methods.
75%