blob: 66ad8dd451bbe33cafa4d05a6e3b736a1797c38f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#!/bin/bash
if [ -z "$1" ]; then
echo "Usage: rpm2patches <srcrpm>"
exit 1
fi
tmpdir=$(mktemp -d)
srcrpm=$(basename ${1})
srctar=${srcrpm/.rpm/.tar}
rpmdir=$(dirname ${1})
pushd ${rpmdir} >/dev/null
echo " * Converting rpm to tar"
rpm2tar ${srcrpm} || exit 2
echo " * Unpacking to ${tmpdir}"
tar xf ${srctar} -C ${tmpdir} || exit 3
popd >/dev/null
echo " * Renaming patches"
pushd ${tmpdir} >/dev/null
krelease=$(grep 'define krelease' kernel-ovz.spec|awk '{print $3}')
patchlist=$(grep '^Patch' kernel-ovz.spec | sed -r 's/Patch([0-9]+): (.*)/\1_\2/g' | sed -r "s/%\{krelease\}/${krelease}/g");
for i in ${patchlist}; do
nr=${i%%_*}
src=${i#*_}
dst=$(printf '%04d_%s\n' ${nr} ${src})
dst="${dst%.patch}.patch"
mv ${src} ${dst}
done
popd >/dev/null
echo ">> Patches are at ${tmpdir}"
|