summaryrefslogtreecommitdiffstats
path: root/src/util/mkrel
diff options
context:
space:
mode:
authorTom Yu <tlyu@mit.edu>2004-09-25 01:00:55 +0000
committerTom Yu <tlyu@mit.edu>2004-09-25 01:00:55 +0000
commita63d79f93e746f611f37a7e3c9c1c13aaa7c6db3 (patch)
treec38a038fd78fc6e6246d64aec1cbf5b20f76c77b /src/util/mkrel
parent429c571fa4fe828192cc5f5349218616a50efa70 (diff)
downloadkrb5-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/mkrel75
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..."