source: CMT/v1r18p20050401/doc/ReleaseNotes.html @ 660

Last change on this file since 660 was 32, checked in by arnault, 19 years ago

Finalize the release - CL 263

  • Property svn:eol-style set to native
File size: 19.1 KB
Line 
1<!--
2//-----------------------------------------------------------
3// Copyright Christian Arnault LAL-Orsay CNRS
4// arnault@lal.in2p3.fr
5// See the complete license in cmt_license.txt "http://www.cecill.info".
6//-----------------------------------------------------------
7-->
8
9<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
10<html>
11  <head>
12    <title>Release notes</title>
13
14    <style type='text/css'>
15li.bug
16{
17  color:#FF0000;
18}
19li.new
20{
21  color:#0000FF;
22  font-weight:bold;
23}
24li.int
25{
26  color:#00FF00;
27}
28<!--  font-style:italic; -->
29    </style>
30  </head>
31 
32  <body BGCOLOR="#FFFFFF" link="#550088" alink="#007777" alink="#007777">
33    <h1>Release notes</h1>
34
35    <blockquote>
36      <center><i>Notation</i></center>
37      <ul>
38        <li class="new">New features</li>
39        <li class="bug">Bug fixes</li>
40        <li class="int">Internal management</li>
41      </ul>
42    </blockquote>
43
44
45    <ul>
46
47    <ul>
48
49      <li>
50        <b>v1r18p20050401</b>
51
52        <ul>
53
54          <!--
55          <li class="new"></li>
56          <li class="bug"></li>
57          <li class="int"></li>
58          -->
59
60          <li class="new">Introduce a new bug reporting system: Trac</li>
61
62          <li class="new">Accept HEAD or head as a valid version tag for packages</li>
63
64          <li class="new">The path of CMT is removed from
65          CMTPATH. Packages aside CMT are no longer reachable by
66          default</li>
67
68          <li class="new">Major restructuring of the project
69          management and package localisation. The most important
70          parameter becomes the search path CMTPROJECTPATH for
71          projects. Then CMTPATH is deduced from the effective list of
72          used projects. Project files and the dependency graph
73          described by the project use statement becomes a central
74          mechanism.</li>
75
76          <li class="new">Introduce the management of releases for
77          projects. Release must exactly match</li>
78
79          <li class="new">Install a mechanism to detect unused tags
80          from arguments or CMTSITE. This is performed during the
81          setup generation</li>
82
83          <li class="int">Source code management tansfered to SVN</li>
84
85          <li class="int">Restructure the strategy management to make
86          it fully generic.</li>
87
88          <li class="bug">Fix poor management of unknown commands </li>
89
90          <li class="bug">Suppress the export action for alias in setup.sh</li>
91
92          <li class="bug">Fix a problem in TMPDIR management with
93          multi directory level</li>
94
95          <li class="bug">Fix a problem in cmt show packages</li>
96
97          <li class="bug">Fix bad parsing of various cmt commands</li>
98
99          <li class="bug">Fix an internal bug causing misfunction in
100          the -import parameter of constituents.</li>
101
102          <li class="bug">Fix fragment for action to improve argument transmission</li>
103
104          <li class="bug">Fix pdb files for Visual about debug mode</li>
105
106        </ul>
107
108      </li>
109
110      <li>
111        <b>v1r18p20041201</b>
112
113        <ul>
114
115          <!--
116          <li class="new"></li>
117          <li class="bug"></li>
118          <li class="int"></li>
119          -->
120
121          <li class="int">Suppress the completely unused makefile strategy</li>
122
123          <li class="bug">Really apply the project specific setup
124          strategy to control the generation of ROOT or CONFIG
125          env. variables.</li>
126
127          <li class="new">Change default build strategy to <tt>without_installarea</tt></li>
128
129          <li class="new">${CMTROOT} is no longer an automatic part of
130          the CMTPATH. Nor the current package automatically defines
131          an entry in the CMTPATH search list. However a feature
132          partly compensates this evolution: the current project
133          (i.e. the current package area, where the developer stands)
134          is autmatically detected when its project file exists
135          (i.e. when its cmt/project.cmt file exists). For instance,
136          this suppresses the need to set CMTPATH when working in one
137          single project.</li>
138
139          <li class="new">The general cmt command parsing mechanism
140          has been revisited and now "actions" are considered as
141          extended cmt commands and no longer need the "cmt do
142          &lt;action&gt;" syntax. One can directly use "cmt
143          &lt;action&gt;" when the action does not conflict with
144          internal cmt commands.</li>
145
146          <li class="new">Command line arguments are transmitted to
147          "actions" now through the new standard "cmt_args" macro</li>
148
149          <li class="bug">Really force the settings of all
150          Env. variables before running internal cmmands through
151          broadcast, run or do commands.</li>
152
153          <li class="new">The "cmt run" command transmits all its
154          arguments to the launched action</li>
155
156          <li class="new">Revisit the production of dependency files,
157          to consider the changes made to the configuration in general
158          in addition to the usual source changes. This consists in
159          generating one stamp file per source, touched when its
160          contents change rather than when recomputing the
161          dependencies.</li>
162
163          <li class="bug">Better protections for CMTPATH entries</li>
164
165          <li class="int">Major internal restructuring of the CMT
166          package. Internal sources are now in ../source, ../src only
167          contains publicly exported configuration files, fragments
168          are in ../mgr/fragments. This is for constructing a really
169          autonomous binary kit for CMT (eg for Fink) (without needing
170          to export two kits)</li>
171
172          <li class="bug">Now produce the last revision date of the
173          CMT documentation. Insert the complete version tag rather
174          than just the base version tag.</li>
175
176          <li class="new">Suppress the systematic production of
177          bundles on Darwin machines. This must now be done
178          explicitly.</li>
179
180          <li class="bug">The algorithm for commpressing paths with
181          ../ patterns now takes into account the presence of ${xxx}
182          expressions that cannot be reduced. It also better handle
183          various patterns that used to produce failures.</li>
184
185          <li class="bug">A global checking of the configuration is
186          performed first when running Make</li>
187
188          <li class="new">Incompatible major ids in the version
189          numbers are now managed like the minor id, ie. the decision
190          is taken in a similar way. The usual error message is
191          displayed but this is no longer fatal, and a decision is
192          taken</li>
193
194        </ul>
195
196      </li>
197
198      <li>
199        <b>v1r16p20040901</b>
200
201        <ul>
202
203          <!--
204          <li class="new"></li>
205          <li class="bug"></li>
206          <li class="int"></li>
207          -->
208
209          <li class="new">Introduce the support of SLC3 (Scientific
210          Linux) platforms</li>
211
212          <li class="new">Trigger the reconstruction of the dependency
213          makefile fragment from a change in the
214          &lt;package&gt;_setup.make, ie from any change in tags, uses
215          or CMTPATHs</li>
216
217          <li class="new"><tt>CMTBIN</tt> now follows a new convention
218          on Unix `uname`-`uname -m` to differentiate among Linux
219          platforms.</li>
220
221          <li class="new">Introduce a new -strict option to the cmt
222          expand model to support model files freely formatted. This
223          implied securing the user defined model elements by the
224          <tt>cmts</tt> or <tt>cmtv</tt> name space
225          keywords. <tt>cmts:xxx</tt> indicates a scalar modelling
226          element <tt>xxx</tt> meant to be expanded only
227          once. <tt>cmtv:yyy</tt> indicates a vector modelling element
228          <tt>yyy</tt> meant to be expanded once per item in the
229          vector of values.</li>
230
231          <li class="new">Better management of temporary file
232          generation. Now support the standard TMPDIR environment
233          variable to redirect temporary locations.</li>
234
235          <li class="int">Apply the new GPL-like licence officially
236          provided by CNRS-CEA-INRIA</li>
237
238          <li class="int">Use stderr instead of stdout to display
239          error and warning messages. Mainly to better expose messages in
240          the source setup operations</li>
241
242          <li class="bug">Protect against source files not found (avoid infinite loops in make)</li>
243
244          <li class="bug">Better management of the build strategy on
245          installation area to generate various automatic macros or
246          sets (installarea_linkopts, PATH, LD_LIBRARY_PATH,
247          etc...)</li>
248
249          <li class="bug">Revisit the package scan algorithm to
250          improve the detection of directory structure of packages as
251          well as their version tags.</li>
252
253          <li class="bug">Compress the path definitions (ie compress
254          the ../xxx patterns) and use the compressed paths
255          everywhere</li>
256
257        </ul>
258
259      </li>
260
261      <li>
262        <b>v1r16p20040701</b>
263
264        <ul>
265
266          <!--
267          <li class="new"></li>
268          <li class="bug"></li>
269          <li class="int"></li>
270          -->
271
272          <li class="bug">Better generation of .def files for DATA</li>
273
274          <li class="bug">fix a bug that impacted on the order of
275          compatible use requests with different wilcarded specifications</li>
276
277        </ul>
278
279      </li>
280
281      <li>
282        <b>v1r16p20040527</b>
283
284        <ul>
285
286          <!--
287          <li class="new"></li>
288          <li class="bug"></li>
289          <li class="int"></li>
290          -->
291
292          <li class="new">Generate the <tt>target_${CONSTITUENT}</tt>
293          tag to trigger configuration control per target. This
294          feature is only activated when the new <tt>-target_tag</tt>
295          option is specified to a constituent. Specific tag makefiles
296          are then generated for those targets. This tag is activated
297          either when <tt>make &lt;target&gt;</tt> or <tt>cmt do
298          &lt;action&gt;</tt> is run.</li>
299
300          <li class="new">Add a section on package semantics in the documentation</li>
301
302          <li class="new">The <tt>apply_tag</tt> keyword now accepts macro expansion for its argument.</li>
303
304          <li class="new">Add the support for Enterprise Linux</li>
305
306          <li class="new">Create automatic tags from
307          <tt>cmt_hardware</tt> <tt>cmt_system_version</tt> and
308          <tt>cmt_compiler_version</tt></li>
309
310          <li class="new">Add a filtering script to keep 3 digits instead of 2</li>
311
312          <li class="int">Start the implementation of a centralized log message facility</li>
313
314          <li class="int">Implement a <tt>READONLY</tt> mode to
315          Makefiles to generate all intermediate files in
316          <tt>/tmp/CMT_*</tt> rather than in <tt>../cmt</tt></li>
317
318          <li class="int">Associate a dedicated project with CMTHOME and CMTUSERCONTEXT to manage strategies</li>
319
320          <li class="bug">Set the macro <tt>shlibsuffix</tt> for Win32</li>
321          <li class="bug">Use /bin/pwd instead of the raw pwd in various CMT scripts for Unix</li>
322          <li class="bug">Fix misunderstanding of of version specification of the form v1r2p (ie without a trailing number)</li>
323          <li class="bug">Explicitly close the scope sections at the end of requirements files</li>
324
325        </ul>
326
327      </li>
328
329      <li>
330        <b>v1r16</b>
331
332        <ul>
333
334          <!--
335          <li class="new"></li>
336          <li class="bug"></li>
337          <li class="int"></li>
338          -->
339
340          <li class="new">Offer an [x]emacs mode for editing requirements files</li>
341
342          <li class="new">Permit macro expressions in the <tt>tag</tt> statement</li>
343
344          <li class="new">Possibility to specify additional
345          <tt>mount_filters</tt> in <tt>.cmtrc</tt></li>
346
347          <li class="new">Introduce new regexp-based remove operations
348          for symbols <tt>macro_remove_regexp</tt>,
349          <tt>set_remove_regexp</tt> and
350          <tt>path_remove_regexp</tt></li>
351
352          <li class="new">Add <tt>-n</tt> and <tt>-v</tt> options to
353          <tt>cmt cvs</tt> commands to support simulation and verbose
354          modes</li>
355
356          <li class="new">Ensure that the <tt>constituents</tt> macro is always private</li>
357
358          <li class="new">Introduce support for <i>projects</i>
359          associated with package areas, i.e. one project per item in
360          <tt>CMTPATH</tt>. Possibility to setup strategies per
361          project. Project definitions stored in a new
362          <tt>cmt/project.cmt</tt> top level file. New
363          <tt>&lt;package&gt;_project</tt> standard macro. And
364          associated pattern templates.</li>
365
366          <li class="new">Make <tt>CMTINSTALLAREA</tt> a macro instead of a set</li>
367
368          <li class="new">Suppress dependency computation when the
369          <tt>make QUICK=1</tt> option is used</li>
370
371          <li class="new">New <i>action</i> concept to support
372          simplified shell action definition. Action is an extension
373          of the generic symbol mechanism (like macros), thus defining
374          an action uses the same syntax as macros. Actions are
375          triggered with <tt>make</tt> or <tt>cmt do</tt></li>
376
377          <li class="new"><i>public</i> and <i>private</i> section can be ended by a
378          new keyword <tt>end_public</tt> <tt>end_private</tt>. Ending
379          keywords switch back to the previous scope active before the
380          most recent opening keyword</li>
381
382          <li class="new">Can use a pattern name as a plain CMT
383          keyword. I.e. the <tt>apply_pattern</tt> keyword is optional
384          except to resolve ambiguities</li>
385
386          <li class="int">Generate part of the standard macros before
387          reading the requirements file</li>
388
389          <li class="int">Lots of internal optimisations checked with
390          <tt>valgrind</tt> and <tt>gprof</tt></li>
391
392          <li class="bug">Only set non empty environment variables</li>
393
394          <li class="bug">Fix bad definition of <tt>&lt;PACKAGE&gt;VERSION</tt></li>
395
396          <li class="bug">Add dependency to all stamps file to trigger rebuild of shared libraries</li>
397
398          <li class="bug">Add dependency to all requirements file to trigger rebuild of applications</li>
399
400          <li class="bug">Suppress install area cleanup action from
401          cmt config and cmt setup</li>
402
403          <li class="bug">Improved syntax checking on constituents</li>
404
405          <li class="bug">Fix construction of paths when symlinks
406          exist along pwd</li>
407
408          <li class="bug">Added various protections for bad pattern
409          syntaxes</li>
410
411        </ul>
412
413      </li>
414      <li>
415        <b>v1r14p20031120</b>
416        <ul>
417          <li class="new">Add a new standard macro $(&lt;group&gt;_dependencies)to specify global dependencies for a group</li>
418          <li class="new">Add support for bundles on Darwin platforms</li>
419          <li class="bug">Consider symlinked paths in CMTPATH entries</li>
420          <li class="bug">Always setup cmtpath patterns even if the current installation area is undefined</li>
421
422          <li class="new">Provide a generic pacman manifest file for
423            CMT. All instances of the "&lt;version&gt;" pattern need to be
424            substituted by the effective version of CMT to make it a
425            real pacman file as follows:
426            <pre>sed -e 's#[&lt;]version[&gt;]#'`cmt -quiet version`'#g' $CMTROOT/mgr/CMT.pacman</pre>
427          </li>
428
429        </ul>
430      </li>
431
432      <li>
433        <b>v1r14p20031027</b>
434        <ul>
435          <li class="bug">Fix a bug in the bootstrap mechanism to define CMTINSTALLAREA</li>
436        </ul>
437      </li>
438
439      <li>
440        <b>v1r14p20031022</b>
441        <ul>
442          <li class="new">Add the possibility to specify exclusion files when installing directories in Installation Area (on windows only)</li>
443          <li class="bug">Fix a bug : CMTINSTALLAREA symbol has to be defined before all other symbols in set_standard_macros</li>
444          <li class="bug">Few fixes on nmake flavour of install area mechanisms</li>
445          <li class="new">Generate &lt;package&gt;_cmtpath and &lt;package&gt;_offset also for current package</li>
446          <li class="bug">Fix warning messages that confuse csh when environment variables are not defined</li>
447        </ul>
448      </li>
449
450      <li>
451        <b>v1r14p20031014</b>
452        <ul>
453          <li class="bug">Fix a problem in broadcast operation for handling return status 2 (caused to unexpectedly break the loop in some cases)</li>
454          <li class="bug">Force auto_imports to On when context is unspecified (internal)</li>
455          <li class="bug">Stop trying to make use of PWD</li>
456          <li class="bug">Fix a bug in internal incomplete expansion of macros</li>
457          <li class="bug">Fix a bug in consistency checks of PWD vs CMTINSTALLAREA</li>
458          <li class="new">Convert $(cmtpath) and $(offset) macros to $(package_cmtpath) and $(package_offset)</li>
459          <li class="new">Add dependency list for constituent makefile similar to the constituent target (force the same build order)</li>
460          <li class="bug">Fix a bug in use graph internal management</li>
461          <li class="bug">Fix setup script calling mechanism in no_version style</li>
462          <li class="new">Add a -k=&lt;regexp&gt; argument for selection patterns of constituent sources.</li>
463          <li class="new">Support wildcarded suffixes (*.*) in constituent sources</li>
464          <li class="new">Standardize the output format of show uses (make it reliable for user scripts)</li>
465        </ul>
466      </li>
467
468      <li>
469        <b>v1r14p20030811</b>
470        <ul>
471          <li class="bug">Trailing slashes on offset specification in use statement were causing troubles. Now they are properly handled.</li>
472          <li class="new">The broadcast pattern as well as the standard macro &lt;cmtpath&gt; is now renamed &lt;package_cmtpath&gt; to avoid confusion with the CMTPATH variable on Windows.</li>
473          <li class="int">Make use of ${PWD} when available to acquire the value for "cmt show pwd"</li>
474          <li class="bug">Add or refresh tuning for CYGWIN and for LynxOS</li>
475          <li class="bug">Work around a limitation of some old version of the C++ compiler on LynxOS</li>
476          <li class="new">Improve the display of incompatible use specifications.</li>
477          <li class="int">Dynamically create the CMTDownload.html web page to really reflect what is available when installing the CMT release on the primary CMT web site.</li>
478          <li class="bug">Setup.bat scripts on DOS are now relocatable wrt heterogeneous file systems (AFS, DFS, etc...)</li>
479        </ul>
480      </li>
481
482      <li>
483        <b>v1r14p20030620</b>
484        <ul>
485          <li class="new">introduce a generic "Unix" tag for all Unix platforms. Both Linux, HP-UX, LynxOS, alpha, ... do validate Unix</li>
486          <li class="new">hide the make_fragments declaration in private sections. This was not true previously. A make_fragment declaration installed in a private section will now be hidden to clients.</li>
487          <li class="bug">convert ${} into $() syntax for tag makefiles on Windows. This actually reverts to a feature of an old CMT version which had disappeared. This was causing a problem since the ${} syntax is not understood by nmake</li>
488          <li class="new">add a command "cmt show use_paths &lt;target&gt;" to display all possible paths to the target package. This is useful to understand how a given package is reached, for instance when it is desired to cut the use relationship and make it private somewhere in the graph.</li>
489          <li class="new">add a command "cmt show cycles" to display circular dependencies in the use graph.</li>
490          <li class="new">provide a binary RPM for CMT itself (only for redhat 7.2 distribution). It is downloadable from the usual Download page and provide a complete installation of CMT (including make fragments, binary, etc..). It is a relocatable RPM (install it using the --relocate option). (See the install WEB page for complete notice)</li>
491          <li class="new">Add an extended script to retrieve information about Linux version (cmt_linux_version.sh). It supports Redhat, Debian, Suse. It is used to compute the cmt_system_version macro (contributions from Clark McGrew and Wim Lavrijsen)</li>
492          <li class="bug">The setup scripts for Windows now use %TEMP% instead of %HOMEDRIVE%%HOMEPATH% to store temporary files (contributions from Pere Mato and Florence Ranjard)</li>
493          <li class="new">Add the --public and --private global options for cmt commands, to control whether the use graph traverses or not the private sections:
494<pre>
495&gt; cmt --public ...
496</pre>
497       only sees public uses (default behavior for most commands but not for cmt broadcast and cmt show uses which traverse the private sub graphs)
498<pre>
499&gt; cmt --private ...
500</pre>   
501       forces the traversal of private subgraphs. This is already the default behavior for cmt show uses and for cmt broadcast, but can now be applied to any CMT command.</li>
502          <li class="bug">A global pattern specifying private sections did not really generate private definitions</li>
503        </ul>
504      </li>
505
506<!--
507      <li>
508        <b></b>
509        <ul>
510          <li class=""></li>
511        </ul>
512      </li>
513-->
514
515    </ul>
516
517
518    <hr>
519    <address><a href="mailto:arnault@lal.in2p3.fr">Christian Arnault</a></address>
520  </body>
521</html>
Note: See TracBrowser for help on using the repository browser.