e03d958b91
Summary: Having all of TMPD, TMPDIR and TEST_TMPDIR as configuration parameters is confusing. This change simplifies a number of things by standardizing on TEST_TMPDIR, while still recognizing the old names also. In detail: * crash_test.mk also needs to use TEST_TMPDIR for crash test, so put in shared common.mk (an upgrade of python.mk) * Always exporting TEST_TMPDIR eliminates the need to propagate TMPD or export TEST_TMPDIR in selective places. * Use --tmpdir option to gnu_parallel so that it doesn't need TMPDIR environment variable * Remove obsolete parloop and parallel_check Makefile targets * Remove undefined, unused function ResetTmpDirForDirectIO() Pull Request resolved: https://github.com/facebook/rocksdb/pull/9961 Test Plan: manual + CI Reviewed By: riversand963 Differential Revision: D36212178 Pulled By: pdillinger fbshipit-source-id: b76c1876c4f4d38b37789c2779eaa7c3026824dd
31 lines
963 B
Makefile
31 lines
963 B
Makefile
ifndef PYTHON
|
|
|
|
# Default to python3. Some distros like CentOS 8 do not have `python`.
|
|
ifeq ($(origin PYTHON), undefined)
|
|
PYTHON := $(shell which python3 || which python || echo python3)
|
|
endif
|
|
export PYTHON
|
|
|
|
endif
|
|
|
|
# To setup tmp directory, first recognize some old variables for setting
|
|
# test tmp directory or base tmp directory. TEST_TMPDIR is usually read
|
|
# by RocksDB tools though Env/FileSystem::GetTestDirectory.
|
|
ifeq ($(TEST_TMPDIR),)
|
|
TEST_TMPDIR := $(TMPD)
|
|
endif
|
|
ifeq ($(TEST_TMPDIR),)
|
|
ifeq ($(BASE_TMPDIR),)
|
|
BASE_TMPDIR :=$(TMPDIR)
|
|
endif
|
|
ifeq ($(BASE_TMPDIR),)
|
|
BASE_TMPDIR :=/tmp
|
|
endif
|
|
# Use /dev/shm if it has the sticky bit set (otherwise, /tmp or other
|
|
# base dir), and create a randomly-named rocksdb.XXXX directory therein.
|
|
TEST_TMPDIR := $(shell f=/dev/shm; test -k $$f || f=$(BASE_TMPDIR); \
|
|
perl -le 'use File::Temp "tempdir";' \
|
|
-e 'print tempdir("'$$f'/rocksdb.XXXX", CLEANUP => 0)')
|
|
endif
|
|
export TEST_TMPDIR
|