build-dotnet-module: clean up tmp file handling
Having: rm -rf "$src" "$HOME" Was slightly terrifying IMO, especially where the trap was installed before HOME was set.
This commit is contained in:
parent
e295c223cd
commit
4b40579b2d
1 changed files with 10 additions and 8 deletions
|
@ -188,14 +188,17 @@ stdenvNoCC.mkDerivation (args // {
|
|||
esac
|
||||
done
|
||||
|
||||
export tmp=$(mktemp -td "${pname}-tmp-XXXXXX")
|
||||
HOME=$tmp/home
|
||||
|
||||
exitTrap() {
|
||||
test -n "''${ranTrap-}" && return
|
||||
ranTrap=1
|
||||
|
||||
if test -n "''${keepSources-}"; then
|
||||
echo -e "Path to the source: $src\nPath to the fake home: $HOME"
|
||||
echo -e "Path to the source: $tmp/src\nPath to the fake home: $tmp/home"
|
||||
else
|
||||
rm -rf "$src" "$HOME"
|
||||
rm -rf "$tmp"
|
||||
fi
|
||||
|
||||
# Since mktemp is used this will be empty if the script didnt succesfully complete
|
||||
|
@ -211,7 +214,7 @@ stdenvNoCC.mkDerivation (args // {
|
|||
dotnet restore ''${project-} \
|
||||
-p:ContinuousIntegrationBuild=true \
|
||||
-p:Deterministic=true \
|
||||
--packages "$HOME/nuget_pkgs" \
|
||||
--packages "$tmp/nuget_pkgs" \
|
||||
--runtime "$rid" \
|
||||
${lib.optionalString (!enableParallelBuilding) "--disable-parallel"} \
|
||||
${lib.optionalString (flags != []) (toString flags)}
|
||||
|
@ -220,15 +223,14 @@ stdenvNoCC.mkDerivation (args // {
|
|||
declare -a projectFiles=( ${toString (lib.toList projectFile)} )
|
||||
declare -a testProjectFiles=( ${toString (lib.toList testProjectFile)} )
|
||||
|
||||
export HOME=$(mktemp -td "${pname}-home-XXXXXX")
|
||||
export DOTNET_NOLOGO=1
|
||||
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||
|
||||
depsFile="$(realpath "''${1:-$(mktemp -t "${pname}-deps-XXXXXX.nix")}")"
|
||||
mkdir -p "$HOME/nuget_pkgs"
|
||||
depsFile=$(realpath "''${1:-$(mktemp -t "${pname}-deps-XXXXXX.nix")}")
|
||||
mkdir -p "$tmp/nuget_pkgs"
|
||||
|
||||
storeSrc="${srcOnly args}"
|
||||
src="$(mktemp -td "${pname}-src-XXXXXX")"
|
||||
src=$tmp/src
|
||||
cp -rT "$storeSrc" "$src"
|
||||
chmod -R +w "$src"
|
||||
|
||||
|
@ -247,7 +249,7 @@ stdenvNoCC.mkDerivation (args // {
|
|||
|
||||
echo "Writing lockfile..."
|
||||
echo -e "# This file was automatically generated by passthru.fetch-deps.\n# Please dont edit it manually, your changes might get overwritten!\n" > "$depsFile"
|
||||
nuget-to-nix "$HOME/nuget_pkgs" "${exclusions}" >> "$depsFile"
|
||||
nuget-to-nix "$tmp/nuget_pkgs" "${exclusions}" >> "$depsFile"
|
||||
echo "Succesfully wrote lockfile to $depsFile"
|
||||
'';
|
||||
} // args.passthru or { };
|
||||
|
|
Loading…
Reference in a new issue