[Spread-cvs] commit: r320 - trunk

jonathan at spread.org jonathan at spread.org
Thu Mar 2 00:17:26 EST 2006


Author: jonathan
Date: 2006-03-02 00:17:26 -0500 (Thu, 02 Mar 2006)
New Revision: 320

Modified:
   trunk/CVS_Readme.txt
   trunk/Readme.txt
Log:
Update build and release discussion.


Modified: trunk/CVS_Readme.txt
===================================================================
--- trunk/CVS_Readme.txt	2006-03-02 05:16:31 UTC (rev 319)
+++ trunk/CVS_Readme.txt	2006-03-02 05:17:26 UTC (rev 320)
@@ -4,9 +4,10 @@
 
 There may be release branches for older releases if needed.
 
-To checkout a copy
+To checkout a copy you need to have submitted a ssh public key
+as described on the www.spread.org/devel/ webpage. Then run:
 
-svn checkout svn+ssh://svn.spread.org/services/spreadcvs/svn/spread/trunk spread
+svn checkout svn+ssh://svn.spread.org/spread/trunk spread
 
 You should now have a 'spread' directory which contains the subdirectories:
 
@@ -63,18 +64,40 @@
 
 - Code Changes in release commit
 
-  x) Update the Java build files javaapps/build.xml 
+1) Update Spread version number.
+  *) Update the Java build files javaapps/build.xml 
      <property name="version" value="3.17.2"/>
 
-     Also update the spread version in SpreadConnection.java
+  *) Also update the spread version in SpreadConnection.java
 
-  x) Update Spread version number in daemon/spread_params.h
+  *) Update Spread version number in daemon/spread_params.h
      SP_MAJOR_VERSION, SP_MINOR_VERSION, SP_PATCH_VERSION
+  *) Update the SPREAD_VERSION define in sp.h
+  *) Update the version at the top of configure.in
 
-  x) Update the SPREAD_VERSION define in sp.h
+2) If changes to spread library, update the library version (LIBVERSION) as needed in libspread/Makefile.in
 
-  x) Update build date in spread.c and monitor.c initial Alarm prints.
+3) Update build dates.
+   *) Update build date in spread.c and monitor.c initial Alarm prints.
  
-  x) After release source tar is built and parser is built. Make sure
-     lex.yy.c does not #include <unistd.h> without protecting it by 
-     #ifndef ARCH_PC_WIN95 ... #endif
+4) After release source tar is built and parser is built. Make sure
+   lex.yy.c does not #include <unistd.h> without protecting it by 
+   #ifndef ARCH_PC_WIN95 ... #endif
+
+To make binary release of Spread
+--------------------------------
+
+1) Untar the source release.
+2) For each platform to support do:
+   mkdir bin_osname (for example bin_linux)
+   cd bin_osname
+   ../configure
+   make 
+   make binrelease
+   mv bin/archname ../bin/
+   cd ..
+   rm -rf bin_osname
+3) Remove unneeded directories and files:
+   rm -rf daemon libspread perl stdutil win32 CVS_Readme.txt
+4) Replace makefiles with binrelease makefiles for 
+   the examples directory and toplevel. 

Modified: trunk/Readme.txt
===================================================================
--- trunk/Readme.txt	2006-03-02 05:16:31 UTC (rev 319)
+++ trunk/Readme.txt	2006-03-02 05:17:26 UTC (rev 320)
@@ -13,28 +13,31 @@
 | This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF     |
 | ANY KIND, either express or implied.                                      |
 |                                                                           |
-| Spread is developed at Spread Concepts LLC and the Center for Networking  |
-| and Distributed Systems, The Johns Hopkins University.                    |
+| Spread is developed at Spread Concepts LLC with the support of:	    |
+|    The Distributed Systems and Networks Lab, Johns Hopkins University     |
+|    The Experimental Networked Systems Lab, George Washington University   |
 |                                                                           |
 | Creators:                                                                 |
 |    Yair Amir             yairamir at cs.jhu.edu                              |
 |    Michal Miskin-Amir    michal at spreadconcepts.com                        |
 |    Jonathan Stanton      jstanton at gwu.edu                                 |
+|    John Schultz	   jschultz at spreadconcepts.com			    |
 |                                                                           |
 | Major Contributors:                                                       |
 |    Ryan Caudy           rcaudy at gmail.com - contribution to process groups.|
 |    Cristina Nita-Rotaru crisn at cs.purdue.edu - GC security.                |
 |    Theo Schlossnagle    jesus at omniti.com - Perl, autoconf, old skiplist.  |
-|    Dan Schoenblum       dansch at cnds.jhu.edu - Java interface.             |
+|    Dan Schoenblum       dansch at dsn.jhu.edu - Java interface.              |
 |    John Schultz         jschultz at spreadconcepts.com - Virtual Synchrony   |
 |					          data structures..         |
 |                                                                           |
 | Contributors:                                                             |
-|    Ryan Caudy        wyvern at cnds.jhu.edu - Group membership               |
+|    Ryan Caudy        rcaudy at gmail.com - Group membership                  |
 |    Ben Laurie	       ben at algroup.co.uk - FreeBSD port and warning fixes   |
 |    Daniel Rall       dlr at finemaltcoding.com - Java & networking fixes,    |
 |                                               configuration improvements  |
 |    Marc Zyngier                        - Windows fixes                    |
+|    Jacob Green       jgreen at spreadconcepts.com - Windows support          |
 |                                                                           |
 | Special thanks to the following for providing ideas and/or code:          |
 |    Ken Birman, Danny Dolev, Jacob Green, Mike Goodrich, Ben Laurie,       |
@@ -47,13 +50,36 @@
 | WWW    : http://www.spread.org  and  http://www.spreadconcepts.com        |
 | Contact: info at spreadconcepts.com                                          |
 |                                                                           |
-| Version 4.0.0  built XX/YYY/2005                                          |
+| Version 4.0.0  built 01/Mar/2006                                          |
 \===========================================================================/
 
-XXX XX, 2005 Ver 4.0.0
+March, 1, 2006 Ver 4.0.0rc1
 ---------------------------
-See changes in Changelog file.
+Major Features:
 
+Improve High Availability:
+
+1) Dynamic configurations: You can now change the spread configuration of 
+potential daemons without restarting all of the running daemons.
+2) Improved data structures should increase performance and stability.
+
+Better Membership:
+
+1) Virtual Synchrony information for all subgroups who merge is now provided
+in each membership message. This enables more efficient application merges.
+2) Better API for extracting group id and virtual synchrony member sets
+from membership messages.
+3) Full VS/Flush API supporting View Synchrony model is now integrated with
+Spread. So you can use either the View Synchony model provided by other GCS
+or the Extended Virtual Synchrony model that Spread has always supported.
+
+Cleaner source organization:
+
+1) Updated Makefiles and Windows MSVC+ project files
+2) Reorganzied directory structure with each component separated
+
+Detailed changes in Changelog file.
+
 SOURCE INSTALL:
 ---------------
 
@@ -86,6 +112,12 @@
 BINARY INSTALL:
 --------
 
+Packaged binary releases of Spread are available from third parties
+for several platforms, such as through the FreeBSD Ports system or as 
+RPMs for Linux distributions. The Spread binary release consists of 
+prebuilt binaries for several OS's that can be run without being installed
+offially into the system.
+
 We recommend that if you are experimenting with spread you create a special
 'spread' directory (for example /usr/local/spread or /opt/spread) and keep
 all the files together there so it is easy to find stuff.  That also makes 
@@ -93,31 +125,22 @@
 own subdirectory. This is not necessary though. You can create that directory
 anywhere (e.g. your own directory).
 
-If you are installing spread for active use it is probably easier to just 
-install the correct version of the binaries, headers, man pages, and 
-libraries into your standard locations.  The directions below assume you 
-are doing this.
+1) Unpack the spread-bin-4.x.tar.gz file into the target directory, 
+like /opt/spread
 
-1) Unpack the spread.tar.gz file into a temporary directory
+2) Look at the Readme.txt for any updates
 
-2) Look at the Readme for any updates
+3) Look in the bin/{archname} directory for the appropriate architecture for
+your system. For example, for Mac OS X 10.3 the binaries to run will be in 
+bin/powerpc-apple-darwin7.9.0/
 
-3) Now you need to copy the files, 
-   I will assume you use /usr/local/{bin,include,lib,man}
-   Replace "ARCH" with the directory for your architecure.
+The libraries to link with your application will be found in the
+/lib/{archname} directory
 
-	cp -p include/* /usr/local/include/
-	cp -p ARCH/libspread.a /usr/local/lib/
-	cp -p ARCH/libtspread.a /usr/local/lib/
-	cp -p ARCH/spread /usr/local/bin/
-	cp -p ARCH/spmonitor /usr/local/bin/
-	cp -p ARCH/spuser /usr/local/bin/
-	cp -p ARCH/sptuser /usr/local/bin/
-	cp -p ARCH/spflooder /usr/local/bin/
-	cp -p docs/*.3 /usr/local/man/man3/
-	cp -p docs/*.1 /usr/local/man/man1/
+The include files to link with are in include/ and the documentation
+can be found in docs/
 
-4) To run spread you need to modify the 'spread/sample.spread.conf' file for
+4) To run spread you need to modify the 'docs/sample.spread.conf' file for
    your network configuration.  Comments in the sample file explain this.
    Then cp -p sample.spread.conf /usr/local/bin/spread.conf
    (Notice the name change.  The config file must be named that to be found.
@@ -127,13 +150,13 @@
 
 
 To use the Java classes and examples you need to have a copy of the 
-main 'spread' daemon running.  Then the sp.class file gives you the 
-equivelent of the libsp.a as a java class.  The user.java, user.html, 
-and user.class files give you a demonstration applet and source code.  
+main 'spread' daemon running.  Then the class files give you the 
+equivelent of the libspread.a as a set of java classes.  The user.java,  
+and user.class files give you a demonstration application and source code.  
 The tree.html AllNames.html and packages.html give some documentation 
 for the java interface.
 
-For Windows (95/NT) systems use the spread.exe daemon and the libsp.lib 
+For Windows (95/NT) systems use the spread.exe daemon and the libspread.lib 
 to link with your programs.
 
 
@@ -251,12 +274,14 @@
 	This is used as one type of performace test.  It 'floods' a spread 
 group with data messages. It is provided with source.
 
+5) flush_user:
+        This provides a demonstration of using the FL_ interface that provides
+Virtual Synchrony semantics to your application. Just like the spuser program
+it allows you to join groups and send and receive messages. 
 
 CONTACT:
 --------
 
 If you have any questions please feel free to contact:
 
-	commedia at cnds.jhu.edu
-	yairamir at cs.jhu.edu
-	jonathan at cs.jhu.edu
+   spread at spread.org




More information about the Spread-cvs mailing list