nixos/systemd-boot: always use profile_path() for system closure paths #209829
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of changes
Since
profile_pathalways looks at a sub-path of the system closure and callsos.path.realpath, this ensures the paths we use always face the exact content we want for systemd-boot, and not a link to them. This solves various issues with https://github.com/serokell/deploy-rs and anything else that may put certain paths behind symlinks.For when we don't want a specific sub-path, we instead look for the parent of a specific sub-path, by still using
profile_path()but wrapping it withos.path.dirname()Fully resolves serokell/deploy-rs#31 (currently partially hacked around by nuking
defaultout of the file)Likely resolves serokell/deploy-rs#185 as long as using systemd-boot (others haven't been yet been tested).
Things done
sandbox = trueset innix.conf? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)nixos/doc/manual/md-to-db.shto update generated release notes