chiark / gitweb /
Proper buildship.
authorian <ian>
Sun, 24 Aug 1997 23:13:33 +0000 (23:13 +0000)
committerian <ian>
Sun, 24 Aug 1997 23:13:33 +0000 (23:13 +0000)
.cvsignore
Makefile.in
buildship

index 53d8615..6a8f000 100644 (file)
@@ -24,3 +24,4 @@ config.status
 
 vd
 slash-etc
+shipcheck
index 115ab4a..2a85e61 100644 (file)
@@ -44,7 +44,7 @@ SOURCES=      Makefile.in configure.in acconfig.h                     \
 ALSOSHIP=      system.default system.override \
                spec.sgml overview.fig overview.ps \
                COPYING buildship install-sh .cvsignore
-GENSHIP=       lexer.l lexer.c tokens.h pcsum.h \
+GENSHIP=       lexer.l lexer.c tokens.h pcsum.h configure config.h.in \
                spec.html spec.ps overview.ps
 
 SHIPTARGETS=   $(SOURCES) $(ALSOSHIP) $(GENSHIP)
@@ -102,10 +102,11 @@ realclean:        distclean
 shipprep:      $(SHIPTARGETS)
 
 ship:          $(SHIPTARGETS)
-               rm -rf d && mkdir d && cp -av $^ d
-               mv d userv-$(VERSION)
-               GZIP=-9v tar zvvcf ../userv-$(VERSION).tar.gz userv-$(VERSION)
-               rm -rf userv-$(VERSION)
+               rm -rf shipcheck
+               mkdir shipcheck/userv-$(VERSION)
+               cp -av $^ shipcheck/userv-$(VERSION)
+               GZIP=-9v tar zvvcCf shipcheck userv-$(VERSION).tar.gz userv-$(VERSION)
+               rm -rf shipcheck/userv-$(VERSION)
 
 linecount:     $(SOURCES)
                wc -l $^
index 2627ae1..bd7876d 100755 (executable)
--- a/buildship
+++ b/buildship
@@ -1,10 +1,47 @@
 #!/bin/sh
+# to release, check out a fresh copy and then run this
+
+set -e
 if test $# = 0
 then
-       echo >&2 'usage: buildship VERSION=<whatever>'
+       echo >&2 'usage: buildship <version>'
        exit 1
 fi
+version=$1
+targz=userv-$version.tar.gz
+tag=`echo release-$version | sed -e 's/\./-/g'`
+
+echo >&2 "Tagging (version $version, tag $tag) ..."
+cvs tag -F -c $tag
+
+echo >&2 'Generating pre-built files ...'
 autoconf
 autoheader
 ./configure
-make ship "$@"
+make ship VERSION=$version
+
+cd shipcheck
+
+echo >&2 'Checking whether identical to repository version ...'
+tar zxf $targz
+cvs co -r $tag userv
+cp userv-$version/* userv/.
+cd userv
+if test "x`cvs -n update`" != x
+then
+       echo >&2 mismatch:
+       cvs -n update
+       exit 1
+fi
+cd ..
+rm -rf userv
+
+echo >&2 'Doing test build ...'
+cd userv-$version
+./configure
+make
+
+cd ../..
+
+echo >&2 "OK.  Distribution file is ../$targz."
+mv -f shipcheck/$targz ..