scripts/saveSample.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat May 03 17:51:16 2008 +0000 (2008-05-03)
changeset 486 92f6149c4275
parent 335 f0d84f1d4c93
child 523 010f6f4e4dd6
permissions -rwxr-xr-x
Some people are reposrting that ftp does not work on their network, probably due to proxies, while http does work.
Some (most) of the sites we use toretrieve tarballs have http equivallent for the ftp service. Use http as a failover.
There's no solution for those sites that do not have such an http equivalent.

/trunk/scripts/build/binutils.sh | 5 2 3 0 ++---
/trunk/scripts/build/libc_glibc.sh | 4 2 2 0 ++--
/trunk/scripts/build/libc_uClibc.sh | 2 1 1 0 +-
/trunk/scripts/build/debug/400-ltrace.sh | 2 1 1 0 +-
/trunk/scripts/build/debug/300-gdb.sh | 8 3 5 0 +++-----
/trunk/scripts/build/kernel_linux.sh | 7 2 5 0 ++-----
/trunk/scripts/build/cc_gcc.sh | 6 2 4 0 ++----
/trunk/scripts/build/gmp.sh | 4 1 3 0 +---
8 files changed, 14 insertions(+), 24 deletions(-)
     1 #!/bin/bash
     2 
     3 # This script is responsible for saving the current configuration into a
     4 # sample to be used later on as a pre-configured target.
     5 
     6 # What we need to save:
     7 #  - the .config file
     8 #  - the kernel .config file if specified
     9 #  - the uClibc .config file if uClibc selected
    10 
    11 . "${CT_LIB_DIR}/scripts/functions"
    12 
    13 # Don't care about any log file
    14 exec >/dev/null
    15 rm -f "${tmp_log_file}"
    16 
    17 # Parse the configuration file
    18 CT_TestOrAbort "Configuration file not found. Please create one." -f "${CT_TOP_DIR}/.config"
    19 . "${CT_TOP_DIR}/.config"
    20 
    21 # Parse the architecture-specific functions
    22 . "${CT_LIB_DIR}/arch/${CT_ARCH}/functions"
    23 
    24 # Target tuple: CT_TARGET needs a little love:
    25 CT_DoBuildTargetTuple
    26 
    27 # Kludge: if any of the config options needs either CT_TARGET or CT_TOP_DIR,
    28 # re-parse them:
    29 . "${CT_TOP_DIR}/.config"
    30 
    31 # Override log level
    32 unset CT_LOG_ERROR CT_LOG_WARN CT_LOG_EXTRA CT_LOG_DEBUG 
    33 CT_LOG_INFO=y
    34 CT_LOG_LEVEL_MAX="INFO"
    35 
    36 # Create the sample directory
    37 if [ ! -d "${CT_TOP_DIR}/samples/${CT_TARGET}" ]; then
    38     mkdir -p "${CT_TOP_DIR}/samples/${CT_TARGET}"
    39 fi
    40 
    41 # Save the crosstool-NG config file
    42 cp "${CT_TOP_DIR}/.config" "${CT_TOP_DIR}/samples/${CT_TARGET}/crosstool.config"
    43 
    44 # Function to copy a file to the sample directory
    45 # Needed in case the file is already there (think of a previously available sample)
    46 # Usage: CT_DoAddFileToSample <source> <dest>
    47 CT_DoAddFileToSample() {
    48     source="$1"
    49     dest="$2"
    50     inode_s=`ls -i "${source}"`
    51     inode_d=`ls -i "${dest}" 2>/dev/null || true`
    52     if [ "${inode_s}" != "${inode_d}" ]; then
    53         cp "${source}" "${dest}"
    54     fi
    55 }
    56 
    57 if [ "${CT_TOP_DIR}" = "${CT_LIB_DIR}" ]; then
    58     samp_top_dir="\${CT_LIB_DIR}"
    59 else
    60     samp_top_dir="\${CT_TOP_DIR}"
    61 fi
    62 
    63 # Save the kernel .config file
    64 if [ -n "${CT_KERNEL_LINUX_CONFIG_FILE}" ]; then
    65     # We save the file, and then point the saved sample to this file
    66     CT_DoAddFileToSample "${CT_KERNEL_LINUX_CONFIG_FILE}" "${CT_TOP_DIR}/samples/${CT_TARGET}/${CT_KERNEL}-${CT_KERNEL_VERSION}.config"
    67     sed -r -i -e 's|^(CT_KERNEL_LINUX_CONFIG_FILE=).+$|\1"'"${samp_top_dir}"'/samples/${CT_TARGET}/${CT_KERNEL}-${CT_KERNEL_VERSION}.config"|;' \
    68         "${CT_TOP_DIR}/samples/${CT_TARGET}/crosstool.config"
    69 else
    70     # remove any dangling files
    71     for f in "${CT_TOP_DIR}/samples/${CT_TARGET}/${CT_KERNEL}-"*.config; do
    72         if [ -f "${f}" ]; then rm -f "${f}"; fi
    73     done
    74 fi
    75 
    76 # Save the uClibc .config file
    77 if [ -n "${CT_LIBC_UCLIBC_CONFIG_FILE}" ]; then
    78     # We save the file, and then point the saved sample to this file
    79     CT_DoAddFileToSample "${CT_LIBC_UCLIBC_CONFIG_FILE}" "${CT_TOP_DIR}/samples/${CT_TARGET}/${CT_LIBC}-${CT_LIBC_VERSION}.config"
    80     sed -r -i -e 's|^(CT_LIBC_UCLIBC_CONFIG_FILE=).+$|\1"'"${samp_top_dir}"'/samples/${CT_TARGET}/${CT_LIBC}-${CT_LIBC_VERSION}.config"|;' \
    81         "${CT_TOP_DIR}/samples/${CT_TARGET}/crosstool.config"
    82 else
    83     # remove any dangling files
    84     for f in "${CT_TOP_DIR}/samples/${CT_TARGET}/${CT_LIBC}-"*.config; do
    85         if [ -f "${f}" ]; then rm -f "${f}"; fi
    86     done
    87 fi