#!/bin/bash Header() { echo diff -rbuN subversion-0.29.0/subversion/include/svn_version.h subversion-0.29.0-patch/subversion/include/svn_version.h echo --- subversion-0.29.0/subversion/include/svn_version.h 2003-09-17 19:36:40.000000000 -0400 echo +++ subversion-0.29.0-patch/subversion/include/svn_version.h 2003-09-17 21:11:58.000000000 -0400 } Extra() { echo "+\"\\nMandrake RPM\\n\" \\" sh full-machine-name } Patch() { LINE=`echo $1 | cut -f1 -d:` head -$(( $LINE + 3 )) $2 | tail -7 > raw.patch head -4 raw.patch | tail -1 > line.patch echo "@@ -$LINE,7 +$LINE,$3 @@" head -3 raw.patch | awk '{print " "$0;}' echo -n - cat line.patch echo -n + # Only used in one instance if [[ "$6" == "" ]] ; then sed "s/$4/$5/g" line.patch | sed 's/$/ \\/g' Extra else sed "s/$4/$5/g" line.patch fi tail -3 raw.patch | awk '{print " "$0;}' rm -f raw.patch rm -f line.patch } if [[ "$1" == "" ]] ; then exit fi PRE= SVN_VERSION="$1" RELEASE="$2" MDK_RELEASE="$3"mdk VERSION="$4" if [[ "$5" != "" ]] ; then FIND="dev build\\\"" REPLACE="r$RELEASE\\\"" LINES=7 else MACHINE=`sh machine-name` FIND="build\\\"" REPLACE="kernel-$MACHINE-$RELEASE.$MDK_RELEASE build\\\"" LINES=11 fi VerPatch() { NEW=`echo $1 | cut -f$2 -d-` RAW=`grep -n "$3" "$4"` LINE=`echo $RAW | cut -f1 -d:` OLD=`echo $RAW | cut -f3 "-d "` if [ "$OLD" != "$NEW" ] ; then Patch "$RAW" "$4" 7 "$OLD" "$NEW" 1 PRE=1 fi if [ "$TEXT_VERSION" != "" ] ; then TEXT_VERSION="$TEXT_VERSION-$NEW" else TEXT_VERSION=$NEW fi } FIND_MAJOR='#define SVN_VER_MAJOR' FIND_MINOR='#define SVN_VER_MINOR' FIND_MICRO='#define SVN_VER_MICRO' Header VerPatch "$VERSION" 1 "$FIND_MAJOR" "$SVN_VERSION" MAJOR VerPatch "$VERSION" 2 "$FIND_MINOR" "$SVN_VERSION" MINOR VerPatch "$VERSION" 3 "$FIND_MICRO" "$SVN_VERSION" MICRO if [ "$PRE" != "" ] ; then PRE="pre$TEXT_VERSION-" fi RAW=`grep -n '"dev build"' "$SVN_VERSION" | grep SVN_VER_TAG ` Patch "$RAW" "$SVN_VERSION" $LINES "$FIND" "$PRE$REPLACE" "$5"