1 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
2 |
|
3 |
<!--Converted with jLaTeX2HTML 2002 (1.62) JA patch-1.4
|
4 |
patched version by: Kenshi Muto, Debian Project.
|
5 |
LaTeX2HTML 2002 (1.62),
|
6 |
original version by: Nikos Drakos, CBLU, University of Leeds
|
7 |
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
8 |
* with significant contributions from:
|
9 |
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
10 |
<HTML>
|
11 |
<HEAD>
|
12 |
<TITLE>3.8 Creating SCRAM Project Files</TITLE>
|
13 |
<META NAME="description" CONTENT="3.8 Creating SCRAM Project Files">
|
14 |
<META NAME="keywords" CONTENT="SCRAM">
|
15 |
<META NAME="resource-type" CONTENT="document">
|
16 |
<META NAME="distribution" CONTENT="global">
|
17 |
|
18 |
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
|
19 |
<META NAME="Generator" CONTENT="jLaTeX2HTML v2002 JA patch-1.4">
|
20 |
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
21 |
|
22 |
<LINK REL="STYLESHEET" HREF="SCRAM.css">
|
23 |
|
24 |
<LINK REL="previous" HREF="node45.html">
|
25 |
<LINK REL="up" HREF="node17.html">
|
26 |
<LINK REL="next" HREF="node47.html">
|
27 |
</HEAD>
|
28 |
|
29 |
<BODY bgcolor="beige" >
|
30 |
<!--Navigation Panel-->
|
31 |
<A NAME="tex2html982"
|
32 |
HREF="node47.html">
|
33 |
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
34 |
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
35 |
<A NAME="tex2html976"
|
36 |
HREF="node17.html">
|
37 |
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
38 |
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
39 |
<A NAME="tex2html972"
|
40 |
HREF="node45.html">
|
41 |
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
42 |
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
43 |
<A NAME="tex2html978"
|
44 |
HREF="node2.html">
|
45 |
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
46 |
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
47 |
<A NAME="tex2html980"
|
48 |
HREF="node85.html">
|
49 |
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index"
|
50 |
SRC="file:/usr/share/latex2html/icons/index.png"></A>
|
51 |
<BR>
|
52 |
<B> Next:</B> <A NAME="tex2html983"
|
53 |
HREF="node47.html">4. Configuring the CVS</A>
|
54 |
<B> Up:</B> <A NAME="tex2html977"
|
55 |
HREF="node17.html">3. Creating and Maintaining</A>
|
56 |
<B> Previous:</B> <A NAME="tex2html973"
|
57 |
HREF="node45.html">3.7 Advanced Use of</A>
|
58 |
  <B> <A NAME="tex2html979"
|
59 |
HREF="node2.html">Contents</A></B>
|
60 |
  <B> <A NAME="tex2html981"
|
61 |
HREF="node85.html">Index</A></B>
|
62 |
<BR>
|
63 |
<BR>
|
64 |
<!--End of Navigation Panel-->
|
65 |
|
66 |
<H1><A NAME="SECTION00480000000000000000"></A><A NAME="sec:creatingscramprojectconf"></A><A NAME="1075"></A>
|
67 |
<BR>
|
68 |
3.8 Creating SCRAM Project Files
|
69 |
</H1>
|
70 |
A <SMALL>SCRAM</SMALL> project must have, at least, the following configuration
|
71 |
files in a configuration directory to properly define the project:
|
72 |
<DL>
|
73 |
<DT><STRONG><TT>BootStrapFile</TT></STRONG></DT>
|
74 |
<DD>
|
75 |
<BR>
|
76 |
For bootstrapping the project. This will relate a specific project
|
77 |
version with the relevant source code version and define a
|
78 |
requirements file.
|
79 |
</DD>
|
80 |
<DT><STRONG><TT>RequirementsDoc</TT></STRONG></DT>
|
81 |
<DD>
|
82 |
<BR>
|
83 |
The requirements file containing information to be passed to the
|
84 |
configuration manager for setting up external tools.
|
85 |
</DD>
|
86 |
<DT><STRONG><TT>BuildFile</TT></STRONG></DT>
|
87 |
<DD>
|
88 |
<BR>
|
89 |
The top-level <TT>BuildFile</TT>, containing project-wide default settings for
|
90 |
export of external tools, build product storage and
|
91 |
architecture/compiler settings.
|
92 |
</DD>
|
93 |
</DL>
|
94 |
|
95 |
<P>
|
96 |
These files are normally kept in a directory called
|
97 |
<A NAME="1876"></A>
|
98 |
<A NAME="1086"></A>
|
99 |
<TT>config</TT> (the name of the directory can be changed using a
|
100 |
directive in the <TT>BootStrapFile</TT>). A <SMALL>SCRAM</SMALL> command exists
|
101 |
which can be used to grab basic template files for a new project.
|
102 |
Typing
|
103 |
|
104 |
<P>
|
105 |
<TT>scram project template</TT>
|
106 |
|
107 |
<P>
|
108 |
will download some basic project configuration files to a
|
109 |
directory called <TT>config</TT> in the current directory. These
|
110 |
should be edited to suit and imported into the project CVS repository
|
111 |
(see Chapter <A HREF="node47.html#ch:configuringCVSinf">4</A>). Once these configuration
|
112 |
files exist, they must be tagged with a CVS symbolic tag that matches the name
|
113 |
and version of the project (for example <TT>myProject_1_0</TT>).
|
114 |
All project source code must have the same global CVS tag (this is
|
115 |
especially important if you want the bootstrap mechanism to also
|
116 |
download source code).
|
117 |
|
118 |
<P>
|
119 |
Creating the project area is very easy- just type the command
|
120 |
|
121 |
<P>
|
122 |
<TT>scram project file:config/BootStrapFile</TT>
|
123 |
|
124 |
<P>
|
125 |
indicating the location of the bootstrap file after the <TT>file:</TT>
|
126 |
statement, and that's it. <SMALL>SCRAM</SMALL> will set up the tools automatically
|
127 |
using the settings in the default lookup file
|
128 |
(<TT>config/site/tools.conf</TT>) or whichever lookup file is specified.
|
129 |
|
130 |
<P>
|
131 |
Two subdirectories are created in the project area as part of the
|
132 |
initialisation: <TT>config</TT> and <TT>.SCRAM</TT>. All files used
|
133 |
for bootstrapping and the build system are contained in
|
134 |
<TT>config</TT>, downloaded directly from the CVS repository. The
|
135 |
important project information is contained in the <TT>.SCRAM</TT>
|
136 |
subdirectory
|
137 |
<A NAME="sec:dotSCRAMcontents"></A><A NAME="1877"></A> so this must not be renamed or
|
138 |
deleted. A closer look at the contents of <TT>.SCRAM</TT> reveals the
|
139 |
following directories and files:
|
140 |
|
141 |
<P>
|
142 |
<PRE>
|
143 |
ObjectDB/
|
144 |
Environment
|
145 |
cache/
|
146 |
ToolFiles/
|
147 |
Linux__2.2/
|
148 |
</PRE>
|
149 |
<P>
|
150 |
The directories <TT>ObjectDB</TT>, <TT>cache</TT> and
|
151 |
<TT>ToolFiles</TT> store tool description files as they are downloaded
|
152 |
from the CVS repository prior to being parsed by the setup mechanism.
|
153 |
Once each tool has been configured for use in the current environment,
|
154 |
a file is created in a directory for the architecture (in this example,
|
155 |
the architecture is <TT>Linux__2.2</TT>). The file
|
156 |
<TT>Environment</TT> contains information required about the project
|
157 |
by <SMALL>SCRAM</SMALL> . The file content for project <TT>COBRA</TT> version
|
158 |
<TT>COBRA_6_3_0</TT> looks like this:
|
159 |
|
160 |
<P>
|
161 |
<PRE>
|
162 |
SCRAM_PROJECTNAME=COBRA
|
163 |
SCRAM_PROJECTVERSION=COBRA_6_3_0
|
164 |
projconfigdir=config
|
165 |
SCRAM_ProjReqsDoc=config/RequirementsDoc
|
166 |
</PRE>
|
167 |
<P>
|
168 |
If a project area was created (`cloned') from an
|
169 |
existing project release, there will also be an entry like
|
170 |
<A NAME="1880"></A>
|
171 |
<PRE>
|
172 |
RELEASETOP=/afs/cern.ch/cms/Releases/COBRA/COBRA_6_3_0
|
173 |
</PRE>
|
174 |
<P>
|
175 |
informing <SMALL>SCRAM</SMALL> that a central area containing libraries and
|
176 |
header files should be used first, before any of the contents of the
|
177 |
current developer area.
|
178 |
|
179 |
<P>
|
180 |
<HR>
|
181 |
<!--Navigation Panel-->
|
182 |
<A NAME="tex2html982"
|
183 |
HREF="node47.html">
|
184 |
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
185 |
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
186 |
<A NAME="tex2html976"
|
187 |
HREF="node17.html">
|
188 |
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
189 |
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
190 |
<A NAME="tex2html972"
|
191 |
HREF="node45.html">
|
192 |
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
193 |
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
194 |
<A NAME="tex2html978"
|
195 |
HREF="node2.html">
|
196 |
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
197 |
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
198 |
<A NAME="tex2html980"
|
199 |
HREF="node85.html">
|
200 |
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index"
|
201 |
SRC="file:/usr/share/latex2html/icons/index.png"></A>
|
202 |
<BR>
|
203 |
<B> Next:</B> <A NAME="tex2html983"
|
204 |
HREF="node47.html">4. Configuring the CVS</A>
|
205 |
<B> Up:</B> <A NAME="tex2html977"
|
206 |
HREF="node17.html">3. Creating and Maintaining</A>
|
207 |
<B> Previous:</B> <A NAME="tex2html973"
|
208 |
HREF="node45.html">3.7 Advanced Use of</A>
|
209 |
  <B> <A NAME="tex2html979"
|
210 |
HREF="node2.html">Contents</A></B>
|
211 |
  <B> <A NAME="tex2html981"
|
212 |
HREF="node85.html">Index</A></B>
|
213 |
<!--End of Navigation Panel-->
|
214 |
<ADDRESS>
|
215 |
scram-developers@cern.ch
|
216 |
</ADDRESS>
|
217 |
</BODY>
|
218 |
</HTML>
|