Fix restarting after a complete build

It is much, much better to *first* make the directory writable and *then*
do a test for case-sensitivity (which requires writing in that directory).

Fixes #1033.

Signed-off-by: Alexey Neyman <stilor@att.net>
This commit is contained in:
Alexey Neyman 2018-09-26 16:18:23 -07:00
parent b82b8adb44
commit 29f0662c18

View File

@ -304,15 +304,15 @@ CT_DoExecLog ALL mkdir -p "${CT_HOST_COMPLIBS_DIR}"
# Only create the state dir if asked for a restartable build # Only create the state dir if asked for a restartable build
[ -n "${CT_DEBUG_CT_SAVE_STEPS}" ] && CT_DoExecLog ALL mkdir -p "${CT_STATE_DIR}" [ -n "${CT_DEBUG_CT_SAVE_STEPS}" ] && CT_DoExecLog ALL mkdir -p "${CT_STATE_DIR}"
# Kludge: CT_PREFIX_DIR might have grown read-only if
# the previous build was successful.
CT_DoExecLog ALL chmod -R u+w "${CT_PREFIX_DIR}"
# Check install file system case-sensitiveness # Check install file system case-sensitiveness
CT_DoExecLog DEBUG touch "${CT_PREFIX_DIR}/foo" CT_DoExecLog DEBUG touch "${CT_PREFIX_DIR}/foo"
CT_TestAndAbort "Your file system in '${CT_PREFIX_DIR}' is *not* case-sensitive!" -f "${CT_PREFIX_DIR}/FOO" CT_TestAndAbort "Your file system in '${CT_PREFIX_DIR}' is *not* case-sensitive!" -f "${CT_PREFIX_DIR}/FOO"
CT_DoExecLog DEBUG rm -f "${CT_PREFIX_DIR}/foo" CT_DoExecLog DEBUG rm -f "${CT_PREFIX_DIR}/foo"
# Kludge: CT_PREFIX_DIR might have grown read-only if
# the previous build was successful.
CT_DoExecLog ALL chmod -R u+w "${CT_PREFIX_DIR}"
# Setting up the rest of the environment only if not restarting # Setting up the rest of the environment only if not restarting
if [ -z "${CT_RESTART}" ]; then if [ -z "${CT_RESTART}" ]; then
# Having .. inside CT_PREFIX breaks relocatability. # Having .. inside CT_PREFIX breaks relocatability.