diff options
author | Tobias Bosch <tbosch@google.com> | 2019-08-21 07:46:20 -0700 |
---|---|---|
committer | Tobias Bosch <tbosch@google.com> | 2019-08-21 17:56:13 +0000 |
commit | 42d0001c95f81f1f707ae7674a2e0ed04b10da48 (patch) | |
tree | d9bb4c943d53dc74645c4d2c03449e5f9cfd03c4 /compiler_wrapper | |
parent | 6f59a66192c620b00f3ef6eec8e798e25ab6636c (diff) | |
download | toolchain-utils-42d0001c95f81f1f707ae7674a2e0ed04b10da48.tar.gz |
Use a fixed tempdir for executing the old wrapper.
Needed as sometimes $TMPDIR requires shell invocation.
BUG=chromium:773875
TEST=emerge dev-python/pygobject
Change-Id: Ia6681b383ef2b026c4009c579190fe8736a7c4ec
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1763252
Reviewed-by: George Burgess <gbiv@chromium.org>
Tested-by: Tobias Bosch <tbosch@google.com>
Diffstat (limited to 'compiler_wrapper')
-rw-r--r-- | compiler_wrapper/oldwrapper.go | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/compiler_wrapper/oldwrapper.go b/compiler_wrapper/oldwrapper.go index 8ae6f05c..95d93508 100644 --- a/compiler_wrapper/oldwrapper.go +++ b/compiler_wrapper/oldwrapper.go @@ -20,6 +20,11 @@ import ( const compareToOldWrapperFilePattern = "old_wrapper_compare" +// Note: We can't rely on os.TempDir as that just returns the value of $TMPDIR, +// which some packages set incorrectly. +// E.g. dev-python/pygobject sets it to "`pwd`/pygobject-2.18.0". +const tempDir = "/tmp" + func compareToOldWrapper(env env, cfg *config, inputCmd *command, stdinBuffer []byte, newCmdResults []*commandResult, newExitCode int) error { pythonStringEscaper := strings.NewReplacer("\n", "\\n", "'", "\\'") @@ -200,7 +205,7 @@ func callOldShellWrapper(env env, cfg *oldWrapperConfig, inputCmd *command, stdi // TODO: Use strings.ReplaceAll once cros sdk uses golang >= 1.12 oldWrapperContent = strings.Replace(oldWrapperContent, "$0", cfg.CmdPath, -1) cfg.OldWrapperContent = oldWrapperContent - mockFile, err := ioutil.TempFile("", filepattern) + mockFile, err := ioutil.TempFile(tempDir, filepattern) if err != nil { return 0, wrapErrorwithSourceLocf(err, "failed to create tempfile") } @@ -256,7 +261,7 @@ func callOldPythonWrapper(env env, cfg *oldWrapperConfig, inputCmd *command, std oldWrapperContent = strings.Replace(oldWrapperContent, "__file__", "'"+cfg.WrapperPath+"'", -1) cfg.OldWrapperContent = oldWrapperContent - mockFile, err := ioutil.TempFile("", filepattern) + mockFile, err := ioutil.TempFile(tempDir, filepattern) if err != nil { return 0, wrapErrorwithSourceLocf(err, "failed to create tempfile") } |