#!/bin/sh repository=:kserver:cvs.mit.edu:/cvs/krbdev dodoc=t dosrc=t checkout=t while test $# -gt 2; do case $1 in --srconly) dodoc=nil;; --doconly) dosrc=nil;; --repository) shift; repository=$1;; --nocheckout) checkout=nil;; esac shift done if test $# -lt 2; then echo "usage: $0 [opts] release-tag release-dir" exit 1 fi reltag=$1 reldir=$2 relmajor=0 relminor=0 relpatch=0 reldate=`date +%Y%m%d` case "$reldir" in */*) echo "release-dir may not contain slashes." exit 1 ;; *" "*|*" "*) echo "release-dir may not contain whitespace." exit 1 ;; krb5-*.*.*) release=`echo $reldir|sed -e 's/krb5-//'` relmajor=`echo $release|awk -F. '{print $1}'` relminor=`echo $release|awk -F. '{print $2}'` relpatch=`echo $release|awk -F. '{print $3}'` ;; krb5-*.*) release=`echo $reldir|sed -e 's/krb5-//'` relmajor=`echo $release|awk -F. '{print $1}'` relminor=`echo $release|awk -F. '{print $2}'` ;; krb5-current) release=current-$reldate ;; *);; esac if test $checkout = t; then echo "Checking out krb5 with tag $reltag into directory $reldir..." cvs -q -d $repository export -r$reltag -d $reldir krb5 fi if test $dosrc = t; then echo "Building autoconf..." (cd $reldir/src/util/autoconf M4=gm4 ./configure make) echo "Creating configure scripts..." (cd $reldir/src; util/reconf) echo "Cleaning src/util/autoconf..." (cd $reldir/src/util/autoconf; make distclean) fi echo "Editing release-specific files..." (cd $reldir/src/lib/krb5/krb && \ sed -e '/static/s%KRB5_BRAND:[^"]*"%'"KRB5_BRAND: $reltag $release $reldate"'"%' \ brand.c > brand.c.new && mv brand.c.new brand.c; \ rm -f brand.c.new) (cd $reldir/src/util/send-pr && \ sed -e 's%RELEASE=.*%RELEASE='"krb5-$release"'%' Makefile.in \ > Makefile.in.new && mv Makefile.in.new Makefile.in) (cd $reldir/src && \ cat > patchlevel.h <