#!/bin/sh # upgrade all specs if [ $# -lt 3 ]; then echo "Usage: $0 NEW_KERNEL_VERSION NEW_KERNEL_RELEASE " fi kernel_version=$1 shift kernel_release=$1 shift spec_list=$@ for i in $spec_list; do echo "Processing spec file $i ..." grep -q "rebuilt with ${kernel_version}-${kernel_release}" $i && continue subst "s/^\(%define[[:space:]]\+kversion[[:space:]]\+\).*/\1$kernel_version/;s/^\(%define[[:space:]]\+krelease[[:space:]]\+\).*/\1$kernel_release/" $i egrep -q "^%define[ ]+module_release" $i && \ new_release=$(expr `egrep '^%define[ ]+module_release' $i | sed -e 's/.*alt\([[:digit:]]\+\).*/\1/'` + 1) || \ new_release=$(expr `egrep '^Release:' $i | sed -e 's/.*alt\([[:digit:]]\+\).*/\1/'` + 1) echo "New release - $new_release" egrep -q "%define[ ]+module_release" $i && \ subst "s/^\(%define[[:space:]]\+module_release.*alt\)[[:digit:]]\+\(.*\)/\1$new_release\2/" $i || \ subst "s/^\(Release:.*alt\)[[:digit:]]\+\(.*\)/\1$new_release\2/" $i add_changelog -e "- rebuilt with $kernel_version-$kernel_release" $i done