packages: fix symlink normalization
Metadata
Current evaluation
Merged PR #215 (branch cmatsuoka/fix/normalize-symlink-relpath, approved) replaced Path.relative_to() with os.path.relpath() when normalizing stage-package symlinks whose targets traverse parent path components. Landed as commit 45fe13c0, merged in cf1004fc.
Resolution: closed resolved
Reason: PR #215 was approved and merged into main via merge commit cf1004fc ("Merge pull request #215 from cmatsuoka/fix/normalize-symlink-relpath"), with the change itself in commit 45fe13c0. The code in craft_parts/packages/normalize.py now uses os.path.relpath(target, start=root) for symlink normalization, with a comment noting Path.relative_to() fails on non-subpath targets.
Evaluated by: mr-cal-bot
Issue body
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #215 (branch cmatsuoka/fix/normalize-symlink-relpath, approved) replaced Path.relative_to() with os.path.relpath() when normalizing stage-package symlinks whose targets traverse parent path components. Landed as commit 45fe13c0, merged in cf1004fc. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged fix replacing Path.relative_to() with os.path.relpath() to normalize symlinks that traverse parent path components. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #215 in commit 45fe13c0, replacing Path.relative_to() with os.path.relpath() to normalize symlinks requiring parent path components. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #215 via commit cf1004fc (45fe13c0), replacing Path.relative_to() with os.path.relpath() to normalize symlinks requiring parent path components. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged a fix for symlink normalization that replaces Path.relative_to() with os.path.relpath() to correctly resolve parent path components. Approved by reviewer and passed CI checks. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged a fix for package symlink normalization by replacing Path.relative_to() with os.path.relpath() to correctly resolve parent path components. |
Update history
No update history recorded yet.
Related work
-
Related To:
canonical/craft-parts#1424
(confidence 25%)
Later refactor commit cfdabafc ("refactor: use pathlib internally (#1424)") further touched normalize.py, but supersedes rather than resolves this change.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #217 Release 1.6.1 | craft-parts | merged | Merged release 1.6.1 with staged-package symlink normalization fix from PR #215 (commit 45fe13c0). |