Instructions for Producing an EXTERNAL Shore Release
Instructions for Producing an EXTERNAL Shore Release
Preliminary Steps
- (csh:) set REL = 1.0
- -- or whatever it is
- (csh:) set REL_CVS = 1_0
- -- or whatever it is
tags can't have . in them.
- Now, tag the work if not already tagged (-F allows you to re-tag)
- cvs rtag -F bp_release_$REL_CVS world
Decide where you will do the building:
- (csh:) set TOP = /p/shore/build/tarfiles/source
- (csh:) set FTP = /p/shore/public/under_construction
Decide which binary release(s) you will make:
- (csh:) set ARCH = sunos.4.1.3.sparc (bounty)
- (csh:) set ARCH = solaris.2.5.sparc (vega19)
- (csh:) set ARCH = solaris.2.4.sparc (caseus)
- (csh:) set ARCH = solaris.2.5.pentium (cops16)
- (csh:) set ARCH = linux (not supported)
- (csh:) set ARCH = hpux (not supported)
Source Release
- mkdir -p $TOP
- cd $TOP
- /bin/rm -rf config tools src
- Do one of:
- cvs export -r bp_release_$REL_CVS externalrelease
- cvs checkout externalrelease (for testing purposes)
- #(checkout gets you CVS directories; export does not)
Verify copyrights and arpa notices
- cd $TOP
- find . -type f -name "Imakefile" -exec $TOP/tools/darpa.pl -c {} \; -print
-
The releasedoc/ Imakefiles might not have the copyright.
That's ok as long as they aren't being released.
- The rpc stuff has its own copyright.
- find . -type f -name "*.[Cch]" -exec $TOP/tools/darpa.pl -c {} \; -print
- The rpc stuff has its own copyright.
- The oo7 stuff has its own copyright.
- The mount/linux stuff has its own copyright.
- Metatypes.sdl.h won't have a copyright.
- Files generated by rpcgen, etc won't have copyrights,
but these files shouldn't be in place if you just did a clean checkout/export.
- find . -type f -name "*.dat" -exec $TOP/tools/darpa.pl -c {} \; -print
- Everything should be ok with *.dat.
Produce source release tar file
- cd $TOP
- cp config/shore.def.example config/shore.def
- chmod u+w config/Project.tmpl config/shore.def
- vi config/shore.def and #define FORCE_SOLARIS
- tar cvf - config tools src | gzip --best > $FTP/shore.$REL.src.tar.gz
Binary Release
Debugging Version
Do this section in a separate window.
This can be done concurrently with the
Non-debugging step (below).
- (csh:) set TOP = /p/shore/build/tarfiles
- (csh:) set TOPDBG = $TOP/@sys/debug
- mkdir -p $TOPDBG
** YOU HAVE TO MAKE THIS BY HAND -- mkdir -p doesn't work with @sys
- cd $TOPDBG
- gunzip -c $FTP/shore.$REL.src.tar.gz | tar xvf -
- cp config/shore.def.example config/shore.def
- Undef #defines in shore.def for GNU make if you are using /bin/make
- Set params for DEBUGging version :
vi config/shore.def
- tools/makemake .
- tools/depend
- cd src
- make
- make install
- cd $TOPDBG/installed
- tar cvf - bin include lib | gzip --best > $FTP/shore.$REL.$ARCH.debug.tar.gz
- cd $TOPDBG; du -s .
- cd $TOPDBG/installed
- /bin/rm -rf bin include lib
Non-debugging Version
Do this section in a separate window.
- (csh:) set TOP = /p/shore/build/tarfiles
- (csh:) set TOPNDBG = $TOP/@sys/nodebug
- mkdir -p $TOPNDBG
** YOU HAVE TO MAKE THIS BY HAND -- mkdir -p doesn't work with @sys
- cd $TOPNDBG
- gunzip -c $FTP/shore.$REL.src.tar.gz | tar xvf -
- cp config/shore.def.example config/shore.def
- Undef #defines in shore.def for GNU make if you are using /bin/make
- Set params for NO DEBUGging version :
vi config/shore.def
- tools/makemake .
- tools/depend
- cd src
- make
- make install
- cd $TOPNDBG/installed
- tar cvf - bin include lib | gzip --best > $FTP/shore.$REL.$ARCH.nodebug.tar.gz
- cd $TOPNDBG; du -s .
- cd $TOPNDBG/installed
- /bin/rm -rf bin include lib
Documentation
This can be done concurrently with the Source and Binary steps.
If you do concurrent work, BOTH windows must have gone
through the steps of setting TOP, FTP, REL and REL_CVS.
-
Using the amounts computed in the above builds, MAKE SURE THE
DISK SPACE REQUIREMENTS in releasedoc are sufficient.
- Change the release numbers in the documentation.
To do this, you have to search for "Version" in
- readme/README*
(README goes in the tar file, README.ftp goes in ftp directory)
- /p/shore/documents/latex2html/shore.sty
- /p/shore/documents/latex2html/styles/shore.perl
- releasedoc/man/ms2h.pl
- releasedoc/man/DARPA
- release manual: releasedoc/release/release.src
- installation manual: releasedoc/installation/installation.src
contains explicit directions for tar-ing and gunzip-ing release files.
- (csh:) set TOP = /p/shore/build/tarfiles
- (csh:) set TOPDOC = $TOP/doc
- mkdir -p $TOPDOC
- cd $TOPDOC
- cvs co -r bp_release_$REL_CVS localreleasedoc
- Undef #defines in shore.def for GNU make if you are using /bin/make
- if you're using GNU make, setenv GNU_MAKE
- tools/makemake .
- tools/depend
- cd $TOPDOC/releasedoc
- make
- make install
- (csh:) set INSTALLDIR = $TOPDOC/installed
-
If the next step reports UNDEFINED anchors, figure out what's wrong,
fix the sources, re-tag the sources, and start over.
- $TOPDOC/releasedoc/dangle.pl $INSTALLDIR/docs.html/*/*.html
-
If the next step reports missing DARPA notices,
fix the sources, re-tag the sources, and start over.
-
$TOPDOC/tools/darpa.pl -d $INSTALLDIR/docs.html/*/footnode.html
-
Many documents have their notices in their footnotes.
The footnotes should all come out clean.
- cd $TOPDOC/src/examples
- make install
- cd $TOPDOC/src/oo7
- make install
- cd $TOPDOC/src # to get COPYRIGHT installed
- make install
- cd $TOPDOC/installed
- tar cvf - docs.html docs.ps examples COPYRIGHT README | gzip --best > $FTP/shore.$REL.doc.tar.gz
- /bin/rm -rf docs.html docs.ps examples COPYRIGHT README
- cd $TOPDOC/releasedoc
- cp readme/README.ftp $FTP/README
TESTING RELEASES
-
The process of building the binary relelases from the source
release tested the source release.
-
Using the instructions in the READMEs in $FTP,
install the documentation in a test directory, say, /p/shore/build/testdoc
-
Using netscape or mosaic, descend to the installation
manual in the test directory.
For each architecture for which we have built tarfiles do:
- install a NO DEBUGging binary release,
following the instructions in "Installing the Binary Release"
- test a nodebugging binary release,
following the instructions in "Testing your Installation"
- when done, blow away the installation
- install a DEBUGging binary release,
following the instructions in "Installing the Binary Release"
- test a debugging binary release,
following the instructions in "Testing your Installation"
- blow it away
Notifying Users
- cd $FTP
- mv ./* ../$REL
- ftp account is shoreftp at ftp.cs.wisc.edu
- mail shore_all exodus_all
- install docs in /p/shore/public/html/$REL
- update /p/shore/public/html/shore.home.html to reflect the release info and
- if changing password, mail /p/shore/documents/release_plans/contact_list