#!/bin/bash #echo $1 #exit 0 LANG="en_us_8859_1"; dateJ=`date "+%Y-%m-%d"`; dateH=`date "+%a %b %d %Y"`; if [[ $1 ]] && [ ${1##*.} == "spec" ] then specfile=$1 else specfile=`grep '\.spec' ./CVS/Entries|cut -d'/' -f2` fi echo "search for release in $specfile"; # could be #%define main_release 12.6 #%define release 2 #%define release 2%{?dist} #Release: 24 #Release: 24%{?dist} rele=0; release=`cat $specfile|egrep '^%define (main_)?release'|cut -d " " -f3|cut -d% -f1`; if [[ ! $release ]]; then release=`cat $specfile|egrep '^Release:'|cut -d ":" -f2| tr -d "[:space:]"|cut -d% -f1`; rele=1; fi echo "search for version in $specfile"; #%define version 23 #Version: 23 version=`cat $specfile|grep -i '%define version'|cut -d " " -f3|cut -d% -f1`; if [[ ! $version ]]; then version=`cat $specfile|egrep '^Version:'|cut -d ":" -f2| tr -d "[:space:]"`; fi echo "update release"; oldrelease=$release; #release=$(($release + 1));# do not handle float #release=`echo "$release + 1"|bc`; # not always available addme=1; if [[ "$release" =~ ^[0-9]+\.[0-9]+$ ]] then addme=0.1; fi release=`lua -e "print( $release + $addme)"`; echo "update release $oldrelease ==> $release"; if [ "$rele" -eq "0" ]; then cat $specfile |sed -r "s/(^%define (main_)?release) *$oldrelease/\1 $release/">$specfile.tmp; else cat $specfile |sed -r "s/(^Release:) *$oldrelease/\1 $release/">$specfile.tmp; fi cat $specfile.tmp > $specfile; echo "updating changelog $specfile"; entete="* $dateH Brian Read $version-$release.sme" changelog="- fix [SME: ]" cat $specfile |sed "/^%changelog/a $entete\n$changelog\n" >$specfile.tmp; cat $specfile.tmp>$specfile; rm -f $specfile.tmp echo "nano $specfile" # and check for old directory if [ -d "*.old" ]; then echo "old found" else echo "***Remember to make the old directory!!***" fi