Blame gen-quilt-series.sh
|
Carlos O'Donell |
33fde86 |
#!/bin/bash
|
|
Carlos O'Donell |
33fde86 |
# Autogeneries the quilt `series` from the patch order in the spec file.
|
|
Carlos O'Donell |
33fde86 |
# We don't use `quilt setup` because it makes a huge mess and doesn't work.
|
|
Carlos O'Donell |
33fde86 |
rm -f series.new
|
|
Carlos O'Donell |
33fde86 |
count=0
|
|
Carlos O'Donell |
33fde86 |
# Filter out the patches, and use `_` as our pseudo-IFS to prevent expansion.
|
|
Carlos O'Donell |
33fde86 |
for i in `grep '%patch' glibc.spec | sed -e 's,%patch,,g' -e 's, ,_,g'`; do
|
|
Carlos O'Donell |
33fde86 |
# Split the patch into number and arguments.
|
|
Carlos O'Donell |
33fde86 |
# 1 - Patch number.
|
|
Carlos O'Donell |
33fde86 |
# 2-N - Patch arguments.
|
|
Carlos O'Donell |
33fde86 |
# Get back our elements by undoing pseudo-IFS change.
|
|
Carlos O'Donell |
33fde86 |
elements=(`echo $i | sed -e 's,_, ,g'`)
|
|
Carlos O'Donell |
33fde86 |
num=${elements[0]}
|
|
Carlos O'Donell |
33fde86 |
args=${elements[@]:1}
|
|
Carlos O'Donell |
33fde86 |
grep "Patch${num}" glibc.spec | sed -e 's,Patch.*: ,,g' -e "s,\$, ${args[@]},g" >> series.new
|
|
Carlos O'Donell |
33fde86 |
((count++))
|
|
Carlos O'Donell |
33fde86 |
done
|
|
Carlos O'Donell |
33fde86 |
fcount=`wc -l series.new | sed -e 's, .*$,,g'`
|
|
Carlos O'Donell |
33fde86 |
if [ $fcount -ne $count ]; then
|
|
Carlos O'Donell |
33fde86 |
echo "Error! Processed less patches than in spec file ($fcount != $count)."
|
|
Carlos O'Donell |
33fde86 |
exit 1
|
|
Carlos O'Donell |
33fde86 |
fi
|
|
Carlos O'Donell |
33fde86 |
echo "Processed $count patches."
|
|
Carlos O'Donell |
33fde86 |
mv series.new series
|
|
Carlos O'Donell |
33fde86 |
echo "Generated quilt ./series file, please commit."
|
|
Carlos O'Donell |
33fde86 |
exit 0
|