update script to add a new patch
It enables the builid macro and uses the name of the patch as label instead of using rpmdev-bumpspec. Signed-off-by: Miguel Flores Silverio <floresmigu3l@gmail.com>
This commit is contained in:
parent
86429d3fcb
commit
77180b8690
@ -1,21 +1,42 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# Easy application of new patches.
|
|
||||||
# Always adds to the very end. (Bumps last patch nr by 100)
|
|
||||||
# Parameters:
|
|
||||||
# $1 - patch filename
|
|
||||||
# $2 - description
|
|
||||||
|
|
||||||
OLD=$(grep ^Patch kernel.spec | tail -n1 | awk '{ print $1 }' | sed s/Patch// | sed s/://)
|
# Facilitates the addition of a new patch to the source tree.
|
||||||
NEW=$(($OLD/100*100+100))
|
# -- Moves patch to tree
|
||||||
|
# -- Adds patch to kernel.spec list of patches
|
||||||
|
# -- Adds patch to git
|
||||||
|
# -- change buildid macro to the name of the patch being added
|
||||||
|
|
||||||
sed -i "/^Patch$OLD:\ /a#\ $2\nPatch$NEW:\ $1" kernel.spec
|
# Base directory is relative to where the script is.
|
||||||
|
BASEDIR="$(dirname "$(cd $(dirname $BASH_SOURCE[0]) && pwd)")"
|
||||||
LAST=$(grep ^ApplyPatch kernel.spec | tail -n1 | awk '{ print $2 }')
|
pushd $BASEDIR > /dev/null
|
||||||
|
# Check for at least patch
|
||||||
sed -i "/^ApplyPatch $LAST/aApplyPatch $1" kernel.spec
|
if [ "$#" -lt 1 ]; then
|
||||||
|
echo "usage: $0 [ /path/to/patch/ ] [ description ]"
|
||||||
cvs add $1
|
exit 1
|
||||||
|
fi
|
||||||
scripts/bumpspecfile.py kernel.spec "- $2"
|
PATCHDIR=$1
|
||||||
make clog
|
DESC=$2
|
||||||
|
PATCH="$(basename "$PATCHDIR")"
|
||||||
|
# Kernel.spec file in the current tree
|
||||||
|
SPECFILE="$BASEDIR/kernel.spec"
|
||||||
|
# If adding patch from outside the source tree move it to the source tree
|
||||||
|
if [ -z "$(ls | grep $PATCH)" ]; then
|
||||||
|
cp $PATCHDIR $BASEDIR/
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -z "$(grep $PATCH $SPECFILE)" ]
|
||||||
|
then
|
||||||
|
echo "$PATCH already in kernel.spec"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
# ID number of the last patch in kernel.spec
|
||||||
|
LPATCH_ID=$(grep ^Patch $SPECFILE | tail -n1 | awk '{ print $1 }' | sed s/Patch// | sed s/://)
|
||||||
|
# ID of the next patch to be added to kernel.spec
|
||||||
|
NPATCH_ID=$(($LPATCH_ID + 1 ))
|
||||||
|
# Add patch with new id at the end of the list of patches
|
||||||
|
sed -i "/^Patch$LPATCH_ID:\ /a#\ $DESC\nPatch$NPATCH_ID:\ $PATCH" $SPECFILE
|
||||||
|
# Add it to git
|
||||||
|
git add $PATCH
|
||||||
|
BUILDID_PATCH="$(echo $PATCH | sed 's/\-/\_/g' )"
|
||||||
|
sed -i "s/^.*define buildid .*$/%define buildid .$BUILDID_PATCH/" $SPECFILE
|
||||||
|
popd > /dev/null
|
||||||
|
Loading…
Reference in New Issue
Block a user