← Back to issue list

Hard-link local sources instead of symlinking them.

View original Github issue

Metadata

Project
snapcraft
Number
#622
Type
pull request
State
merged
Author
kyrofa
Labels
—
Created
Updated
Closed

Current evaluation

Merged in canonical/snapcraft#622 (a07fa0faa), replacing local-source symlinks with hard links and falling back to copies, fixing LP #1590108.

Resolution: closed resolved

Reason: PR #622 was merged as commit a07fa0faa, implementing hard links for local sources with copy fallback when hard-linking is unavailable.

Evaluated by: mr-cal-bot

No scores available.

Issue body

This PR fixes LP: [#1590108](https://bugs.launchpad.net/snapcraft/+bug/1590108) by hard-linking local sources instead of symlinking them. If hard links aren't possible, it copies them instead.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Merged in canonical/snapcraft#622 (a07fa0faa), replacing local-source symlinks with hard links and falling back to copies, fixing LP #1590108.
stealth/space-bunny-alpha — closed resolved Merged canonical/snapcraft#622, fixing LP #1590108 by hard-linking local sources instead of symlinking, with copying as the fallback when hard links are unavailable.
stealth/space-bunny-alpha — closed resolved Merged PR #622 as a07fa0faa, fixing LP #1590108 by hard-linking local sources, with a copy fallback when hard links are unavailable.
stealth/space-bunny-alpha — closed resolved Merged PR #622 into master, fixing LP #1590108 by hard-linking local sources and falling back to copies when hard links are unavailable.
stealth/space-bunny-alpha — closed resolved Merged PR #622 as commit a07fa0faa, replacing local-source symlinks with hard links and falling back to copying when hard links are unavailable.
qwen/qwen3.6-35b-a3b — — 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.
qwen3.6-35b-a3b-mtp-q6 — — Merged. Replaces symlinks with hard links for local sources, falling back to copying if hard links fail. Resolves Launchpad bug #1590108 after maintainer review and CI verification.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#2256 local source: don't include .snapcraft directory snapcraft merged Merged #2256 (commit abbc92427), fixing LP #1791773 by excluding .snapcraft from local-source copies and stale-part checks.
76%
#1572664 Migrated files don't follow symlinks if they're hard linked snapcraft (launchpad) closed Broken symlinks from hard-linking migrated files fixed by ubuntu-core/snapcraft PR #478, merged as commit 313023188 which resolves sources with os.path.realpath() before os.link(); LP bug closed.
71%
#426 Copy plugin: Follow symlinks if outside of snap. snapcraft merged Merged in canonical/snapcraft#426 (b332715a8), following absolute or out-of-part symlinks to prevent broken links and fix LP #1532515.
71%
#478 Follow symlinks while hard-linking migrated files. snapcraft merged Merged PR #478 as commit 313023188, resolving symlinks with os.path.realpath() before hard-linking migrated files and preventing broken links in generated snaps.
71%
#1558446 Pulling local sources is rather broken snapcraft (launchpad) closed Local source pull bug fixed by ubuntu-core/snapcraft PR #377 (commit eb6ad38ab "Correct local source pulling", merged as 8b4a18d9b), which inverts the isdir/rmdir checks so symlinked local sources are removed rather than raising.
71%