for review: new release scheme.
Tyson Dowd
trd at cs.mu.OZ.AU
Wed Sep 9 16:38:07 AEST 1998
Hi,
Here's the new release scheme.
Could someone look at this carefully? It's a bit difficult to test.
===================================================================
Estimated hours taken: 1.5
Change the release tar.gz file generation scheme.
We now generate:
mercury-compiler-rotd-YYYY-MM-DD-unstable.tar.gz
mercury-extras-rotd-YYYY-MM-DD-unstable.tar.gz
mercury-tests-rotd-YYYY-MM-DD-unstable.tar.gz
each night if we bootstrap, even if we don't pass the tests.
If we pass the tests, we generate:
mercury-compiler-rotd-YYYY-MM-DD.tar.gz
mercury-extras-rotd-YYYY-MM-DD.tar.gz
mercury-tests-rotd-YYYY-MM-DD.tar.gz
And for numbered releases we create:
mercury-compiler-0.8.tar.gz
mercury-extras-0.8.tar.gz
mercury-tests-0.8.tar.gz
Mmakefile:
Change the tar target to create the newly named files.
tools/test_mercury:
Change the behaviour of copying files to the beta-releases
directory.
Index: Mmakefile
===================================================================
RCS file: /home/mercury1/repository/mercury/Mmakefile,v
retrieving revision 1.23
diff -u -r1.23 Mmakefile
--- Mmakefile 1998/06/01 01:28:14 1.23
+++ Mmakefile 1998/09/08 06:58:44
@@ -188,28 +188,32 @@
-rm -f config.status config.cache config.log configure.log
-rm -f runtime/mercury_conf.h boehm_gc/mercury_boehm_gc_conf.h
-rm -f Mmake.common
- # Package up the mercury directory and the tests directory,
- # but with some subdirectories excluded, into a gzipped tar
- # archive that will unpack into mercury-$(VERSION).
+ # Package up the mercury directory with some subdirectories
+ # excluded, into a gzipped tar archive that will unpack into
+ # mercury-compiler-$(VERSION).
# Put the extras directory into a gzipped tar archive that
- # will unpack into mercury-$(VERSION)-extras.
+ # will unpack into mercury-extras-$(VERSION).
+ # Put the tests directory into a gzipped tar archive that
+ # will unpack into mercury-tests-$(VERSION).
cd .. && ( \
- mv mercury mercury-$(VERSION); \
- mv tests mercury-$(VERSION)/tests; \
mkdir stuff-to-exclude; \
- mv mercury-$(VERSION)/trial stuff-to-exclude; \
- mv mercury-$(VERSION)/bytecode stuff-to-exclude; \
- mv mercury-$(VERSION)/lp_solve stuff-to-exclude; \
- mv mercury-$(VERSION)/extras mercury-$(VERSION)-extras; \
- tar -cf - mercury-$(VERSION) | \
- gzip -9 > mercury-$(VERSION).tar.gz; \
- mv stuff-to-exclude/* mercury-$(VERSION); \
+ mv mercury/trial stuff-to-exclude; \
+ mv mercury/bytecode stuff-to-exclude; \
+ mv mercury/lp_solve stuff-to-exclude; \
+ mv mercury/extras mercury-extras-$(VERSION); \
+ mv mercury mercury-compiler-$(VERSION); \
+ mv tests mercury-tests-$(VERSION); \
+ tar -cf - mercury-compiler-$(VERSION) | \
+ gzip -9 > mercury-compiler-$(VERSION).tar.gz; \
+ tar -cf - mercury-extras-$(VERSION) | \
+ gzip -9 > mercury-extras-$(VERSION).tar.gz; \
+ tar -cf - mercury-tests-$(VERSION) | \
+ gzip -9 > mercury-tests-$(VERSION).tar.gz; \
+ mv mercury-compiler-$(VERSION) mercury; \
+ mv mercury-extras-$(VERSION) mercury/extras; \
+ mv mercury-tests-$(VERSION) tests; \
+ mv stuff-to-exclude/* mercury; \
rmdir stuff-to-exclude; \
- mv mercury-$(VERSION)-extras mercury-$(VERSION)/extras; \
- tar -cf - mercury-$(VERSION)/extras | \
- gzip -9 > mercury-$(VERSION)-extras.tar.gz; \
- mv mercury-$(VERSION)/tests tests; \
- mv mercury-$(VERSION) mercury \
)
.PHONY: version
Index: tools/test_mercury
===================================================================
RCS file: /home/mercury1/repository/mercury/tools/test_mercury,v
retrieving revision 1.75
diff -u -r1.75 test_mercury
--- test_mercury 1998/06/03 22:57:33 1.75
+++ test_mercury 1998/09/09 05:48:30
@@ -359,8 +359,12 @@
mmake MMAKEFLAGS='EXTRA_MCFLAGS="-O5 --opt-space" -j6' tar &&
cd .. &&
rm -f mercury-latest-unstable/* &&
- mv mercury-$version.tar.gz mercury-latest-unstable &&
- mv mercury-$version-extras.tar.gz mercury-latest-unstable
+ mv mercury-compiler-$version.tar.gz \
+ mercury-latest-unstable/mercury-compiler-$version-unstable.tar.gz &&
+ mv mercury-extras-$version.tar.gz \
+ mercury-latest-unstable/mercury-extra-$version-unstable.tar.gz &&
+ mv mercury-tests-$version.tar.gz \
+ mercury-latest-unstable/mercury-tests-$version-unstable.tar.gz
} || status=1
;;
esac
@@ -436,8 +440,21 @@
#-----------------------------------------------------------------------------#
+: update the unstable release
+
+BETA_FTPDIR = /home/tsa/ftp/pub/mercury/beta-releases
+
+rm -f $BETA_FTPDIR/mercury-*-rotd-*-unstable.tar.gz &&
+cp mercury-latest-unstable/mercury-*-$version-unstable.tar.gz \
+ $BETA_FTPDIR
+
+#-----------------------------------------------------------------------------#
+
: check for success
+STABLE=mercury-latest-stable
+UNSTABLE=mercury-latest-unstable
+
case $status in
0)
: if we get this far, then it worked.
@@ -445,16 +462,22 @@
date >> $TESTDIR/logs/successful_tests.$HOST
case $HOST in murlibobo)
cd $DIR &&
- rm -f mercury-latest-stable/* &&
- ln mercury-latest-unstable/mercury-$version.tar.gz \
- mercury-latest-stable/mercury-$version.tar.gz &&
- ln mercury-latest-unstable/mercury-$version-extras.tar.gz \
- mercury-latest-stable/mercury-$version-extras.tar.gz &&
- rm -f /home/tsa/ftp/pub/mercury/beta-releases/mercury-rotd-*.tar.gz
- cp mercury-latest-stable/mercury-$version.tar.gz \
- /home/tsa/ftp/pub/mercury/beta-releases
- cp mercury-latest-stable/mercury-$version-extras.tar.gz \
- /home/tsa/ftp/pub/mercury/beta-releases
+ rm -f $STABLE/* &&
+ ln $UNSTABLE/mercury-compiler-$version-unstable.tar.gz \
+ $STABLE/mercury-compiler-$version.tar.gz &&
+ ln $UNSTABLE/mercury-extras-$version-unstable.tar.gz \
+ $STABLE/mercury-extras-$version.tar.gz &&
+ ln $UNSTABLE/mercury-tests-$version-unstable.tar.gz \
+ $STABLE/mercury-tests-$version.tar.gz &&
+
+ # Only delete the stable rotds.
+ rm -f $BETA_FTPDIR/mercury-*-rotd-*[0-9].tar.gz &&
+ ln $BETA_FTPDIR/mercury-compiler-$version-unstable.tar.gz \
+ $BETA_FTPDIR/mercury-compiler-$version.tar.gz &&
+ ln $BETA_FTPDIR/mercury-extras-$version-unstable.tar.gz \
+ $BETA_FTPDIR/mercury-extras-$version.tar.gz &&
+ ln $BETA_FTPDIR/mercury-tests-$version-unstable.tar.gz \
+ $BETA_FTPDIR/mercury-tests-$version.tar.gz
;;
esac
echo "test_mercury exiting successfully at `date`" 1>&2
--
Tyson Dowd # There isn't any reason why Linux can't be
# implemented as an enterprise computing solution.
trd at cs.mu.oz.au # Find out what you've been missing while you've
http://www.cs.mu.oz.au/~trd # been rebooting Windows NT. -- InfoWorld, 1998.
More information about the developers
mailing list