Make use of setsid to spawn removal processes: we don't want the rm's to stop if the main script fails and ends before all directories were removed.

This commit is contained in:
Yann E. MORIN" 2007-08-07 18:05:41 +00:00
parent a43770ab06
commit feb0328d7a
2 changed files with 8 additions and 8 deletions

View File

@ -147,7 +147,7 @@ CT_DoLog EXTRA "Preparing working directories"
if [ -d "${CT_BUILD_DIR}" ]; then if [ -d "${CT_BUILD_DIR}" ]; then
mv "${CT_BUILD_DIR}" "${CT_BUILD_DIR}.$$" mv "${CT_BUILD_DIR}" "${CT_BUILD_DIR}.$$"
chmod -R u+w "${CT_BUILD_DIR}.$$" chmod -R u+w "${CT_BUILD_DIR}.$$"
nohup rm -rf "${CT_BUILD_DIR}.$$" >/dev/null 2>&1 & setsid nohup rm -rf "${CT_BUILD_DIR}.$$" >/dev/null 2>&1 &
fi fi
# Don't eradicate directories if we need to restart # Don't eradicate directories if we need to restart
@ -158,28 +158,28 @@ if [ -z "${CT_RESTART}" ]; then
if [ "${CT_FORCE_DOWNLOAD}" = "y" -a -d "${CT_TARBALLS_DIR}" ]; then if [ "${CT_FORCE_DOWNLOAD}" = "y" -a -d "${CT_TARBALLS_DIR}" ]; then
mv "${CT_TARBALLS_DIR}" "${CT_TARBALLS_DIR}.$$" mv "${CT_TARBALLS_DIR}" "${CT_TARBALLS_DIR}.$$"
chmod -R u+w "${CT_TARBALLS_DIR}.$$" chmod -R u+w "${CT_TARBALLS_DIR}.$$"
nohup rm -rf "${CT_TARBALLS_DIR}.$$" >/dev/null 2>&1 & setsid nohup rm -rf "${CT_TARBALLS_DIR}.$$" >/dev/null 2>&1 &
fi fi
if [ "${CT_FORCE_EXTRACT}" = "y" -a -d "${CT_SRC_DIR}" ]; then if [ "${CT_FORCE_EXTRACT}" = "y" -a -d "${CT_SRC_DIR}" ]; then
mv "${CT_SRC_DIR}" "${CT_SRC_DIR}.$$" mv "${CT_SRC_DIR}" "${CT_SRC_DIR}.$$"
chmod -R u+w "${CT_SRC_DIR}.$$" chmod -R u+w "${CT_SRC_DIR}.$$"
nohup rm -rf "${CT_SRC_DIR}.$$" >/dev/null 2>&1 & setsid nohup rm -rf "${CT_SRC_DIR}.$$" >/dev/null 2>&1 &
fi fi
if [ -d "${CT_INSTALL_DIR}" ]; then if [ -d "${CT_INSTALL_DIR}" ]; then
mv "${CT_INSTALL_DIR}" "${CT_INSTALL_DIR}.$$" mv "${CT_INSTALL_DIR}" "${CT_INSTALL_DIR}.$$"
chmod -R u+w "${CT_INSTALL_DIR}.$$" chmod -R u+w "${CT_INSTALL_DIR}.$$"
nohup rm -rf "${CT_INSTALL_DIR}.$$" >/dev/null 2>&1 & setsid nohup rm -rf "${CT_INSTALL_DIR}.$$" >/dev/null 2>&1 &
fi fi
if [ -d "${CT_DEBUG_INSTALL_DIR}" ]; then if [ -d "${CT_DEBUG_INSTALL_DIR}" ]; then
mv "${CT_DEBUG_INSTALL_DIR}" "${CT_DEBUG_INSTALL_DIR}.$$" mv "${CT_DEBUG_INSTALL_DIR}" "${CT_DEBUG_INSTALL_DIR}.$$"
chmod -R u+w "${CT_DEBUG_INSTALL_DIR}.$$" chmod -R u+w "${CT_DEBUG_INSTALL_DIR}.$$"
nohup rm -rf "${CT_DEBUG_INSTALL_DIR}.$$" >/dev/null 2>&1 & setsid nohup rm -rf "${CT_DEBUG_INSTALL_DIR}.$$" >/dev/null 2>&1 &
fi fi
# In case we start anew, get rid of the previously saved state directory # In case we start anew, get rid of the previously saved state directory
if [ -d "${CT_STATE_DIR}" ]; then if [ -d "${CT_STATE_DIR}" ]; then
mv "${CT_STATE_DIR}" "${CT_STATE_DIR}.$$" mv "${CT_STATE_DIR}" "${CT_STATE_DIR}.$$"
chmod -R u+w "${CT_STATE_DIR}.$$" chmod -R u+w "${CT_STATE_DIR}.$$"
nohup rm -rf "${CT_STATE_DIR}.$$" >/dev/null 2>&1 & setsid nohup rm -rf "${CT_STATE_DIR}.$$" >/dev/null 2>&1 &
fi fi
fi fi
@ -364,7 +364,7 @@ if [ -z "${CT_RESTART}" ]; then
if [ "${CT_ONLY_DOWNLOAD}" != "y" ]; then if [ "${CT_ONLY_DOWNLOAD}" != "y" ]; then
if [ "${CT_FORCE_EXTRACT}" = "y" ]; then if [ "${CT_FORCE_EXTRACT}" = "y" ]; then
mv "${CT_SRC_DIR}" "${CT_SRC_DIR}.$$" mv "${CT_SRC_DIR}" "${CT_SRC_DIR}.$$"
nohup rm -rf "${CT_SRC_DIR}.$$" >/dev/null 2>&1 setsid nohup rm -rf "${CT_SRC_DIR}.$$" >/dev/null 2>&1
fi fi
CT_DoStep INFO "Extracting and patching toolchain components" CT_DoStep INFO "Extracting and patching toolchain components"
do_kernel_extract do_kernel_extract

View File

@ -71,7 +71,7 @@ fi
# Get rid of potentially older destination directory # Get rid of potentially older destination directory
if [ -d "${CT_ROOT_DST_DIR}" ]; then if [ -d "${CT_ROOT_DST_DIR}" ]; then
mv "${CT_ROOT_DST_DIR}" "${CT_ROOT_DST_DIR}.$$" mv "${CT_ROOT_DST_DIR}" "${CT_ROOT_DST_DIR}.$$"
nohup rm -rf "${CT_ROOT_DST_DIR}.$$" >/dev/null 2>&1 & setsid nohup rm -rf "${CT_ROOT_DST_DIR}.$$" >/dev/null 2>&1 &
fi fi
# Create the working copy # Create the working copy