diff options
| author | Tom Yu <tlyu@mit.edu> | 2004-09-25 01:00:55 +0000 |
|---|---|---|
| committer | Tom Yu <tlyu@mit.edu> | 2004-09-25 01:00:55 +0000 |
| commit | a63d79f93e746f611f37a7e3c9c1c13aaa7c6db3 (patch) | |
| tree | c38a038fd78fc6e6246d64aec1cbf5b20f76c77b /src/util/mkrel | |
| parent | 429c571fa4fe828192cc5f5349218616a50efa70 (diff) | |
| download | krb5-a63d79f93e746f611f37a7e3c9c1c13aaa7c6db3.tar.gz krb5-a63d79f93e746f611f37a7e3c9c1c13aaa7c6db3.tar.xz krb5-a63d79f93e746f611f37a7e3c9c1c13aaa7c6db3.zip | |
Make patchlevel.h be the master version file
ticket: 1345
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16790 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/util/mkrel')
| -rw-r--r-- | src/util/mkrel | 75 |
1 files changed, 61 insertions, 14 deletions
diff --git a/src/util/mkrel b/src/util/mkrel index a576fbd228..97a08d1260 100644 --- a/src/util/mkrel +++ b/src/util/mkrel @@ -1,6 +1,6 @@ #!/bin/sh set -e -repository=:kserver:cvs.mit.edu:/cvs/krbdev +repository=:gserver:cvs.mit.edu:/cvs/krbdev dodoc=t dosrc=t checkout=t @@ -32,7 +32,7 @@ relmajor=0 relminor=0 relpatch=0 relhead= -reltail= +# reltail= reldate=`date +%Y%m%d` case "$reldir" in @@ -92,6 +92,45 @@ echo "major=$relmajor minor=$relminor patch=$relpatch" # $reltag, $release, $reldate are used for brand.c currently # $relmajor, $relminor, $relpatch are used for patchlevel.h currently +# +# $newstyle = t if patchlevel.h is the master version stamp file. If +# so, we don't edit it here. +# +if test $checkout = t; then + if cvs -q -d $repository checkout -p -r$reltag krb5/src/patchlevel.h | grep KRB5_RELDATE > /dev/null 2>&1; then + newstyle=t + else + newstyle=nil; + fi +else + if grep KRB5_RELDATE $reldir/src/patchlevel.h > /dev/null 2>&1; then + newstyle=t; + else + newstyle=nil; + fi +fi + +if test $newstyle = t; then + echo "parsing new style patchlevel.h..." + if test $checkout = t; then + eval `cvs -q -d $repository checkout -p -r$reltag krb5/src/patchlevel.h | sed -n 's/#define \([A-Z0-9_]*\)[ \t]*\(.*\)/\1=\2/p'` + else + eval `sed -n 's/#define \([A-Z0-9_]*\)[ \t]*\(.*\)/\1=\2/p' < $reldir/src/patchlevel.h` + fi + if test "$KRB5_RELTAG" != $reltag; then + echo "WARNING: patchlevel.h '$KRB5_RELTAG' != $reltag" + fi + if test "$KRB5_MAJOR_RELEASE" != $relmajor || \ + test "$KRB5_MINOR_RELEASE" != $relminor || \ + test "$KRB5_PATCHLEVEL" != $relpatch || \ + test "$KRB5_RELTAIL" != $reltail; then + + echo "WARNING: patchlevel.h $KRB5_MAJOR_RELEASE.$KRB5_MINOR_RELEASE.$KRB5_PATCHLEVEL${KRB5_RELTAIL+-$KRB5_RELTAIL} != $relmajor.$relminor.$relpatch${reltail+-$reltail}" + fi +else + echo "old style patchlevel.h" +fi + 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 @@ -115,28 +154,36 @@ 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) +if test $newstyle = t; then + (cd $reldir/src && \ + sed -e '/RELDATE/c\ +#define KRB5_RELDATE "'"$reldate"'"' patchlevel.h > patchlevel.h.new && \ + mv patchlevel.h.new patchlevel.h) +else + + (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/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 <<EOF + (cd $reldir/src && \ + cat > patchlevel.h <<EOF #define KRB5_MAJOR_RELEASE $relmajor #define KRB5_MINOR_RELEASE $relminor #define KRB5_PATCHLEVEL $relpatch EOF -) + ) +fi echo "Nuking unneeded files..." find $reldir \( -name TODO -o -name todo -o -name .cvsignore \ -o -name BADSYMS -o -name .Sanitize -o -name .rconf \) -print \ - | xargs rm -f -find $reldir -type d -name autom4te.cache -exec rm -rf {} \; + | xargs rm -f || true +find $reldir -type d -name autom4te.cache -exec rm -rf {} \; || true if test $dodoc = t; then echo "Building doc..." |
