diff options
author | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2009-03-27 23:40:07 +0000 |
---|---|---|
committer | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2009-03-27 23:40:07 +0000 |
commit | 91a189c7ba35f9a723c986c3b90873db0f4366b9 (patch) | |
tree | 7fd0bff1a82c688b0f347461c31cebf9d5ef95d5 /scripts/functions | |
parent | 3a181fe51460375b8c08be8d86ff11f1c8e80855 (diff) | |
download | crosstool-ng-91a189c7ba35f9a723c986c3b90873db0f4366b9.tar.gz crosstool-ng-91a189c7ba35f9a723c986c3b90873db0f4366b9.tar.bz2 crosstool-ng-91a189c7ba35f9a723c986c3b90873db0f4366b9.zip |
Only create the state dir if asked for a restartable build:
- introduce the config dir, where components can store their config files
- move the munged uClibc config file to the config dir
- now, the state dir really is an indication that a build can be restarted
Thanks to Groleo Marius <groleo@gmail.com> for spotting the inconsistency
of the state dir usage, and suggesting this change.
/trunk/scripts/build/libc/uClibc.sh | 6 3 3 0 +++---
/trunk/scripts/crosstool-NG.sh.in | 9 7 2 0 +++++++--
/trunk/scripts/functions | 15 12 3 0 ++++++++++++---
3 files changed, 22 insertions(+), 8 deletions(-)
Diffstat (limited to 'scripts/functions')
-rw-r--r-- | scripts/functions | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/scripts/functions b/scripts/functions index 581096dc..2cdc4d5e 100644 --- a/scripts/functions +++ b/scripts/functions @@ -854,6 +854,11 @@ CT_DoSaveState() { /^(UID|EUID)=/d; /^(FUNCNAME|GROUPS|PPID|SHELLOPTS)=/d;' >"${state_dir}/env.sh" + CT_DoLog DEBUG " Saving CT_CONFIG_DIR='${CT_CONFIG_DIR}'" + CT_Pushd "${CT_CONFIG_DIR}" + CT_DoExecLog DEBUG tar cv${tar_opt}f "${state_dir}/config_dir.tar${tar_ext}" . + CT_Popd + CT_DoLog DEBUG " Saving CT_CC_CORE_STATIC_PREFIX_DIR='${CT_CC_CORE_STATIC_PREFIX_DIR}'" CT_Pushd "${CT_CC_CORE_STATIC_PREFIX_DIR}" CT_DoExecLog DEBUG tar cv${tar_opt}f "${state_dir}/cc_core_static_prefix_dir.tar${tar_ext}" . @@ -904,9 +909,8 @@ CT_DoLoadState(){ esac CT_DoLog DEBUG " Removing previous build directories" - chmod -R u+rwX "${CT_PREFIX_DIR}" "${CT_CC_CORE_SHARED_PREFIX_DIR}" "${CT_CC_CORE_STATIC_PREFIX_DIR}" - rm -rf "${CT_PREFIX_DIR}" "${CT_CC_CORE_SHARED_PREFIX_DIR}" "${CT_CC_CORE_STATIC_PREFIX_DIR}" - mkdir -p "${CT_PREFIX_DIR}" "${CT_CC_CORE_SHARED_PREFIX_DIR}" "${CT_CC_CORE_STATIC_PREFIX_DIR}" + CT_DoForceRmdir "${CT_PREFIX_DIR}" "${CT_CC_CORE_SHARED_PREFIX_DIR}" "${CT_CC_CORE_STATIC_PREFIX_DIR}" "${CT_CONFIG_DIR}" + CT_DoExecLog DEBUG mkdir -p "${CT_PREFIX_DIR}" "${CT_CC_CORE_SHARED_PREFIX_DIR}" "${CT_CC_CORE_STATIC_PREFIX_DIR}" "${CT_CONFIG_DIR}" CT_DoLog DEBUG " Restoring CT_PREFIX_DIR='${CT_PREFIX_DIR}'" CT_Pushd "${CT_PREFIX_DIR}" @@ -923,6 +927,11 @@ CT_DoLoadState(){ CT_DoExecLog DEBUG tar xv${tar_opt}f "${state_dir}/cc_core_static_prefix_dir.tar${tar_ext}" CT_Popd + CT_DoLog DEBUG " Restoring CT_CONFIG_DIR='${CT_CONFIG_DIR}'" + CT_Pushd "${CT_CONFIG_DIR}" + CT_DoExecLog DEBUG tar xv${tar_opt}f "${state_dir}/config_dir.tar${tar_ext}" + CT_Popd + # Restore the environment, discarding any error message # (for example, read-only bash internals) CT_DoLog DEBUG " Restoring environment" |