ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/doc/tex/manual/QuickHelpGuide.tex
Revision: 1.1
Committed: Wed Nov 2 16:24:18 2005 UTC (19 years, 6 months ago) by sashby
Content type: application/x-tex
Branch: MAIN
CVS Tags: V1_0_2_p1
Log Message:
Commit first version of updated manual.

File Contents

# User Rev Content
1 sashby 1.1 %%____________________________________________________________________
2     %% File: QuickHelpGuide.tex
3     %%____________________________________________________________________
4     %%
5     %% Author: Shaun ASHBY <Shaun.Ashby@cern.ch>
6     %% Update: 2005-11-02 17:10:20+0100
7     %% Revision: $Id$
8     %%
9     %% Copyright: 2005 (C) Shaun ASHBY
10     %%
11     %%--------------------------------------------------------------------
12     \newcommand{\cmdintro}{Command overview}
13     %% Avoid the indentation after a list item:
14     \setlength{\labelsep}{1.6em}
15     %%
16     \chapter{Quick Help Guide for Developers}
17     \label{ch:quickhelpguide}\index{help pages for developers}\index{\texttt{scram}}
18     This chapter is intended to be a quick help guide for developers
19     already familiar with working in a \scram\ project environment. Each
20     of the recognised \scram\ commands is described here.
21     All commands provide online help too which is accessed using
22    
23     \hspace{5mm}\scram~\inbrackets{command}~\texttt{--help}
24    
25     or
26    
27     \hspace{5mm}\scram~\inbrackets{command}~\texttt{-h}
28    
29     \ni For administrators setting up a project area for the first time,
30     refer to Chapter~\ref{ch:creatingprojects}.
31    
32     \section{\scram\ version}
33     \index{\texttt{scram}!\texttt{version}}
34    
35     \cmdintro:
36    
37     \hspace{5mm}\scram~\texttt{version}~[\texttt{-c}]~[\texttt{-i}]~[\textit{version}]
38    
39     \ni With no \textit{version} argument given, this command will simply show
40     the current \scram\ version number. If a version argument is supplied,
41     that version will be downloaded and installed, if not already locally available.
42    
43     \begin{description}
44     \item[\textbf{-i}]
45     Show \scram\ CVS commit info (the value of the CVS \texttt{Id} variable)
46     \item[\textbf{-c}]
47     Print site CVS parameters to \texttt{stdout}. These parameters are used
48     when downloading and installing new \scram\ versions at a site.
49     \end{description}
50    
51    
52     \section{\scram\ arch}
53     \index{\texttt{scram}!\texttt{arch}}
54    
55     \cmdintro:
56    
57     \hspace{5mm}\scram~\texttt{arch}
58    
59     \hspace{5mm}\scram~\texttt{-arch}~\inbrackets{architecture}
60    
61     \ni Print out the architecture flag for the current machine or
62     set the architecture to that specified.
63    
64     \section{\scram\ runtime}
65     \index{\texttt{scram}!\texttt{runtime}}
66    
67     \cmdintro:
68    
69     \hspace{5mm}\scram~\texttt{runtime} [-csh,-sh \textit{or} -win]
70    
71     \hspace{5mm}\scram~\texttt{runtime} [-csh,-sh \textit{or} -win]~\texttt{-file}~\textit{filename}
72    
73     \hspace{5mm}\scram~\texttt{runtime} [-csh,-sh \textit{or} -win]~\texttt{-file}~\textit{filename}~\texttt{-info}~\inbrackets{variable}
74    
75     \hspace{5mm}\scram~\texttt{runtime} [-csh,-sh \textit{or} -win]~\texttt{-dump}~\textit{filename}
76    
77     \ni Print the runtime environment for the current development area
78     in \texttt{csh}, \texttt{sh} or Windows flavours.
79    
80     \example{Examples}\mbox{}
81    
82     \ni Set up to include the project runtime settings
83     in the current \texttt{tcsh} shell environment:
84    
85     \hspace{5mm}\texttt{eval}~`\scram~\texttt{runtime}~\texttt{-csh}`
86    
87     \ni Set up to include the project runtime settings
88     in a \texttt{bash} or Bourne shell environment:
89    
90     \hspace{5mm}\texttt{eval}~`\scram~\texttt{runtime}~\texttt{-csh}`
91    
92     \ni To dump this environment to a file which can be sourced later, use
93    
94     \hspace{5mm}\scram~\texttt{runtime}~\texttt{-sh}~\texttt{-dump}~\textit{env.sh}
95    
96     \ni Note that from \scram\ \thisrelease\ it is no longer necessary to
97     set the runtime environment before using the \scram~\texttt{build}
98     command as this is now handled automatically. Of course, it is still
99     required before running any executable in a developer area.
100    
101     \section{\scram\ config}
102    
103     \cmdintro:
104    
105     \hspace{5mm}\scram~\texttt{config}~[\texttt{-t}]~[\texttt{-f}]
106    
107     \ni Dump configuration information for the current project area.
108    
109     \begin{description}
110     \item[\textbf{-t}]
111     Dump a list of configured tools, rather like "\texttt{scram tool info}", but
112     in a format parseable by external scripts. This could be used to
113     create RPMs or \texttt{tar} files of external products required by a project.
114    
115     \ni The format of each line of output is:
116    
117     \hspace{5mm} \textsf{name} : \textsf{version} : \textsf{project} : $<$\textsf{base\_path}$>$ : \textit{dependencies}
118    
119     \ni where the \textsf{project} entry is 0 or 1 depending on whether the
120     tool refers to a \scram\ project, $<$\textsf{base\_path}$>$ is the top
121     directory where the tool is installed (it can have the value
122     \texttt{SYSTEM} if located in system directories, \eg /lib) and
123     \textit{dependencies} lists the dependencies that the tool has on
124     other external tools. This will be set to \texttt{NONE} if there are
125     no external dependencies.\\
126    
127     \item[\textbf{-f}]
128     List the tool info and project information.
129     \end{description}
130    
131     \section{\scram\ list}
132     \index{\texttt{scram}!\texttt{list}}
133    
134     \cmdintro:
135    
136     \hspace{5mm}\scram~\texttt{list}~[\texttt{-c}]~[\texttt{-o}]~\inbrackets{projectname}
137    
138     \ni List the available projects and versions installed in the
139     local \scram\ database (see the help for the \texttt{scram install} command).
140    
141     \begin{description}
142     \item[\textbf{-c}]
143     List the available projects and versions installed in the local
144     \scram\ database without fancy formatting or header strings. The
145     project name, version and installation directory are printed on \texttt{stdout}, separated
146     by spaces for use in scripts.
147     \item[\textbf{-o}]
148     Show all projects from all versions (\ie pre-\scramvx)
149     of \scram\ (by default, only projects built and installed with
150     \scramvx\ will be listed). This emulates the old style of output.
151     \end{description}
152    
153     \section{\scram\ db}
154    
155     \cmdintro:
156    
157     \hspace{5mm}\scram~\texttt{db}~\inbrackets{subcommand}
158    
159     \ni The \scram\ database administration command. Supported subcommands are:
160    
161     \begin{description}
162     \item[-link]\mbox{}\\
163     Make available an additional database for project and
164     list operations, \eg
165    
166     \hspace{15mm}\scram~\texttt{db}~\texttt{-link}~\texttt{/some/path/project.lookup}
167    
168     \item[-unlink]\mbox{}\\
169     Remove a database from the link list. Note this does
170     not remove the database, just the link.
171    
172     \hspace{15mm}\scram~\texttt{db}~\texttt{-unlink}~\texttt{/some/path/project.lookup}
173    
174     \item[-show]\mbox{}\\
175     List the databases that are linked in.
176     \end{description}
177    
178    
179    
180     \section{\scram\ urlget}
181    
182     \cmdintro:
183    
184     \hspace{5mm}\scram~\texttt{urlget}~\inbrackets{url}
185    
186     \ni Retrieve document \texttt{URL} information. For example, show location in the cache
187     of a local copy of a tool description document or a requirements file
188     which has already been downloaded.
189    
190     \section{\scram\ project}
191    
192     \cmdintro:
193    
194     \hspace{5mm}\scram~\texttt{project} [-t] [-d area ] [-n dir ] [-f tools.conf] projecturl [projectversion]
195    
196     \hspace{5mm}\scram~\texttt{project}~\texttt{-update}~\texttt{projectversion}
197    
198     \ni Set up a new project development area or update an existing one. A new area will appear in the
199     current working directory by default.
200    
201     \ni Supported options are
202     \begin{description}
203     \item[\inbrackets{projecturl}]\mbox{}\\
204     The URL of a \scram\ boot file.
205     \item[\inbrackets{projectversion}]\mbox{}\\
206     Only for use with a database label.
207     \item[\textbf{-d}~\inbrackets{area}]\mbox{}\\
208     Indicate a project installation area into which the new
209     project area should appear. Default is the current working
210     directory.
211     \item[\textbf{-n}~\inbrackets{dir}]\mbox{}\\
212     Specify the name of the \scram\ development area you wish to
213     create.
214     \end{description}
215    
216     \ni Currently supported \texttt{URL} types are:
217     \begin{description}
218     \item[\textbf{database label}]\mbox{}\\
219     Labels can be assigned to installed releases of projects for easy
220     access (See "scram install" command). If you specify a label you must also specify
221     a project version. This command is normally used to create cloned developer areas.
222     \item[\textbf{-b}~\inbrackets{file}]\mbox{}\\
223     A boot file on an accessible file system. This command would
224     be used to create a project area from scratch on a laptop.
225     \end{description}
226    
227     \example{Examples}\mbox{}
228    
229     \hspace{5mm}\scram~\texttt{project}~\texttt{XX}~\texttt{XX\_8\_0}
230    
231     \hspace{5mm}\scram~\texttt{project}~\texttt{-b}~\texttt{~/myprojects/projecta/config/boot}
232    
233     \ni Use the \textbf{-f} flag followed by a valid filename (which \textit{must} end in ".conf") to
234     allow auto setup to proceed without reading files from a repository (standalone mode).
235    
236     \ni Some project template files can be obtained using the command:
237    
238     \hspace{5mm}\scram~\texttt{project}~\texttt{-template}
239    
240     \ni The templates will be copied to a directory called \texttt{config} in the current directory.
241    
242     \ni An existing developer area for a project can be updated to a more recent version of
243     the \textit{same} project by running
244    
245     \hspace{5mm}\scram~\texttt{project}~\texttt{-update}~\inbrackets{VERSION}
246    
247     \ni in the developer area. If no \texttt{VERSION} is given, the command is
248     considered as a query and will return a list of project versions which
249     are compatible with the configuration of the current area.
250     A subsequent invocation of the command with a valid \texttt{VERSION} will then update the area
251     to that version.
252    
253     \section{\scram\ setup}
254    
255     \hspace{5mm}\scram~\texttt{setup}~[-i]~[-f \textit{tools.conf}]~[\texttt{toolname}]~\{[\texttt{version}]~[\texttt{url}]\}
256    
257     \ni Allows installation/re-installation of a new tool/external package into an
258     already existing development area. If no toolname is specified,
259     the complete installation process is initiated.
260    
261     \begin{description}
262     \item[\inbrackets{projecturl}]\mbox{}\\
263     The URL of a \scram\ bootstrap file.
264     \item[\texttt{toolname}]\mbox{}\\
265     The name of the tool to be set up.
266     \item[\texttt{version}]\mbox{}\\
267     The version of the tool to set up.
268     \item[\texttt{url}]\mbox{}\\
269     URL of the tool document describing the tool being set up. Supported
270     URLs are \texttt{file:} and \texttt{http:}.\\
271     \item[\textbf{-i}]
272     Turn off the automatic search mechanism allowing for more
273     user interaction during setup.
274     \item[\textbf{-f}]
275     Allow the user to specify a tools file (the
276     filename \textit{must} end in ".conf"). This file contains values
277     to be used for settings of the tool.
278     \end{description}
279    
280    
281     \section{\scram\ tool}
282    
283     \cmdintro:
284    
285     \hspace{5mm}\scram~\texttt{tool}~\inbrackets{subcommand}
286    
287     \ni Manage the tools in the current \scram\ project area.
288     Valid tool subcommands and arguments are:
289    
290     \begin{description}
291     \item[\texttt{list}]\mbox{}\\
292     List of configured tools available in the current \scram\ area.
293     \item[\texttt{info}~\inbrackets{tool\_name}]\mbox{}\\
294     Print out information on the specified tool in the current area.
295     \item[\texttt{tag}~\inbrackets{tool\_name}~\inbrackets{tag\_name}]\mbox{}\\
296     Print out the value of a variable (tag) for the specified tool in the
297     current area configuration. If no tag name is given, then all known tag
298     names are printed to \texttt{stdout}.
299     \item[\texttt{remove}~\inbrackets{tool\_name}]\mbox{}\\
300     Remove the specified tool from the current project area.
301     \item[\texttt{template}~\inbrackets{TYPE}]\mbox{}\\
302     Create a template tool description file of type \inbrackets{TYPE},
303     where \inbrackets{TYPE} can be either "compiler" or "basic" depending on whether the
304     template is for a compiler or for a basic tool. The template will be
305     created in the current directory.
306     \end{description}
307    
308     %\section{\scram\ gui}
309     %
310     % scram gui -edit [class]
311     % scram gui -show [meta type]
312     %
313     %Allow user interaction with the build Metadata.
314    
315     \section{\scram\ xmlmigrate}
316    
317     \cmdintro:
318    
319     \hspace{5mm}\scram~ \texttt{xmlmigrate}
320    
321     \ni Allow a user to migrate all BuildFiles in the current area
322     to XML syntax. This command will convert every BuildFile to
323     XML, storing it in a file called "BuildFile.xml" in the same
324     location. The normal BuildFile will \textit{not} be removed.
325    
326     \ni See the help for the "\texttt{scram build}" command for how
327     to build using XML BuildFiles.
328    
329     \section{\scram\ install}
330     \index{\texttt{scram}!\texttt{install}}
331    
332     \cmdintro:
333    
334     \hspace{5mm}\scram~\texttt{install}~[-f]~[\inbrackets{project\_tag}~[\inbrackets{version\_tag}]]
335    
336     \ni Associates a label with the a project release listed in the \scram\ database.
337     This allows other users to refer to a centrally installed project by
338     this label rather than a remote URL reference.
339    
340     \begin{description}
341     \item[\textbf{-f}]
342     Force an installation of a project, overwriting any entries
343     with the same project name and version (useful in batch processing).
344     \item[\inbrackets{project\_tag}]\mbox{}\\
345     Override default label (the project
346     name of the current release)
347     \item[\inbrackets{version\_tag}]\mbox{}\\
348     Version tag of the current release. If version is not specified the base release version will be taken by default.
349     \end{description}
350    
351     \section{\scram\ remove}
352     \index{\texttt{scram}!\texttt{remove}}
353    
354     \cmdintro:
355    
356     \hspace{5mm}\texttt{scram}~\texttt{remove}~[\texttt{-f}]~[\inbrackets{projectname}] [\inbrackets{projectversion}]
357    
358     \ni Remove a project entry from the \scram\ project database file ("project.lookup").
359     \begin{description}
360     \item[\textbf{-f}]
361     Force removal of a project, not prompting the user for confirmation (useful in batch processing).
362     \end{description}
363    
364    
365     %%% Local Variables:
366     %%% mode: latex
367     %%% TeX-master: "SCRAM-man"
368     %%% End:
369    
370     %%____________________________________________________________________
371     %% End of QuickHelpGuide.tex
372     %%____________________________________________________________________
373     %%