scripts/patch-renumber.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Dec 19 12:44:21 2009 +0100 (2009-12-19)
branch1.5
changeset 1706 5360c810222d
parent 1175 417b32da90bf
child 1577 c774b2cc7863
permissions -rwxr-xr-x
scripts: check for, and warn about an unset CT_PREFIX_DIR

The user shall provide a directory to install the toolchain into.
If he/she does not, this is an error, and shall be detected properly,
rather than relying on failure down the road.

Thanks to "Pedro I. Sanchez" <psanchez@colcan.ca> for pointing out
the issue:
http://sourceware.org/ml/crossgcc/2009-12/msg00011.html
(transplanted from e94f4ffddd1d07b3841160db71694cd19fda6b03)
     1 #!/bin/sh
     2 # Yes, this intends to be a true POSIX script file.
     3 set -e
     4 
     5 myname="$0"
     6 
     7 # Parse the tools' paths configuration
     8 . "paths.mk"
     9 
    10 doUsage() {
    11   cat <<_EOF_
    12 Usage: ${myname} <dir> <base> <inc>
    13     Will renumber all patches found in <dir>, starting at <base>, and with
    14     an increment of <inc>
    15     Eg.: patch-renumber patches/gcc/4.3.1 100 10
    16 _EOF_
    17 }
    18 
    19 [ $# -eq 3 ] || { doUsage; exit 1; }
    20 [ -d "${1}" ] || { doUsage; exit 1; }
    21 
    22 dir="${1}"
    23 cpt="${2}"
    24 inc="${3}"
    25 
    26 case "$(LC_ALL=C svnversion "${dir}" 2>/dev/null)" in
    27     exported)   CMD="mv -v";;
    28     *)          CMD="svn mv";;
    29 esac
    30 
    31 for p in "${dir}"/*.patch; do
    32     [ -e "${p}" ] || { echo "No such file '${p}'"; exit 1; }
    33     newname="$(printf "%03d-%s"                                 \
    34                       "${cpt}"                                  \
    35                       "$(basename "${p}"                        \
    36                         |"${sed}" -r -e 's/^[[:digit:]]+[-_]//' \
    37                        )"                                       \
    38               )"
    39     [ "${p}" = "${dir}/${newname}" ] || ${CMD} "${p}" "${dir}/${newname}"
    40     cpt=$((cpt+inc))
    41 done