#!/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"
