-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CLI symlink fixes #12046
CLI symlink fixes #12046
Conversation
@mergify rebase |
✅ Branch has been successfully rebased |
6a91e0f
to
e762825
Compare
e762825
to
8b53c6c
Compare
Tests seem to pass now. @roberth do you want to squash things a bit, so we can backport patches? |
abd9287
to
0c9be56
Compare
|
5b521cf
to
12d4c8d
Compare
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/2024-12-16-nix-team-meeting-minutes-203/57483/1 |
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/2024-12-18-nix-team-meeting-minutes-204/57602/1 |
12d4c8d
to
518538b
Compare
Please undraft, if you need a new review. |
Thanks for the reminder. I was still adding a regression test, 73871f2 when I was interrupted (rudely ;) ) by the maintainer meeting today. |
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/2024-12-23-nix-team-meeting-minutes-205/57783/1 |
@mergify rebase |
Tested with nix run nix/2.3-maintenance#nix-store -- --add some_symlink nix run nix/2.3-maintenance#nix-store -- --add-fixed sha256 --recursive some_symlink
…makeParentCanonical I'd messed up a rebase in my previous iteration, causing `weakly_canonical` to reappear, but not trigger a test failure. These two functions behave similarly when the argument is a path that points to a broken symlink. `weakly_canonical` would not resolve it because the target doesn't exist, and `makeParentCanonical` would not resolve it, because it never resolves the final path element. This new test case now also tests a valid symlink, "differentiating" the two.
✅ Branch has been successfully rebased |
73871f2
to
4c74d67
Compare
…2046 CLI symlink fixes (backport #12046)
…2046 CLI symlink fixes (backport #12046)
This is still an issue in 2.24. Any plans to tag a maintenance release soon? |
cc @edolstra ^ |
Motivation
PosixSourceAccessor
does not operate on non-canonical paths, yet manycreateAtRoot
calls did not canonicalize their inputs.See commit messages and comments for details.
Probably more
createAtRoot
calls need this kind of treatment, but that's not a prerequisite for reviewing what's probably the bulk of the change, and the ideas behind it.Context
nix-store --add-fixed
no longer accepts symlinks #11941error: path '/dev/fd/63' is a symlink
on Arch Linux #11681Add 👍 to pull requests you find important.
The Nix maintainer team uses a GitHub project board to schedule and track reviews.