sources: support symlinks in deb sources
Metadata
Current evaluation
Merged PR #941 (commit 2ed733d7c), switching deb extraction to python3-debian so symlinks in deb sources are preserved instead of becoming directories.
Resolution: closed resolved
Reason: PR #941 was merged as commit 2ed733d7c. It replaced python3-apt extraction with python3-debian, fixing LP #1634813's symlink handling.
Evaluated by: mr-cal-bot
No scores available.
Issue body
This PR fixes LP: [#1634813](https://bugs.launchpad.net/snapcraft/+bug/1634813) by using python3-debian to extract debs instead of python3-apt, whose `extractall` method creates directories when it encounters symlinks.
Note that this does add another dependency-- did I put it everywhere?
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #941 (commit 2ed733d7c), switching deb extraction to python3-debian so symlinks in deb sources are preserved instead of becoming directories. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #941 as commit 2ed733d7c, switching DEB extraction from python3-apt to python3-debian to preserve symlinks; also added chardet pending a python-debian packaging fix. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged to resolve symlink handling in deb sources by replacing python3-apt with python3-debian for extraction. Added chardet to requirements.txt to bypass a known pip dependency bug. Approved and passed CI. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Fixed symlink handling in deb sources by switching extraction from python3-apt to python3-debian. Added python-debian and chardet to requirements.txt to resolve pip installation and import issues. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1634813 Symbolic links inside .deb pulled as directories | snapcraft (launchpad) | closed | Fixed by snapcore/snapcraft PR #941 (commit 2ed733d7c), adding symlink support when extracting Debian source packages. | |
| #269 sources: support "deb" sources | craft-parts | merged | Merged PR #269 in commit d75aa1d8, adding .deb source support via dpkg-deb and sharing extract_deb() with stage-package handling. |