summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2010-01-02 17:00:54 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2010-01-02 17:00:54 (GMT)
commit8908eb30375d19816e1329b8a4aa4daa430204b0 (patch)
treefbeb902d914447973cc68d2a96717367ad3c6d9c
parent5ae9b7faf9d8ee65a965b3cd40e2fad63f7884ab (diff)
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
-rw-r--r--scripts/build/debug/400-ltrace.sh6
-rw-r--r--scripts/build/libc/uClibc.sh22
-rw-r--r--scripts/build/tools/200-sstrip.sh4
-rw-r--r--scripts/populate.in4
4 files changed, 17 insertions, 19 deletions
diff --git a/scripts/build/debug/400-ltrace.sh b/scripts/build/debug/400-ltrace.sh
index f1e799c..6b289ab 100644
--- a/scripts/build/debug/400-ltrace.sh
+++ b/scripts/build/debug/400-ltrace.sh
@@ -20,11 +20,11 @@ do_debug_ltrace_extract() {
do_debug_ltrace_build() {
CT_DoStep INFO "Installing ltrace"
- mkdir -p "${CT_BUILD_DIR}/build-ltrace"
- CT_Pushd "${CT_BUILD_DIR}/build-ltrace"
CT_DoLog EXTRA "Copying sources to build dir"
- (cd "${CT_SRC_DIR}/ltrace-${CT_LTRACE_VERSION}"; tar cf - .)| tar xvf - |CT_DoLog ALL
+ CT_DoExecLog ALL cp -av "${CT_SRC_DIR}/ltrace-${CT_LTRACE_VERSION}" \
+ "${CT_BUILD_DIR}/build-ltrace"
+ CT_Pushd "${CT_BUILD_DIR}/build-ltrace"
CT_DoLog EXTRA "Configuring ltrace"
CT_DoExecLog ALL \
diff --git a/scripts/build/libc/uClibc.sh b/scripts/build/libc/uClibc.sh
index 21b09fb..3dcc111 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
diff --git a/scripts/build/tools/200-sstrip.sh b/scripts/build/tools/200-sstrip.sh
index b72aa79..c677072 100644
--- a/scripts/build/tools/200-sstrip.sh
+++ b/scripts/build/tools/200-sstrip.sh
@@ -12,9 +12,9 @@ case "${CT_SSTRIP_FROM}" in
}
do_tools_sstrip_build() {
CT_DoStep INFO "Installing sstrip"
- mkdir -p "${CT_BUILD_DIR}/build-strip"
+ CT_DoExecLog ALL cp -av "${CT_SRC_DIR}/ELFkickers-${CT_SSTRIP_ELFKICKERS_VERSION}/sstrip" \
+ "${CT_BUILD_DIR}/build-strip"
cd "${CT_BUILD_DIR}/build-strip"
- ( cd "${CT_SRC_DIR}/ELFkickers-${CT_SSTRIP_ELFKICKERS_VERSION}/sstrip"; tar cf - . ) |tar xf -
CT_DoLog EXTRA "Building sstrip"
CT_DoExecLog ALL make CC="${CT_HOST}-gcc" sstrip
diff --git a/scripts/populate.in b/scripts/populate.in
index 9bb5afb..5dbe313 100644
--- a/scripts/populate.in
+++ b/scripts/populate.in
@@ -127,9 +127,9 @@ mkdir -p "${CT_ROOT_DST_DIR}"
CT_ROOT_SRC_DIR=$(cd "${CT_ROOT_SRC_DIR}"; pwd)
CT_ROOT_DST_DIR=$(cd "${CT_ROOT_DST_DIR}"; pwd)
-# Populate the destination directory with files form the source directory
+# Populate the destination directory with files from the source directory
pushd "${CT_ROOT_SRC_DIR}" >/dev/null
-tar cf - . |tar xf - -C "${CT_ROOT_DST_DIR}"
+cp -a . "${CT_ROOT_DST_DIR}"
popd >/dev/null
# A function do search for a library