scripts/mk-patch.sh
author Zhenqiang Chen <zhenqiang.chen@linaro.org>
Mon Dec 30 23:15:02 2013 +0100 (2013-12-30)
changeset 3261 3b61be3d7aa6
parent 2075 edc7c7958e80
permissions -rwxr-xr-x
kernel/linux: prepare for arch whose kenel name is not the standard name

For some architectures, the kernel architecture name is not the common
name of the architecture for other tools.

For example: ARM 64-bit is commonly referenced as aarch64, but the kernel
calls it arm64.

Signed-off-by: Michael Hope <michael.hope@linaro.org>
Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
[yann.morin.1998@free.fr: split out of the aarch64 patch]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
yann@1888
     1
#!/bin/sh
yann@1888
     2
yann@1888
     3
repos="$1"
yann@1888
     4
pdir="$2"
yann@1888
     5
if [ -z "${repos}" -o ! -d "${repos}" -o -z "${pdir}" -o ! -d "${pdir}" ];then
yann@1888
     6
    printf "Usage: ${0##*/} <repos_dir> <patch_dir>\n"
yann@1888
     7
    exit 1
yann@1888
     8
fi
yann@1888
     9
yann@1888
    10
pdir="$( cd "${pdir}"; pwd)"
yann@1888
    11
version="$( echo "${pdir}" |sed -r -e 's,.*/([^/]+)/*$,\1,' )"
yann@1888
    12
branch="${version%.*}"
yann@1888
    13
n=$( ls -1 "${pdir}" 2>/dev/null |wc -l )
yann@1888
    14
yann@1888
    15
r1="$( hg -R "${repos}" log -b "${branch}"  \
yann@1888
    16
       |awk '
yann@1888
    17
            $1=="changeset:" {
yann@1888
    18
                prev=rev;
yann@1888
    19
                split($2,a,":");
yann@1888
    20
                rev=a[1];
yann@1888
    21
            }
yann@1888
    22
            $0~/^summary:[[:space:]]+'"${branch}: (bump|update) version to ${version}\+hg"'$/ {
yann@1888
    23
                printf( "%d\n", prev );
yann@1888
    24
            }
yann@1888
    25
            '
yann@1888
    26
     )"
yann@1888
    27
yann@1888
    28
i=0
yann@1888
    29
hg -R "${repos}" log -b "${branch}" -r "${r1}:tip" --template '{rev}\n'    \
yann@1888
    30
|while read rev; do
yann@1888
    31
    p="$( printf "%03d" ${i} )"
yann@1888
    32
    i=$((i+1))
yann@1888
    33
    if [ $( ls -1 "${pdir}/${p}-"*.patch 2>/dev/null |wc -l ) -ne 0 ]; then
yann@1888
    34
        continue
yann@1888
    35
    fi
yann@1888
    36
    plog=$( hg -R "${repos}" log -r ${rev} --template '{desc|firstline}\n'  \
yann@2403
    37
            |sed -r -e 's,[^[:alnum:]],_,g; s/_+/_/g;'                      \
yann@1888
    38
          )
yann@1888
    39
    pname="${p}-${plog}.patch"
yann@1888
    40
    printf "Revision '%d' --> '%s'\n" ${rev} "${pname}"
yann@1888
    41
    hg -R "${repos}" diff -c ${rev} --color=never >"${pdir}/${pname}"
yann@1888
    42
    pdate="$( hg -R "${repos}" log -r ${rev} --template '{date|isodate}\n' )"
yann@1888
    43
    touch -d "${pdate}" "${pdir}/${pname}"
yann@1888
    44
done