ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/doc/html/node46.html
Revision: 1.2
Committed: Fri Dec 10 13:52:37 2004 UTC (20 years, 5 months ago) by sashby
Content type: text/html
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +0 -0 lines
State: FILE REMOVED
Error occurred while calculating annotation data.
Log Message:
*** empty log message ***

File Contents

# Content
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 &nbsp <B> <A NAME="tex2html979"
59 HREF="node2.html">Contents</A></B>
60 &nbsp <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>&nbsp;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>&nbsp;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&nbsp;<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>&nbsp;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>&nbsp;. 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>&nbsp;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 &nbsp <B> <A NAME="tex2html979"
210 HREF="node2.html">Contents</A></B>
211 &nbsp <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>