scripts/build/tools.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed Dec 30 15:36:22 2009 +0100 (2009-12-30)
changeset 1669 61edd9d19e3c
parent 483 99724e410693
permissions -rw-r--r--
scripts/functions: add aria2, a powerfull downloader

aria2 is a powerfull downloader that is capable of chunking and
parallel retrieval.

Due to li;itations in crosstool-NG retrieval facilities, it's not possible
to take fully advantage of aria2. It might happen that, in the future,
those limitations get lifted away, so we can take use features such as
parallel downloading from more than one server at the same time. For now,
it should still speed up downloads thanks to parallel downloading of chunks.
yann@148
     1
# Wrapper to build the tools facilities
yann@148
     2
yann@148
     3
# List all tools facilities, and parse their scripts
yann@148
     4
CT_TOOLS_FACILITY_LIST=
yann@182
     5
for f in "${CT_LIB_DIR}/scripts/build/tools/"*.sh; do
yann@916
     6
    _f="$(basename "${f}" .sh)"
yann@916
     7
    _f="${_f#???-}"
yann@916
     8
    __f="CT_TOOL_${_f}"
yann@916
     9
    if [ "${!__f}" = "y" ]; then
yann@916
    10
        CT_DoLog DEBUG "Enabling tool '${_f}'"
yann@916
    11
        . "${f}"
yann@916
    12
        CT_TOOLS_FACILITY_LIST="${CT_TOOLS_FACILITY_LIST} ${_f}"
yann@916
    13
    else
yann@916
    14
        CT_DoLog DEBUG "Disabling tool '${_f}'"
yann@148
    15
    fi
yann@148
    16
done
yann@148
    17
yann@148
    18
# Download the tools facilities
yann@148
    19
do_tools_get() {
yann@148
    20
    for f in ${CT_TOOLS_FACILITY_LIST}; do
yann@148
    21
        do_tools_${f}_get
yann@148
    22
    done
yann@148
    23
}
yann@148
    24
yann@148
    25
# Extract and patch the tools facilities
yann@148
    26
do_tools_extract() {
yann@148
    27
    for f in ${CT_TOOLS_FACILITY_LIST}; do
yann@148
    28
        do_tools_${f}_extract
yann@148
    29
    done
yann@148
    30
}
yann@148
    31
yann@148
    32
# Build the tools facilities
yann@148
    33
do_tools() {
yann@148
    34
    for f in ${CT_TOOLS_FACILITY_LIST}; do
yann@148
    35
        do_tools_${f}_build
yann@148
    36
    done
yann@148
    37
}
yann@148
    38