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