scripts/build/debug/500-strace.sh
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Tue Oct 16 20:57:44 2012 +0200 (2012-10-16)
changeset 3079 37831a33e07e
parent 2910 cc170c96362c
child 3199 ab7168481db5
permissions -rw-r--r--
kernel/linux: fix using custom location

Currently, extract and patch are skipped as thus:
- using a custom directory of pre-installed headers
- a correctly named directory already exists

Otherwise, extract and patch are done.

The current second condition is wrong, because it allows the following
sequence to happen:
- a non-custom kernel is used
- a previous build only partially extracted the non-custom sources
- that p[revious build broke during extraction (eg. incomplete tarball...)
- a subsequent build will find a properly named directory, and will
thus skip extract and patch, which is wrong

Fix that by following the conditions in this table:

Type | Extract | Patch
----------------------+---------+-------
Pre-installed headers | N | N
custom directory | N | N
custom tarball | Y | N
mainstream tarball | Y | Y

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: David Holsgrove <david.holsgrove@xilinx.com>
     1 # Build script for strace
     2 
     3 do_debug_strace_get() {
     4     local base_url="http://downloads.sourceforge.net/project/strace/strace"
     5     CT_GetFile "strace-${CT_STRACE_VERSION}" "${base_url}/${CT_STRACE_VERSION}"
     6     # Downloading from sourceforge leaves garbage, cleanup
     7     CT_DoExecLog ALL rm -f "${CT_TARBALLS_DIR}/showfiles.php"*
     8 }
     9 
    10 do_debug_strace_extract() {
    11     CT_Extract "strace-${CT_STRACE_VERSION}"
    12     CT_Patch "strace" "${CT_STRACE_VERSION}"
    13 }
    14 
    15 do_debug_strace_build() {
    16     CT_DoStep INFO "Installing strace"
    17     mkdir -p "${CT_BUILD_DIR}/build-strace"
    18     CT_Pushd "${CT_BUILD_DIR}/build-strace"
    19 
    20     CT_DoLog EXTRA "Configuring strace"
    21     CT_DoExecLog CFG                                        \
    22     "${CT_SRC_DIR}/strace-${CT_STRACE_VERSION}/configure"   \
    23         --build=${CT_BUILD}                                 \
    24         --host=${CT_TARGET}                                 \
    25         --prefix=/usr
    26 
    27     CT_DoLog EXTRA "Building strace"
    28     CT_DoExecLog ALL make
    29 
    30     CT_DoLog EXTRA "Installing strace"
    31     CT_DoExecLog ALL make DESTDIR="${CT_DEBUGROOT_DIR}" install
    32 
    33     CT_Popd
    34     CT_EndStep
    35 }
    36