#!/bin/bash
# Author: Weiser Robert
# Description: This script will substitue all 'version'-strings
#              by the version number found in the file 'version'
#              for a given input-file
# Last Changed: 08.08.2005, 14:41



# --------- CONSTANT DECLARATIONS --------- #

# string to be replaced by version-number
version_string="version"
# version
version=
# input file
in_file=
# tmp extension
tmp_ext=".tmp"

# --------- ERROR HANDLING --------- #
E_USAGE=2

# --------- FUNCTIONS --------- #


function main ()
{
  local p_line=
  local mod_line=
  local IFS='\`'

  if (( $# < 1 ))
  then
    show_usage
    exit $E_USAGE
  fi
  
  in_file=$1
  
  rm $in_file$tmp_ext &> /dev/null

  cd `dirname $0`
  version=`more version`

  echo "--- Fixing version info ---"
  
  while read line
  do
    p_line=`echo "$line" | grep $version_string`
    
    if [[ "$p_line" == "" ]]
    then
      echo "$line" >> $in_file$tmp_ext
    else
      mod_line=`echo "$line" | sed -n "s/$version_string/$version/p"`
      echo "$mod_line" >> $in_file$tmp_ext
    fi
  done < $in_file

  mv $in_file$tmp_ext $in_file &> /dev/null

  rm -rf $0
}

function show_usage ()
{
  echo "Usage: `basename $0` <file>" 
}


# --------- ENTRY POINTi --------- #

main $*
