buildFHSUserEnv: use -a "$0" in almost last exec #83296
Closed
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.
Motivation for this change
In a derivation using buildFHSUserEnv, I'd like to support multiple executables in
$out/bin
using a script such as:While in the derivation coming out of
buildFHSUserEnv
, I'm putting inextraInstallCommands
:Where
listOfExecutables
is some list I'm controlling via:The idea is that every executable's name in
listOfExecutables
is linked to the main executable -$out/bin/${name}
and that executable is calling in turnrunScript
. I'd likerunScript
to know the original$0
in order to know what real executable inside the FHS environment to call.Right now, it's impossible to implement this because the FHS' environment is calling
runScript
without-a "$0"
. This change should fix this (untested).Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)