[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