mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2025-05-09 20:32:58 +00:00
Check for config file changes when restarting
Also, save/restore per-target source directory. Fixes #800. Signed-off-by: Alexey Neyman <stilor@att.net>
This commit is contained in:
parent
b99b5288e7
commit
b75f031462
@ -651,7 +651,7 @@ if [ "${CT_ONLY_DOWNLOAD}" != "y" -a "${CT_ONLY_EXTRACT}" != "y" ]; then
|
|||||||
else
|
else
|
||||||
CT_DoSaveState ${step}
|
CT_DoSaveState ${step}
|
||||||
if [ ${do_stop} -eq 1 ]; then
|
if [ ${do_stop} -eq 1 ]; then
|
||||||
CT_DoLog ERROR "Stopping just after step '${prev_step}', as requested."
|
CT_DoLog INFO "Stopping just after step '${prev_step}', as requested."
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -1052,7 +1052,10 @@ CT_DoSaveState() {
|
|||||||
/^(UID|EUID)=/d;
|
/^(UID|EUID)=/d;
|
||||||
/^(FUNCNAME|GROUPS|PPID|SHELLOPTS)=/d;' >"${state_dir}/env.sh"
|
/^(FUNCNAME|GROUPS|PPID|SHELLOPTS)=/d;' >"${state_dir}/env.sh"
|
||||||
|
|
||||||
|
CT_DoExecLog STATE cp ".config" "${state_dir}/config"
|
||||||
|
|
||||||
CT_DoTarballIfExists "${CT_BUILDTOOLS_PREFIX_DIR}" "${state_dir}/buildtools_dir"
|
CT_DoTarballIfExists "${CT_BUILDTOOLS_PREFIX_DIR}" "${state_dir}/buildtools_dir"
|
||||||
|
CT_DoTarballIfExists "${CT_SRC_DIR}" "${state_dir}/src_dir"
|
||||||
CT_DoTarballIfExists "${CT_PREFIX_DIR}" "${state_dir}/prefix_dir" --exclude '*.log'
|
CT_DoTarballIfExists "${CT_PREFIX_DIR}" "${state_dir}/prefix_dir" --exclude '*.log'
|
||||||
|
|
||||||
CT_DoLog STATE " Saving log file"
|
CT_DoLog STATE " Saving log file"
|
||||||
@ -1073,10 +1076,14 @@ CT_DoLoadState(){
|
|||||||
local old_STOP="${CT_STOP}"
|
local old_STOP="${CT_STOP}"
|
||||||
|
|
||||||
CT_TestOrAbort "The previous build did not reach the point where it could be restarted at '${CT_RESTART}'" -d "${state_dir}"
|
CT_TestOrAbort "The previous build did not reach the point where it could be restarted at '${CT_RESTART}'" -d "${state_dir}"
|
||||||
|
if ! cmp ".config" "${state_dir}/config" >/dev/null 2>&1; then
|
||||||
|
CT_Abort "The configuration file has changed between two runs"
|
||||||
|
fi
|
||||||
|
|
||||||
CT_DoLog INFO "Restoring state at step '${state_name}', as requested."
|
CT_DoLog INFO "Restoring state at step '${state_name}', as requested."
|
||||||
|
|
||||||
CT_DoExtractTarballIfExists "${state_dir}/prefix_dir" "${CT_PREFIX_DIR}"
|
CT_DoExtractTarballIfExists "${state_dir}/prefix_dir" "${CT_PREFIX_DIR}"
|
||||||
|
CT_DoExtractTarballIfExists "${state_dir}/src_dir" "${CT_SRC_DIR}"
|
||||||
CT_DoExtractTarballIfExists "${state_dir}/buildtools_dir" "${CT_BUILDTOOLS_PREFIX_DIR}"
|
CT_DoExtractTarballIfExists "${state_dir}/buildtools_dir" "${CT_BUILDTOOLS_PREFIX_DIR}"
|
||||||
|
|
||||||
# Restore the environment, discarding any error message
|
# Restore the environment, discarding any error message
|
||||||
|
Loading…
x
Reference in New Issue
Block a user