[Bio] / ReleaseTools / README Repository:
ViewVC logotype

Diff of /ReleaseTools/README

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1, Mon Dec 1 15:16:53 2003 UTC revision 1.2, Mon Dec 22 22:28:43 2003 UTC
# Line 1  Line 1 
1  Tools for making a release.  
2  Just a skeleton of chat with bob.  =================
3  Anything / everything can be erased...just capturing the conversation.  Quick Users Guide
4    =================
5    
6    Introduction
7    =================
8    
9    
10    The ReleaseTools package provides tools for creating releases, importing
11    releases from other machines, and for making sandboxes for development
12    in.  These concepts are expanded below, then the tools are listed and
13    described.
14    
15    ReleaseTools supports a development process in which development is
16    done relative to a "release."  A release is simply a set of packages
17    that have been tested to work together. When you define a release, you
18    provide a list of package names and the CVS tag name for each that is
19    to be used. The release-creating tool, newrel, will check those packages
20    out for you into the release-install area and tune the directory
21    structure.
22    
23    The work cycle looks like:
24       o make a work directory.  put packages in there from CVS.
25       o develop.
26       o note, you may have more than one work directory, there are likely
27         many developers, and they can be on multiple machines.
28       o at some point, the group decides they want to sync and test as
29         a system and "publish" a new release.  then
30           - the group produces a set of packages and tag names for the release
31           - someone does a newrel to define teh new release and to get
32             it installed onto the release area of some machine.
33           - people do importrel to import the release onto their machines.
34             (importrel isn't client-server.  any two peers can do it.)
35    
36    
37    Terminology/Definitions
38    =======================
39    
40    Configuration:
41       RTROOT       Points to base of installation
42       RTARCH       Architecture name, e.g., "mac" or "linux-posgres"
43       RTCURRENT    Name of release you want to work on when you login. (can
44                    change later.
45    
46    Release Area:
47       Where releases are installed.  It is  $RTROOT/dist/releases
48    
49    Release Name:
50       A name like 1.2.3
51       You can have as many releases as you want installed into
52       $RTROOT/dist/releases
53    
54    Work directory:
55       A sandbox where you do development.  You create it with the command
56       mkworkdir.  A sandbox knows a base release that you are developing
57       against.
58    
59    Recipes
60    =======
61    
62    1. Getting user readyd for the first time.
63    
64       Set a few environment variables at login time.
65    
66            RTROOT=/home/fig/FIGdisk; export RTROOT
67            RTARCH=linux-postgres; export RTARCH
68            RTCURRENT=1.2.3; export RTCURRENT
69    
70            PATH=${PATH}:${RTROOT}/dist/releases/${RTCURRENT}/bin/${RTARCH}
71    
72        That should be it, but at the moment we have some other stuff.  There
73        might be a source of a config from the release soon.
74    
75    2. If you have a release already on your machine and want to develop against
76       it
77    
78       cd someplace where you want to work.  suppose the base release is 1.2.3.
79       Give the commands,
80            cd someplace
81            mkworkdir -r 1.2.3 myNewSandboxName
82            cd myNewSandboxName
83    
84    3. How to put packages in there without haviong to know all the tags.
85            cd mySandbox
86            getPackage  <thePackageName>
87    
88       If you want to know all the packages in the release
89            getPackage -l
90    
91       If you want them ALL checked out from cvs
92            getPackage -a
93    
94    4. How to import a new release
95    
96       Make sure you can write to $RTOOT/dist/releases.  Suppose the release
97       you want to import is called 5.6.7 on host  thatPlace.gov
98    
99       importrel -r 5.6.7 -h thatPlace.gov
100    
101       Now you could do mkworkdir -r 5.6.7 myNewworkdir
102    
103    5. How to make a new release
104    
105       Make sure you can write to $RTOOT/dist/releases. Create a file of
106       the form below that lists all the packages and their tags that you
107       want to have in the release:
108    
109    ReleaseTools V00-00-05
110    FigCommon V00-00-01
111    FigKernelPackages V00-00-02
112    FigKernelScripts V00-00-01
113    FigPeer2PeerTools V00-00-00
114    FigWebPages V00-00-00
115    FigWebServices V00-00-02
116    
117        Suppose this file is called newReleaseDef.  Suppose you want to creatae
118        a release called 6.7.8.  Give the command
119    
120        newrel  6.7.8 -f newReleaseDef
121    
122        You can now run importrel on other peers to get release 6.7.8
123    
124        NOTE:  newrel does not BUILD the release (compile it).  You have to
125        do a make.
126    
127    6.
128    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3