source: LMDZ6/branches/Amaury_dev/tools/fcm/doc/release_notes/2-1.html @ 5325

Last change on this file since 5325 was 5129, checked in by abarral, 4 months ago

Re-add removed by mistake fcm

File size: 16.2 KB
Line 
1<!DOCTYPE html>
2<html>
3<head>
4  <title>FCM 2-1 Release Notes</title>
5  <meta name="author" content="FCM team" />
6  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7  <link rel="icon" href="../etc/fcm-icon.png" type="image/png" />
8  <link rel="shortcut icon" href="../etc/fcm-icon.png" type="image/png" />
9  <link href="../etc/bootstrap/css/bootstrap.min.css" rel="stylesheet" media="screen" />
10  <link href="../etc/fcm.css" rel="stylesheet" media="screen" />
11</head>
12<body>
13  <div class="navbar navbar-inverse">
14    <div class="container-fluid">
15      <div class="navbar-header">
16        <a class="navbar-brand" href=".."><span class="fcm-version">FCM</span></a>
17      </div>
18      <div class="collapse navbar-collapse">
19        <ul class="nav navbar-nav">
20          <li><a href="../installation/">Installation</a></li>
21
22          <li><a href="../user_guide/">User Guide</a></li>
23        </ul>
24      </div>
25    </div>
26  </div>
27
28  <div class="page-header">
29    <div class="fcm-page-content pull-right well well-sm"></div>
30    <h1>FCM 2-1 Release Notes <small>22 July 2011</small></h1>
31  </div>
32
33  <div class="container">
34  <div class="row">
35  <div class="col-md-12">
36
37  <p>These are the release notes for FCM 2-1. You can use this release of FCM
38  freely under the terms of the FCM LICENSE, which you should receive with the
39  distribution of this release.</p>
40
41  <p>FCM is maintained by the FCM team at the Met Office. Please feedback any
42  bug reports or feature requests to us by <a href=
43  "mailto:fcm-team@metoffice.gov.uk">e-mail</a>.</p>
44
45  <h2 id="new">What's New?</h2>
46
47  <p>No major new features in this release.</p>
48
49  <h2 id="fix">Minor Changes and Bug Fixes</h2>
50
51  <dl>
52    <dt><code>fcm branch-create</code></dt>
53
54    <dd>
55      <p>if the <code>--ticket=N</code> option is not specified and
56      <var>NAME</var> contains only a list of positive integers separated by
57      <code>[_-]</code> (an underscore or a hyphen), the command will now assume
58      that <var>NAME</var> also specifies the related ticket numbers.</p>
59
60      <p>ticket numbers will now prefix the 1st line of the automatic commit log
61      message.</p>
62    </dd>
63
64    <dt><code>fcm cmp-ext-cfg</code></dt>
65
66    <dd>
67      <p>fixed <code>--wiki-format=TARGET</code> option, broken at <a href=
68      "2-0.html">2-0</a>.</p>
69    </dd>
70
71    <dt><code>fcm export-items</code></dt>
72
73    <dd>
74      <p>fixed <code>--new</code> option, broken at <a href=
75      "2-0.html">2-0</a>.</p>
76
77      <p>now generate real <samp>v*</samp> directories and revision directories
78      as symbolic links.</p>
79
80      <p><code>fcm_update_version_dir.pl</code> removed.</p>
81    </dd>
82
83    <dt><code>fcm make</code></dt>
84
85    <dd>
86      <p>build: allow space between <code>#</code> and <code>include</code> for
87      <code>#include</code> syntax in C or Fortran source files requiring
88      pre-processing.</p>
89
90      <p>build: will now fail when an invalid target key is specified.</p>
91
92      <p>build: correctly support compilers and linkers that require a space
93      between an option flag and its argument.</p>
94
95      <p>build: will no longer call <code>ar</code> for single file link.</p>
96
97      <p>build: improve error message if a target does not exist in the expected
98      location following an update.</p>
99
100      <p>build: <code>target-rename</code> declarations are now non-cumulative,
101      as documented.</p>
102
103      <p>build: <code>build.prop{file-name-option.f90-mod} = case=upper</code>
104      can now be specified for compilers that generate <samp>MODULE.mod</samp>
105      files for Fortran modules (as opposed to the more common
106      <samp>module.mod</samp> convention).</p>
107
108      <p>extract: <code>path-incl</code>, <code>path-excl</code>,
109      <code>path-root</code> declarations no longer require a name-space.</p>
110
111      <p>extract: fixed error handling when multiple processing.</p>
112    </dd>
113
114    <dt><code>fcm mkpatch</code></dt>
115
116    <dd>
117      <p>fixed CLI prompt to confirm removal of old output directory.</p>
118
119      <p>ensure initial branch creation is ignored.</p>
120    </dd>
121
122    <dt>commit message text editor</dt>
123
124    <dd>
125      <p><code>fcm branch-create</code>, <code>fcm
126      branch-delete</code> and <code>fcm commit</code> now support the
127      <var>[helpers] editor-cmd</var> option defined in
128      <samp>$HOME/.subversion/config</samp>.</p>
129
130      <p><code>nedit</code> is no longer the default external text editor.
131      <code>vi</code> is the default external text editor for the command line
132      interface. <code>gedit</code> is the default external text editor for
133      <code>fcm gui</code>.</p>
134    </dd>
135
136    <dt>configuration file syntax</dt>
137
138    <dd>
139      <p>the <code>inc=LOCATION</code> is no longer supported for configuration
140      files in the new part of the system.</p>
141
142      <p>incorrect variable assignment syntax will now trigger an exception.</p>
143
144      <p>leading and trailing spaces in modifiers and name-space are now
145      ignored without triggering Perl warnings.</p>
146    </dd>
147
148    <dt>installation dependency</dt>
149
150    <dd>
151      <p><code>fcm</code> no longer requires the <code>XML::DOM</code> Perl
152      module. It now uses <code>XML::Parser</code> instead. The latter is
153      normally installed by default on most Unix/Linux platforms.</p>
154    </dd>
155  </dl>
156
157  <h2 id="issues">Known Issues</h2>
158
159  <dl>
160    <dt>Build inheritance limitation: handling of include files</dt>
161
162    <dd>See the <a href="../user_guide/make.html#build.inherit">User Guide &gt;
163    FCM Make &gt; Build &gt; Build Inheritance</a> for detail.</dd>
164  </dl>
165
166  <h2 id="req">System Requirements</h2>
167
168  <h3 id="req.perl">Perl</h3>
169
170  <p>The core part of FCM is a set of Perl scripts and modules. At the Met
171  Office, FCM runs on:</p>
172
173  <dl>
174    <dt>Perl 5.8.2 on AIX 5.3</dt>
175
176    <dd>
177      <p><code>Text::ParseWords</code> (core Perl module) is upgraded to
178      version 3.22.</p>
179
180      <p>Met Office users do not use the code management commands and the
181      extract system on this platform.</p>
182    </dd>
183
184    <dt>Perl 5.8.5 on RHEL 4</dt>
185
186    <dd>
187      <p><a href=
188      "http://search.cpan.org/~gaas/libwww-perl/lib/HTTP/Date.pm">HTTP::Date</a>
189      in <a href="http://search.cpan.org/~gaas/libwww-perl/">libwww-perl</a> is
190      required by <code>fcm extract</code> and the extract system in <code>fcm
191      make</code>. (libwww-perl 5.79 installed.)</p>
192
193      <p><a href="http://search.cpan.org/dist/XML-Parser/">XML::Parser</a> is
194      required by the code management commands. (2.34 installed.)</p>
195
196      <p><a href="http://search.cpan.org/~srezic/Tk/">Tk</a> is required by the
197      <code>fcm gui</code> command. (Tk 804.027 installed.)</p>
198    </dd>
199  </dl>
200
201  <h3 id="req.svn">Subversion</h3>
202
203  <p>To use the code management commands (and relevant parts of the extract
204  system) you need to have <a href=
205  "http://subversion.tigris.org/">Subversion</a> installed.</p>
206
207  <p>FCM requires Subversion 1.4.x or above. At the Met Office we are currently
208  using Subversion 1.4.3.</p>
209
210  <p>Note: you can use the extract system to mirror code to a remote platform
211  for building. Therefore it is only necessary to have Subversion installed on
212  the platform where you do your code development. If you use other platforms
213  purely for building and running then you do not need to have Subversion
214  installed on these platforms.</p>
215
216  <h3 id="req.trac">Trac</h3>
217
218  <p>The use of <a href="http://trac.edgewall.org/">Trac</a> is entirely
219  optional (although highly recommended if you are using Subversion).</p>
220
221  <p>At the Met Office we are currently using Trac 0.11.7. Note:</p>
222
223  <ul>
224    <li>The <code>--trac</code> and <code>--wiki</code> options to the
225    <code>fcm diff --branch</code> command allow you to view branch differences
226    using Trac. This requires Trac 0.10 or above.</li>
227
228    <li>Some of the example scripts in the <samp>examples/</samp> directory
229    require Trac 0.11.</li>
230  </ul>
231
232  <h3 id="req.other">Other Requirements</h3>
233
234  <p>The <code>fcm conflicts</code> command requires <a href=
235  "http://furius.ca/xxdiff/">xxdiff</a>. At the Met Office we are currently
236  using version 3.1. The <code>fcm diff --graphical</code> command also uses
237  xxdiff by default although other graphical diff tools can also be used.</p>
238
239  <p>The <code>fcm make</code> command uses <code>gzip</code>. At the Met
240  Office we are currently using gzip 1.2.4 on AIX 5.3 and gzip 1.3.3 on RHEL
241  4.</p>
242
243  <p>The extract system uses <code>diff3</code>, (which is part of <a href=
244  "http://www.gnu.org/software/diffutils/">GNU diffutils</a>), to merge
245  together changes where the same file is modified by two different branches
246  (compared with the base branch). At the Met Office we are currently using
247  version 2.8.1.</p>
248
249  <p>The mirror system uses <a href="http://rsync.samba.org/">rsync</a> to
250  mirror source file to another machine. At the Met Office we are currently
251  using version 2.6.3</p>
252
253  <p>The deprecated <code>fcm build</code> requires <a href=
254  "http://www.gnu.org/software/make/make.html">GNU make</a>. At the Met Office
255  we are currently using version 3.80.</p>
256
257  <p>FCM is intended to run on a Unix/Linux system. It is currently used at the
258  Met Office on Linux (RHEL 4.8) and AIX 5.3.</p>
259
260  <h2 id="ins">Installation</h2>
261
262  <p>FCM is distributed in the form of a compressed tar file. Un-pack the tar
263  file into an appropriate location on your system. Add the <samp>bin/</samp>
264  directory into your <var>PATH</var> environment variable. Once you have done
265  this you should now have full access to the FCM system, assuming that you
266  have met the requirements described in the previous section.</p>
267
268  <p>You should find the following contents in the distribution:</p>
269
270  <dl>
271    <dt>README</dt>
272
273    <dd>The README file contains the internal revision number of the
274    release.</dd>
275
276    <dt>COPYRIGHT.txt<br />
277    LICENSE.html</dt>
278
279    <dd>The FCM license and other copyright information.</dd>
280
281    <dt>bin/</dt>
282
283    <dd>Contains the <code>fcm</code> command and other utilities.</dd>
284
285    <dt>doc/</dt>
286
287    <dd>System documentation.</dd>
288
289    <dt>doc/release_notes/</dt>
290
291    <dd>Contains these release notes. It also contains the release notes for
292    all previous versions which may be useful if you have skipped any
293    versions.</dd>
294
295    <dt>doc/user_guide/</dt>
296
297    <dd>Contains the <a href="../user_guide/">FCM User Guide</a>.</dd>
298
299    <dt>doc/standards/</dt>
300
301    <dd>Contains the FCM <a href="../standards/perl_standard.html">Perl</a> and
302    <a href="../standards/fortran_standard.html">Fortran</a> coding standards.
303    The Perl standard describes the standards followed by the FCM code. The
304    Fortran standard contains some <a href=
305    "../standards/fortran_standard.html#fcm">specific advice</a> on the best
306    way of writing Fortran code for use with FCM as well as more general advice
307    on good practice.</dd>
308
309    <dt>doc/collaboration/</dt>
310
311    <dd>Contains the <a href="../collaboration/index.html">External
312    Distribution &amp; Collaboration for FCM Projects</a> document which
313    discusses how projects configured under FCM can be distributed
314    externally.</dd>
315
316    <dt>etc/</dt>
317
318    <dd>Miscellaneous items, including the <samp>fcm/keyword.cfg.eg</samp> file.
319    If you wish to define keywords for your site you will need to create the
320    <samp>etc/fcm/keyword.cfg</samp> file. An example file,
321    <samp>fcm/keyword.cfg.eg</samp>, is provided which is a copy of the file
322    currently used at the Met Office. For further details please refer to the
323    section <a href="../user_guide/system_admin.html#fcm-keywords">FCM
324    keywords</a> in the System Admin chapter of the User Guide.</dd>
325
326    <dt>examples/</dt>
327
328    <dd>Contains various example scripts which you may find useful. Note that
329    these scripts are all specific to the Met Office and may contain hard coded
330    paths and email addresses. They are provided in the hope that you may find
331    them useful as examples for setting up similar scripts of your own.
332    However, they should only be used after careful review to adapt them to
333    your environment.</dd>
334
335    <dt>examples/etc/regular-update.eg</dt>
336
337    <dd>An example of how you might set up a cron job to make use of the
338    <samp>&lt;repos&gt;.latest</samp> file (see
339    <code>examples/svn-hooks/post-commit-background</code>).</dd>
340
341    <dt>examples/lib/</dt>
342
343    <dd>Contains the <code>FCM::Admin::*</code> Perl library, which implements
344    the functionalities of the FCM admin utility commands.</dd>
345
346    <dt>examples/sbin/</dt>
347
348    <dd>Contains a selection of useful admin utility commands.</dd>
349
350    <dt>examples/svn-hooks/pre-commit</dt>
351
352    <dd>
353      This script restricts write-access to the repository by checking the
354      following:
355
356      <ul>
357        <li>It executes the Subversion utility <code>svnperms.py</code> if it,
358        and the associated <samp>svnperms.conf</samp> file, exist. This utility
359        checks whether the author of the current transaction has enough
360        permission to write to particular paths in the repository.</li>
361
362        <li>It checks the disk space required by the current transaction. It
363        fails the commit if it requires more than 5Mb of disk space.</li>
364      </ul>
365    </dd>
366
367    <dt>examples/svn-hooks/post-commit</dt>
368
369    <dd>A simple post-commit hook script which runs the script
370    <code>post-commit-background</code> in the background.</dd>
371
372    <dt>examples/svn-hooks/post-commit-background</dt>
373
374    <dd>
375      This script runs in the background after each commit.
376
377      <ul>
378        <li>It updates a <samp>&lt;repos&gt;.latest</samp> file with the latest
379        revision number.</li>
380
381        <li>It creates a dump of the new revision.</li>
382
383        <li>It calls <code>post-commit-background-custom</code> if it
384        exists.</li>
385      </ul>
386    </dd>
387
388    <dt>examples/svn-hooks/pre-revprop-change</dt>
389
390    <dd>A simple pre-revprop-change hook script which runs the script
391    <code>pre-revprop-change.pl</code>.</dd>
392
393    <dt>examples/svn-hooks/pre-revprop-change.pl</dt>
394
395    <dd>If a user attempts to modify the log message of a changeset and he/she
396    is not the original author of the changeset, this script will e-mail the
397    original author. You can also set up a watch facility to monitor changes of
398    log messages that affect particular paths in the repository. For further
399    details please refer to the section <a href=
400    "../user_guide/system_admin.html#svn_watch">Watching changes in log
401    messages</a> in the System Admin chapter of the User Guide.</dd>
402
403    <dt>examples/svn-hooks/post-revprop-change</dt>
404
405    <dd>A simple post-revprop-change hook script which invokes the
406    <code>trac-admin</code> command to <code>resync</code> the revision
407    property cache stored in the corresponding Trac environment.</dd>
408
409    <dt>lib/</dt>
410
411    <dd>Contains the Perl library of FCM.</dd>
412
413    <dt>man/</dt>
414
415    <dd>Contains a basic manual page for <code>fcm</code>.</dd>
416
417    <dt>t/</dt>
418
419    <dd>Contains unit test for FCM.</dd>
420
421    <dt>test/</dt>
422
423    <dd>Contains regression tests for FCM.</dd>
424
425    <dt>test/test_include/</dt>
426
427    <dd>Contains simple test code to check how your chosen compilers handle
428    include files (see <a href="#issues">Known Issues</a>).</dd>
429
430    <dt>tutorial/</dt>
431
432    <dd>Contains the files necessary to set up a Subversion repository for the
433    FCM tutorial. This will allow you to follow the <a href=
434    "../user_guide/getting_started.html#tutorial">tutorial section</a> in the
435    User Guide. See <samp>tutorial/README</samp> on how to set it up.</dd>
436  </dl>
437
438  </div>
439  </div>
440  </div>
441
442  <hr/>
443  <div class="container-fluid text-center">
444    <div class="row"><div class="col-md-12">
445    <address><small>
446      Copyright &copy; 2006-2021 British Crown (Met Office) &amp; Contributors.
447      <a href="http://www.metoffice.gov.uk">Met Office</a>.
448      See <a href="../etc/fcm-terms-of-use.html">Terms of Use</a>.<br />
449      This document is released under the British <a href=
450      "http://www.nationalarchives.gov.uk/doc/open-government-licence/" rel=
451      "license">Open Government Licence</a>.<br />
452    </small></address>
453    </div></div>
454  </div>
455
456  <script type="text/javascript" src="../etc/jquery.min.js"></script>
457  <script type="text/javascript" src="../etc/bootstrap/js/bootstrap.min.js"></script>
458  <script type="text/javascript" src="../etc/fcm.js"></script>
459  <script type="text/javascript" src="../etc/fcm-version.js"></script>
460</body>
461</html>
Note: See TracBrowser for help on using the repository browser.