# HG changeset patch # User "Yann E. MORIN" # Date 1259613290 -3600 # Node ID e0191807e79a2e145d96604b48ff2ea3aed662d0 # Parent 9030e84dafad478e4a393f608a5fb1195de86469 scripts: protect against partially extracted source In case of failure (eg. user hitting Ctrl-C), avoid extracting over partially extracted source. Will help once we have git available. diff -r 9030e84dafad -r e0191807e79a scripts/functions --- a/scripts/functions Mon Nov 30 00:05:45 2009 +0100 +++ b/scripts/functions Mon Nov 30 21:34:50 2009 +0100 @@ -577,6 +577,16 @@ fi local full_file="${CT_TARBALLS_DIR}/${basename}${ext}" + # Check if previously partially extracted + if [ -e "${CT_SRC_DIR}/.${basename}.extracting" ]; then + CT_DoLog ERROR "The '${basename}' sources were partially extracted." + CT_DoLog ERROR "Please remove first:" + CT_DoLog ERROR " - the source dir for '${basename}', in '${CT_SRC_DIR}'" + CT_DoLog ERROR " - the file '${CT_SRC_DIR}/.${basename}.extracting'" + CT_Abort "I'll stop now to avoid any carnage..." + fi + CT_DoExecLog DEBUG touch "${CT_SRC_DIR}/.${basename}.extracting" + # Check if already extracted if [ -e "${CT_SRC_DIR}/.${basename}.extracted" ]; then CT_DoLog DEBUG "Already extracted '${basename}'" @@ -599,6 +609,7 @@ CT_DoExecLog DEBUG chmod -R u+w "${CT_SRC_DIR}" CT_DoExecLog DEBUG touch "${CT_SRC_DIR}/.${basename}.extracted" + CT_DoExecLog DEBUG rm -f "${CT_SRC_DIR}/.${basename}.extracting" [ "${nochdir}" = "nochdir" ] || CT_Popd }