meta: handle symlinked hooks
Metadata
Current evaluation
Merged PR #2478 resolves a regression from #2440 that broke symlinked hooks. The fix prevents FileNotFoundErrors during permission changes by properly resolving symlinks before stat operations. Approved, passed CI, and merged into master.
Suggested action: —
No scores available.
Issue body
Handling of symlinked hooks broke with the introduction of #2440
which tries to change permissions of their file type which can
lead to FileNotFoundErrors as the symlinked file may not be
available at the time of the stat change.
Signed-off-by: Sergio Schvezov <sergio.schvezov@canonical.com>
- [ ] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)?
- [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [ ] If this is a bugfix. Have you checked that there is a bug report open for the issue you are trying to fix on [bug reports](https://bugs.launchpad.net/snapcraft)?
- [ ] If this is a new feature. Have you discussed the design on the [forum](https://forum.snapcraft.io)?
- [ ] Have you successfully run `./runtests.sh static`?
- [ ] Have you successfully run `./runtests.sh tests/unit`?
-----
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged PR #2478 resolves a regression from #2440 that broke symlinked hooks. The fix prevents FileNotFoundErrors during permission changes by properly resolving symlinks before stat operations. Approved, passed CI, and merged into master. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged into master. Resolves a regression from PR #2440 where permission changes on symlinked hooks triggered FileNotFoundErrors. The fix correctly handles symlinks, achieving 100% diff coverage. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged into master. Fixes a PR #2440 regression causing FileNotFoundErrors when changing permissions on symlinked hooks. The update safely resolves symlinks before stat calls, achieving 100% diff coverage without altering overall test metrics. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #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. | |
| #2440 meta: make hooks executable instead of complaining they're not | snapcraft | merged | Merged into master. Hooks are now made executable instead of triggering an error, resolving bug #1812003. The change passed CI, received approval, and achieved 100% diff coverage. Whitelisting was deferred to a follow-up PR. | |
| #2441 legacy/meta: make hooks executable instead of complaining they're not | snapcraft | merged | Merged cherry-pick of #2440 that fixes bug #1812003 by making hooks executable instead of raising an error. Approved by one reviewer, passed CI, and modified 2 files. | |
| #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. |