linters: add classic confinement linter
Metadata
Current evaluation
Merged #3849 in commit 82cf4c1d4, adding a classic-confinement linter for ELF interpreter, rpath, and staged-libc issues.
Resolution: closed resolved
Reason: PR #3849 was merged as commit 82cf4c1d4. The change adds the requested linter and supporting ELF infrastructure updates.
Evaluated by: mr-cal-bot
No scores available.
Issue body
The classic linter warns if elf binary interpreter or rpath values
are not set to expected values for classic confinement or if libc
is staged. In this case, values from the base snap or `$ORIGIN`
should be used.
Note: this PR includes many adjustments to the existing elf
infrastructure used by the classic linter.
Signed-off-by: Claudio Matsuoka <claudio.matsuoka@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/)?
- [ ] Have you successfully run `make lint`?
- [ ] Have you successfully run `pytest tests/unit`?
-----
CRAFT-1090
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged #3849 in commit 82cf4c1d4, adding a classic-confinement linter for ELF interpreter, rpath, and staged-libc issues. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged #3849 in commit 82cf4c1d4, adding a classic-confinement linter for ELF interpreter/rpath and staged-libc issues plus ELF infrastructure updates. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged #3849 (commit 82cf4c1d4), adding a classic confinement linter for ELF interpreter/rpath and staged libc issues, with related ELF infrastructure updates. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged addition of a classic confinement linter warning about incorrect elf binary interpreter or rpath values and staged libc. Adjusts existing elf infrastructure, passed review and CI, was rebased on main, and increased code coverage. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged addition of a classic confinement linter to validate ELF interpreter and rpath values against base snap or $ORIGIN settings. Includes underlying ELF infrastructure updates and was rebased on main before integration. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #3872 linters: add missing library linter | snapcraft | merged | Merged PR #3872 as c5f4d8b53, adding a linter for missing ELF payload dependencies and fixing filename filtering in the classic linter. | |
| #3978 linters: fix classic linter interpreter warning | snapcraft | merged | Merged #3978 into hotfix/7.2 via 06ca48442, limiting the classic-linter interpreter check to files that contain an interpreter section. |