← Back to issue list

repo: fix regression in fix_symlink()

View original Github issue

Metadata

Project
snapcraft
Number
#3497
Type
pull request
State
merged
Author
cjp256
Labels
Created
Updated
Closed

Current evaluation

Merged a fix for a regression in fix_symlink() where copied files retained stale symlinks. The update ensures symlinks correctly point to new files and adds spread tests for relative and host copy scenarios. Approved by two reviewers and passed CI.

Suggested action:

No scores available.

Issue body

If the file was copied from host, the symlink was not updated to point to the new file. It was logged as being copied, but the copy wasn't utilized without a fixed (relative) symlink. Add spread tests to cover relative and host copy cases.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged a fix for a regression in fix_symlink() where copied files retained stale symlinks. The update ensures symlinks correctly point to new files and adds spread tests for relative and host copy scenarios. Approved by two reviewers and passed CI.
qwen3.6-35b-a3b-mtp-q6 Merged a fix for a regression in fix_symlink() where symlinks failed to update to newly copied host files. The change ensures relative symlinks are correctly resolved and adds spread tests for relative and host copy scenarios.
qwen3.6-35b-a3b-mtp-q6 Merged update to fix_symlink() correcting a regression where symlinks were not updated to newly copied host files. Symlinks now use relative paths, with added spread tests for relative and host copy cases.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#3370 repo: address issue with fix_symlink() when pointed at directory snapcraft merged Merged fix addressing fix_symlink() crashes when targeting directories. Updates behavior to warn about dangling symlinks, includes refactoring and documentation, and was approved by reviewers prior to merge.
84%
#215 packages: fix symlink normalization craft-parts merged 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.
77%
#117 fix: skip symlinks in md5sums debcraft merged Merged a fix that skips symlinks in md5sums. Approved by two reviewers, the change modifies two files with six added lines. CI checks passed aside from a non-blocking OSV-scanner failure.
77%
#2481 meta: handle symlinked hooks (#2478) snapcraft merged Merged a fix for a regression in symlinked hook handling that caused FileNotFoundErrors during permission changes. Approved by reviewer, passed CI, and updated 2 files to safely resolve symlinks before stat operations.
74%
#1174 copy, dump plugin: ignore symlinks to libc. snapcraft merged Merged. Updated copy and dump plugins to ignore symlinks to libc instead of removing them, resolving dangling symlink and build bugs from a prior fix. Approved by reviewers and passed CI.
73%
#131 Respect the symlink even if it's a directory when building. charmcraft merged Merged a pull request updating the build process to respect symlinks pointing to directories. Approved by three reviewers, passed CI checks, and modified two files with 85 additions and 15 deletions.
73%
#2628 pluginhandler: honour symlink directory paths for filesets (LP: #1833408) snapcraft merged Merged fix for symlink directory path handling in filesets, resolving usr-merge issues. Added regression tests, corrected faulty tests, and retained the follow_symlinks flag per reviewer request. Approved and passed CI.
71%
#1628 fix: prevent file deletion during self-linking in link_or_copy craft-parts merged Merged fix for link_or_copy preventing accidental source deletion during self-linking. Added a samefile check to safely skip identical paths, resolving #6168. Approved and merged after CI validation.
71%
#622 Hard-link local sources instead of symlinking them. snapcraft merged Merged. Fixes LP #1590108 by hard-linking local sources instead of symlinking, with a fallback to copying if hard links are unsupported. Review comments were addressed and CI coverage fluctuations resolved prior to merge.
70%