From: Remy Bohmer <linux@bohmer.net>
To: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Cc: "Bart vdr. Meulen" <bartvdrmeulen@gmail.com>, crossgcc@sourceware.org
Subject: [CT-NG:patch 06/19] Update CT_DoSaveState and CT_DoRestoreState to check for existence
Date: Fri, 09 Apr 2010 19:33:00 -0000 [thread overview]
Message-ID: <4bbf8101.0d67f10a.7841.5f0c@mx.google.com> (raw)
In-Reply-To: <20100409190419.325379428@bohmer.net>
[-- Attachment #1: make_DoSave_and_DoRestore_robust.patch --]
[-- Type: text/plain, Size: 5864 bytes --]
In some configuration not all directories that are saved by
CT_DoSaveState exist, add a check so only existing directories
are saved.
Same applies when Restoring, check wheter the save files has
been created during an previous DoSave.
Signed-off-by: Bart vdr. Meulen <bartvdrmeulen@gmail.com>
---
scripts/functions | 93 +++++++++++++++++++++++++++++++-----------------------
1 file changed, 55 insertions(+), 38 deletions(-)
Index: crosstool-ng/scripts/functions
===================================================================
--- crosstool-ng.orig/scripts/functions
+++ crosstool-ng/scripts/functions
@@ -934,29 +934,38 @@ 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}" .
- CT_Popd
-
- CT_DoLog DEBUG " Saving CT_CC_CORE_SHARED_PREFIX_DIR='${CT_CC_CORE_SHARED_PREFIX_DIR}'"
- CT_Pushd "${CT_CC_CORE_SHARED_PREFIX_DIR}"
- CT_DoExecLog DEBUG tar cv${tar_opt}f "${state_dir}/cc_core_shared_prefix_dir.tar${tar_ext}" .
- CT_Popd
-
- CT_DoLog DEBUG " Saving CT_PREFIX_DIR='${CT_PREFIX_DIR}'"
- CT_Pushd "${CT_PREFIX_DIR}"
- CT_DoExecLog DEBUG tar cv${tar_opt}f "${state_dir}/prefix_dir.tar${tar_ext}" --exclude '*.log' .
- CT_Popd
+ if [ -d ${CT_CONFIG_DIR} ]; then
+ 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
+ fi
+
+ if [ -d ${CT_CC_CORE_STATIC_PREFIX_DIR} ]; then
+ 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}" .
+ CT_Popd
+ fi
+
+ if [ -d ${CT_CC_CORE_SHARED_PREFIX_DIR} ]; then
+ CT_DoLog DEBUG " Saving CT_CC_CORE_SHARED_PREFIX_DIR='${CT_CC_CORE_SHARED_PREFIX_DIR}'"
+ CT_Pushd "${CT_CC_CORE_SHARED_PREFIX_DIR}"
+ CT_DoExecLog DEBUG tar cv${tar_opt}f "${state_dir}/cc_core_shared_prefix_dir.tar${tar_ext}" .
+ CT_Popd
+ fi
+
+ if [ -d ${CT_PREFIX_DIR} ]; then
+ CT_DoLog DEBUG " Saving CT_PREFIX_DIR='${CT_PREFIX_DIR}'"
+ CT_Pushd "${CT_PREFIX_DIR}"
+ CT_DoExecLog DEBUG tar cv${tar_opt}f "${state_dir}/prefix_dir.tar${tar_ext}" --exclude '*.log' .
+ CT_Popd
+ fi
if [ "${CT_LOG_TO_FILE}" = "y" ]; then
CT_DoLog DEBUG " Saving log file"
exec >/dev/null
+
case "${CT_DEBUG_CT_SAVE_STEPS_GZIP}" in
y) gzip -3 -c "${CT_LOG_FILE}" >"${state_dir}/log.gz";;
*) cat "${CT_LOG_FILE}" >"${state_dir}/log";;
@@ -992,25 +1001,33 @@ CT_DoLoadState(){
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}"
- CT_DoExecLog DEBUG tar xv${tar_opt}f "${state_dir}/prefix_dir.tar${tar_ext}"
- CT_Popd
-
- CT_DoLog DEBUG " Restoring CT_CC_CORE_SHARED_PREFIX_DIR='${CT_CC_CORE_SHARED_PREFIX_DIR}'"
- CT_Pushd "${CT_CC_CORE_SHARED_PREFIX_DIR}"
- CT_DoExecLog DEBUG tar xv${tar_opt}f "${state_dir}/cc_core_shared_prefix_dir.tar${tar_ext}"
- CT_Popd
-
- CT_DoLog DEBUG " Restoring CT_CC_CORE_STATIC_PREFIX_DIR='${CT_CC_CORE_STATIC_PREFIX_DIR}'"
- CT_Pushd "${CT_CC_CORE_STATIC_PREFIX_DIR}"
- 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
+ if [ -f "${state_dir}/prefix_dir.tar${tar_ext}" ]; then
+ CT_DoLog DEBUG " Restoring CT_PREFIX_DIR='${CT_PREFIX_DIR}'"
+ CT_Pushd "${CT_PREFIX_DIR}"
+ CT_DoExecLog DEBUG tar xv${tar_opt}f "${state_dir}/prefix_dir.tar${tar_ext}"
+ CT_Popd
+ fi
+
+ if [ -f "${state_dir}/cc_core_shared_prefix_dir.tar${tar_ext}" ]; then
+ CT_DoLog DEBUG " Restoring CT_CC_CORE_SHARED_PREFIX_DIR='${CT_CC_CORE_SHARED_PREFIX_DIR}'"
+ CT_Pushd "${CT_CC_CORE_SHARED_PREFIX_DIR}"
+ CT_DoExecLog DEBUG tar xv${tar_opt}f "${state_dir}/cc_core_shared_prefix_dir.tar${tar_ext}"
+ CT_Popd
+ fi
+
+ if [ -f "${state_dir}/cc_core_static_prefix_dir.tar${tar_ext}" ]; then
+ CT_DoLog DEBUG " Restoring CT_CC_CORE_STATIC_PREFIX_DIR='${CT_CC_CORE_STATIC_PREFIX_DIR}'"
+ CT_Pushd "${CT_CC_CORE_STATIC_PREFIX_DIR}"
+ CT_DoExecLog DEBUG tar xv${tar_opt}f "${state_dir}/cc_core_static_prefix_dir.tar${tar_ext}"
+ CT_Popd
+ fi
+
+ if [ -f "${state_dir}/config_dir.tar${tar_ext}" ]; then
+ 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
+ fi
# Restore the environment, discarding any error message
# (for example, read-only bash internals)
--
--
For unsubscribe information see http://sourceware.org/lists.html#faq
next prev parent reply other threads:[~2010-04-09 19:33 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20100409190419.325379428@bohmer.net>
2010-04-09 19:33 ` [CT-NG:patch 10/19] Add ARCH_CPU for m68k architecture Remy Bohmer
2010-04-11 15:03 ` Yann E. MORIN
2010-04-09 19:33 ` [CT-NG:patch 03/19] Build candian baremetal compiler Remy Bohmer
2010-04-11 13:40 ` Yann E. MORIN
[not found] ` <i2l87271a2c1004120533g10be9d4ge8c5d8bdb69742f8@mail.gmail.com>
2010-04-12 12:35 ` Bart van der Meulen
2010-04-09 19:33 ` [CT-NG:patch 13/19] Add Linux - Mingw32 sample Remy Bohmer
2010-04-09 19:33 ` [CT-NG:patch 09/19] Allow choice for elf format when building bare metal cross compiler Remy Bohmer
2010-04-11 14:47 ` Yann E. MORIN
2010-04-09 19:33 ` Remy Bohmer [this message]
2010-04-11 13:59 ` [CT-NG:patch 06/19] Update CT_DoSaveState and CT_DoRestoreState to check for existence Yann E. MORIN
2010-04-12 12:28 ` Bart van der Meulen
2010-04-12 15:12 ` Arnaud Lacombe
2010-04-12 20:43 ` Yann E. MORIN
2010-04-12 20:42 ` Yann E. MORIN
2010-04-09 19:33 ` [CT-NG:patch 05/19] Force autoreconf for mpfr Remy Bohmer
2010-04-11 13:56 ` Yann E. MORIN
2010-04-12 22:24 ` Yann E. MORIN
2010-04-09 19:33 ` [CT-NG:patch 11/19] Add mingw as kernel type Remy Bohmer
2010-04-11 15:25 ` Yann E. MORIN
2010-04-09 19:33 ` [CT-NG:patch 01/19] Add option to not install the wrapper scripts Remy Bohmer
2010-04-09 22:25 ` Arnaud Lacombe
2010-04-11 13:20 ` Yann E. MORIN
2010-04-09 19:33 ` [CT-NG:patch 12/19] Add mingw target libraries Remy Bohmer
2010-04-11 15:45 ` Yann E. MORIN
2010-04-11 16:10 ` Arnaud Lacombe
2010-04-09 19:33 ` [CT-NG:patch 02/19] Symlink to cc not always installed correctly Remy Bohmer
2010-04-11 13:26 ` Yann E. MORIN
2010-04-09 19:33 ` [CT-NG:patch 07/19] Adapt CTPatch function to handle dash in package name Remy Bohmer
2010-04-11 14:06 ` Yann E. MORIN
2010-04-09 19:33 ` [CT-NG:patch 16/19] Fix PPL build for MINGW Remy Bohmer
2010-04-09 19:33 ` [CT-NG:patch 04/19] Update check for need of g++ Remy Bohmer
2010-04-11 13:43 ` Yann E. MORIN
2010-04-09 19:34 ` [CT-NG:patch 15/19] First setup for cygwin as target Remy Bohmer
2010-04-11 20:30 ` Yann E. MORIN
2010-04-12 12:44 ` Bart van der Meulen
2010-04-09 19:34 ` [CT-NG:patch 19/19] The m68k processor does not like unaligned access in memcpy Remy Bohmer
2010-04-12 20:56 ` Yann E. MORIN
2010-04-09 19:34 ` [CT-NG:patch 14/19] add bugurl and compiler version to core gcc compiler Remy Bohmer
2010-04-11 15:50 ` Yann E. MORIN
2010-04-09 19:34 ` [CT-NG:patch 08/19] Prevent trailing - in CT_TARGET Remy Bohmer
2010-04-11 14:11 ` Yann E. MORIN
2010-04-09 19:34 ` [CT-NG:patch 18/19] Fix wrong host compiler usage on canadian build with baremetal target Remy Bohmer
2010-04-09 19:34 ` [CT-NG:patch 17/19] Fix linking of PPL (it does not link with stdc++ automaticly) Remy Bohmer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4bbf8101.0d67f10a.7841.5f0c@mx.google.com \
--to=linux@bohmer.net \
--cc=bartvdrmeulen@gmail.com \
--cc=crossgcc@sourceware.org \
--cc=yann.morin.1998@anciens.enib.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).