From 8908eb30375d19816e1329b8a4aa4daa430204b0 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Sat, 2 Jan 2010 18:00:54 +0100 Subject: misc: do not use "tar cf - |tar xf -" Using this: tar cf - -C "/some/place" |tar xf - -C "/some/other/place" to copy a directory to another place does not properly fail (when it does). Using this instead: cp -av "/some/place" "/some/other/place" makes it easy to see why and how it failed. Impacted: libc/uClibc debug/ltrace tools/sstrip scripts/populate --- scripts/build/libc/uClibc.sh | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) (limited to 'scripts/build/libc') diff --git a/scripts/build/libc/uClibc.sh b/scripts/build/libc/uClibc.sh index 21b09fba..3dcc1118 100644 --- a/scripts/build/libc/uClibc.sh +++ b/scripts/build/libc/uClibc.sh @@ -58,15 +58,14 @@ do_libc_headers() { CT_DoStep INFO "Installing C library headers" - mkdir -p "${CT_BUILD_DIR}/build-libc-headers" - cd "${CT_BUILD_DIR}/build-libc-headers" - - # Simply copy files until uClibc has the ablity to build out-of-tree + # Simply copy files until uClibc has the ability to build out-of-tree CT_DoLog EXTRA "Copying sources to build dir" - tar cf - -C "${CT_SRC_DIR}/uClibc-${CT_LIBC_VERSION}" . |tar xf - + CT_DoExecLog ALL cp -av "${CT_SRC_DIR}/uClibc-${CT_LIBC_VERSION}" \ + "${CT_BUILD_DIR}/build-libc-headers" + cd "${CT_BUILD_DIR}/build-libc-headers" # Retrieve the config file - cp "${CT_CONFIG_DIR}/uClibc.config" .config + CT_DoExecLog ALL cp "${CT_CONFIG_DIR}/uClibc.config" .config # uClibc uses the CROSS environment variable as a prefix to the # compiler tools to use. Setting it to the empty string forces @@ -99,15 +98,14 @@ do_libc_start_files() { do_libc() { CT_DoStep INFO "Installing C library" - mkdir -p "${CT_BUILD_DIR}/build-libc" - cd "${CT_BUILD_DIR}/build-libc" - - # Simply copy files until uClibc has the ablity to build out-of-tree + # Simply copy files until uClibc has the ability to build out-of-tree CT_DoLog EXTRA "Copying sources to build dir" - tar cf - -C "${CT_SRC_DIR}/uClibc-${CT_LIBC_VERSION}" . |tar xf - + CT_DoExecLog ALL cp -av "${CT_SRC_DIR}/uClibc-${CT_LIBC_VERSION}" \ + "${CT_BUILD_DIR}/build-libc" + cd "${CT_BUILD_DIR}/build-libc" # Retrieve the config file - cp "${CT_CONFIG_DIR}/uClibc.config" .config + CT_DoExecLog ALL cp "${CT_CONFIG_DIR}/uClibc.config" .config # uClibc uses the CROSS environment variable as a prefix to the compiler # tools to use. The newly built tools should be in our path, so we need -- cgit v1.2.3