← Back to issue list

refactor: rewrite elf file support

View original Github issue

Metadata

Project
debcraft
Number
#75
Type
pull request
State
merged
Author
cmatsuoka
Labels
—
Created
Updated
Closed

Current evaluation

Merged as c841273, replacing Snapcraft-derived ELF handling with deb-oriented library dependency support. Symbol support was deferred to follow-up work.

Resolution: closed resolved

Reason: PR #75 was merged with commit c841273 and explicitly fixes #72. The change rewrites ELF handling to cover the libraries needed for Debian package builds.

Evaluated by: mr-cal-bot

No scores available.

Issue body

Replace ELF file support from Snapcraft with an implementation that better matches deb building needs. This currently handles needed libraries. Symbols support to be added in a forthcoming PR. Fixes: #72 - [ ] Have you followed the guidelines for contributing? - [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? - [ ] Have you successfully run `make lint && make test`? ---

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Merged as c841273, replacing Snapcraft-derived ELF handling with deb-oriented library dependency support. Symbol support was deferred to follow-up work.
stealth/space-bunny-alpha — closed resolved Merged in canonical/debcraft#75 via c841273, replacing Snapcraft’s ELF support with an implementation tailored to deb builds. Needed libraries are handled; symbol support remains forthcoming.
qwen/qwen3.6-35b-a3b — — Merged rewrite of ELF file support to better match deb building needs, replacing Snapcraft's implementation. Handles needed libraries; symbol support deferred. Approved by two reviewers, passed all CI checks, and resolves #72.
qwen3.6-35b-a3b-mtp-q6 — — Merged. Replaced Snapcraft's ELF file support with a deb-focused implementation handling needed libraries, resolving #72. Symbol support deferred to a subsequent PR.

Update history

No update history recorded yet.

Related work

  • Related To: canonical/debcraft#72 (confidence 100%)

    The ELF handling issue explicitly fixed by PR #75.

  • Related To: canonical/debcraft#104 (confidence 95%)

    Later merged PR c70ce26 added the deferred symbols-based dependency support.

Related issues

Issue Project State Summary Similarity
#72 Refactor ELF file handling debcraft closed ELF handling was rewritten for Debcraft’s .deb workflow in merged PR #75 (commit c841273), replacing Snapcraft-derived code with shared-library dependency support; symbol handling was deferred.
86%
#3839 elf: add elf file handler class snapcraft merged PR #3839 was merged into main as commit 6830dc69c, porting the Snapcraft 6.x ElfFile handler into snapcraft/elf/_elf_file.py with helpers, ELF errors, and unit tests (CRAFT-1192).
75%
#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.
74%
#2929 elf: fixes for corrupt shared objects snapcraft merged Merged PR snapcore/snapcraft#2929 (commit 051f24e07, Feb 2020) catching elftools ConstructErrors as CorruptedElfFileError and skipping corrupt shared objects during library crawling.
73%
#3840 elf: add handling and patching helpers snapcraft merged Merged in snapcore/snapcraft#3840 via commit 8a9914510, adding helpers to enumerate ELF binaries and locate architecture-specific dynamic linkers.
72%
#1744 elf: conversion from libraries snapcraft merged Merged as ec7ba948a: converted snapcraft/internal/libraries.py into ELF-focused elf.py with type hints and mypy fixes, fixing #1666. Reviewer syntax/lint concerns were handled by follow-up PR #1745 (flake8 upgrade).
72%
#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.
72%
#3514 elf: add fallback methods to detect library dependencies snapcraft merged Merged in snapcore/snapcraft#3514 (commit 76ca948c4): ELF dependency detection now falls back from ldd to host-libc6 preloading and loader tracing before warning.
71%
#2830 elf: properly handle corrupted ELF files snapcraft merged Merged #2830 as commit 727ffbdb0, making Snapcraft warn and continue when corrupted ELF files are encountered during priming.
71%