Use $HOME/.tmp
as temp dir if TMPDIR
is unset
#2
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.
When Rust is determining the temp directory to use during compilation,
tempfile
usesenv::temp_dir()
which in *nix returns /tmp if TMPDIR is unset. This leads to a situation where the linker can't findsymbols.o
file during the linking phase.This could be mitigated already by setting
TMPDIR
in a .spec file, but this needs to be done in every project separately. Instead, make the compiler default to$HOME/.tmp
ifTMPDIR
is unset instead. The patch uses$HOME
, which exists in both Sailfish SDK and Platform SDK.Patching how
env::temp_dir()
works instd
feels overkill and could lead to other issues. Hence this patch targets the compiler itself during compiling and linking.With Rust packages compiled with this patch, Whisperfish was able to compile without errors without the
TMPDIR
commands in the .spec file.