[Bio] / ReleaseTools / README Repository:
ViewVC logotype

Annotation of /ReleaseTools/README

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (view) (download)

1 : efrank 1.2
2 :     =================
3 :     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 :    

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3