source: CMT/v1r18p20041201/doc/ReleaseNotes.html @ 1

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

Import all tags

File size: 17.8 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>v1r18p20041101</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="int">Suppress the completely unused makefile strategy</li>
61
62          <li class="bug">Really apply the project specific setup
63          strategy to control the generation of ROOT or CONFIG
64          env. variables.</li>
65
66          <li class="new">Change default build strategy to <tt>without_installarea</tt></li>
67
68          <li class="new">${CMTROOT} is no longer an automatic part of
69          the CMTPATH. Nor the current package automatically defines
70          an entry in the CMTPATH search list. However a feature
71          partly compensates this evolution: the current project
72          (i.e. the current package area, where the developer stands)
73          is autmatically detected when its project file exists
74          (i.e. when its cmt/project.cmt file exists). For instance,
75          this suppresses the need to set CMTPATH when working in one
76          single project.</li>
77
78          <li class="new">The general cmt command parsing mechanism
79          has been revisited and now "actions" are considered as
80          extended cmt commands and no longer need the "cmt do
81          &lt;action&gt;" syntax. One can directly use "cmt
82          &lt;action&gt;" when the action does not conflict with
83          internal cmt commands.</li>
84
85          <li class="new">Command line arguments are transmitted to
86          "actions" now through the new standard "cmt_args" macro</li>
87
88          <li class="bug">Really force the settings of all
89          Env. variables before running internal cmmands through
90          broadcast, run or do commands.</li>
91
92          <li class="new">The "cmt run" command transmits all its
93          arguments to the launched action</li>
94
95          <li class="new">Revisit the production of dependency files,
96          to consider the changes made to the configuration in general
97          in addition to the usual source changes. This consists in
98          generating one stamp file per source, touched when its
99          contents change rather than when recomputing the
100          dependencies.</li>
101
102          <li class="bug">Better protections for CMTPATH entries</li>
103
104          <li class="int">Major internal restructuring of the CMT
105          package. Internal sources are now in ../source, ../src only
106          contains publicly exported configuration files, fragments
107          are in ../mgr/fragments. This is for constructing a really
108          autonomous binary kit for CMT (eg for Fink) (without needing
109          to export two kits)</li>
110
111          <li class="bug">Now produce the last revision date of the
112          CMT documentation. Insert the complete version tag rather
113          than just the base version tag.</li>
114
115          <li class="new">Suppress the systematic production of
116          bundles on Darwin machines. This must now be done
117          explicitly.</li>
118
119          <li class="bug">The algorithm for commpressing paths with
120          ../ patterns now takes into account the presence of ${xxx}
121          expressions that cannot be reduced. It also better handle
122          various patterns that used to produce failures.</li>
123
124          <li class="bug">A global checking of the configuration is
125          performed first when running Make</li>
126
127          <li class="new">Incompatible major ids in the version
128          numbers are now managed like the minor id, ie. the decision
129          is taken in a similar way. The usual error message is
130          displayed but this is no longer fatal, and a decision is
131          taken</li>
132
133        </ul>
134
135      </li>
136
137      <li>
138        <b>v1r16p20040901</b>
139
140        <ul>
141
142          <!--
143          <li class="new"></li>
144          <li class="bug"></li>
145          <li class="int"></li>
146          -->
147
148          <li class="new">Introduce the support of SLC3 (Scientific
149          Linux) platforms</li>
150
151          <li class="new">Trigger the reconstruction of the dependency
152          makefile fragment from a change in the
153          &lt;package&gt;_setup.make, ie from any change in tags, uses
154          or CMTPATHs</li>
155
156          <li class="new"><tt>CMTBIN</tt> now follows a new convention
157          on Unix `uname`-`uname -m` to differentiate among Linux
158          platforms.</li>
159
160          <li class="new">Introduce a new -strict option to the cmt
161          expand model to support model files freely formatted. This
162          implied securing the user defined model elements by the
163          <tt>cmts</tt> or <tt>cmtv</tt> name space
164          keywords. <tt>cmts:xxx</tt> indicates a scalar modelling
165          element <tt>xxx</tt> meant to be expanded only
166          once. <tt>cmtv:yyy</tt> indicates a vector modelling element
167          <tt>yyy</tt> meant to be expanded once per item in the
168          vector of values.</li>
169
170          <li class="new">Better management of temporary file
171          generation. Now support the standard TMPDIR environment
172          variable to redirect temporary locations.</li>
173
174          <li class="int">Apply the new GPL-like licence officially
175          provided by CNRS-CEA-INRIA</li>
176
177          <li class="int">Use stderr instead of stdout to display
178          error and warning messages. Mainly to better expose messages in
179          the source setup operations</li>
180
181          <li class="bug">Protect against source files not found (avoid infinite loops in make)</li>
182
183          <li class="bug">Better management of the build strategy on
184          installation area to generate various automatic macros or
185          sets (installarea_linkopts, PATH, LD_LIBRARY_PATH,
186          etc...)</li>
187
188          <li class="bug">Revisit the package scan algorithm to
189          improve the detection of directory structure of packages as
190          well as their version tags.</li>
191
192          <li class="bug">Compress the path definitions (ie compress
193          the ../xxx patterns) and use the compressed paths
194          everywhere</li>
195
196        </ul>
197
198      </li>
199
200      <li>
201        <b>v1r16p20040701</b>
202
203        <ul>
204
205          <!--
206          <li class="new"></li>
207          <li class="bug"></li>
208          <li class="int"></li>
209          -->
210
211          <li class="bug">Better generation of .def files for DATA</li>
212
213          <li class="bug">fix a bug that impacted on the order of
214          compatible use requests with different wilcarded specifications</li>
215
216        </ul>
217
218      </li>
219
220      <li>
221        <b>v1r16p20040527</b>
222
223        <ul>
224
225          <!--
226          <li class="new"></li>
227          <li class="bug"></li>
228          <li class="int"></li>
229          -->
230
231          <li class="new">Generate the <tt>target_${CONSTITUENT}</tt>
232          tag to trigger configuration control per target. This
233          feature is only activated when the new <tt>-target_tag</tt>
234          option is specified to a constituent. Specific tag makefiles
235          are then generated for those targets. This tag is activated
236          either when <tt>make &lt;target&gt;</tt> or <tt>cmt do
237          &lt;action&gt;</tt> is run.</li>
238
239          <li class="new">Add a section on package semantics in the documentation</li>
240
241          <li class="new">The <tt>apply_tag</tt> keyword now accepts macro expansion for its argument.</li>
242
243          <li class="new">Add the support for Enterprise Linux</li>
244
245          <li class="new">Create automatic tags from
246          <tt>cmt_hardware</tt> <tt>cmt_system_version</tt> and
247          <tt>cmt_compiler_version</tt></li>
248
249          <li class="new">Add a filtering script to keep 3 digits instead of 2</li>
250
251          <li class="int">Start the implementation of a centralized log message facility</li>
252
253          <li class="int">Implement a <tt>READONLY</tt> mode to
254          Makefiles to generate all intermediate files in
255          <tt>/tmp/CMT_*</tt> rather than in <tt>../cmt</tt></li>
256
257          <li class="int">Associate a dedicated project with CMTHOME and CMTUSERCONTEXT to manage strategies</li>
258
259          <li class="bug">Set the macro <tt>shlibsuffix</tt> for Win32</li>
260          <li class="bug">Use /bin/pwd instead of the raw pwd in various CMT scripts for Unix</li>
261          <li class="bug">Fix misunderstanding of of version specification of the form v1r2p (ie without a trailing number)</li>
262          <li class="bug">Explicitly close the scope sections at the end of requirements files</li>
263
264        </ul>
265
266      </li>
267
268      <li>
269        <b>v1r16</b>
270
271        <ul>
272
273          <!--
274          <li class="new"></li>
275          <li class="bug"></li>
276          <li class="int"></li>
277          -->
278
279          <li class="new">Offer an [x]emacs mode for editing requirements files</li>
280
281          <li class="new">Permit macro expressions in the <tt>tag</tt> statement</li>
282
283          <li class="new">Possibility to specify additional
284          <tt>mount_filters</tt> in <tt>.cmtrc</tt></li>
285
286          <li class="new">Introduce new regexp-based remove operations
287          for symbols <tt>macro_remove_regexp</tt>,
288          <tt>set_remove_regexp</tt> and
289          <tt>path_remove_regexp</tt></li>
290
291          <li class="new">Add <tt>-n</tt> and <tt>-v</tt> options to
292          <tt>cmt cvs</tt> commands to support simulation and verbose
293          modes</li>
294
295          <li class="new">Ensure that the <tt>constituents</tt> macro is always private</li>
296
297          <li class="new">Introduce support for <i>projects</i>
298          associated with package areas, i.e. one project per item in
299          <tt>CMTPATH</tt>. Possibility to setup strategies per
300          project. Project definitions stored in a new
301          <tt>cmt/project.cmt</tt> top level file. New
302          <tt>&lt;package&gt;_project</tt> standard macro. And
303          associated pattern templates.</li>
304
305          <li class="new">Make <tt>CMTINSTALLAREA</tt> a macro instead of a set</li>
306
307          <li class="new">Suppress dependency computation when the
308          <tt>make QUICK=1</tt> option is used</li>
309
310          <li class="new">New <i>action</i> concept to support
311          simplified shell action definition. Action is an extension
312          of the generic symbol mechanism (like macros), thus defining
313          an action uses the same syntax as macros. Actions are
314          triggered with <tt>make</tt> or <tt>cmt do</tt></li>
315
316          <li class="new"><i>public</i> and <i>private</i> section can be ended by a
317          new keyword <tt>end_public</tt> <tt>end_private</tt>. Ending
318          keywords switch back to the previous scope active before the
319          most recent opening keyword</li>
320
321          <li class="new">Can use a pattern name as a plain CMT
322          keyword. I.e. the <tt>apply_pattern</tt> keyword is optional
323          except to resolve ambiguities</li>
324
325          <li class="int">Generate part of the standard macros before
326          reading the requirements file</li>
327
328          <li class="int">Lots of internal optimisations checked with
329          <tt>valgrind</tt> and <tt>gprof</tt></li>
330
331          <li class="bug">Only set non empty environment variables</li>
332
333          <li class="bug">Fix bad definition of <tt>&lt;PACKAGE&gt;VERSION</tt></li>
334
335          <li class="bug">Add dependency to all stamps file to trigger rebuild of shared libraries</li>
336
337          <li class="bug">Add dependency to all requirements file to trigger rebuild of applications</li>
338
339          <li class="bug">Suppress install area cleanup action from
340          cmt config and cmt setup</li>
341
342          <li class="bug">Improved syntax checking on constituents</li>
343
344          <li class="bug">Fix construction of paths when symlinks
345          exist along pwd</li>
346
347          <li class="bug">Added various protections for bad pattern
348          syntaxes</li>
349
350        </ul>
351
352      </li>
353      <li>
354        <b>v1r14p20031120</b>
355        <ul>
356          <li class="new">Add a new standard macro $(&lt;group&gt;_dependencies)to specify global dependencies for a group</li>
357          <li class="new">Add support for bundles on Darwin platforms</li>
358          <li class="bug">Consider symlinked paths in CMTPATH entries</li>
359          <li class="bug">Always setup cmtpath patterns even if the current installation area is undefined</li>
360
361          <li class="new">Provide a generic pacman manifest file for
362            CMT. All instances of the "&lt;version&gt;" pattern need to be
363            substituted by the effective version of CMT to make it a
364            real pacman file as follows:
365            <pre>sed -e 's#[&lt;]version[&gt;]#'`cmt -quiet version`'#g' $CMTROOT/mgr/CMT.pacman</pre>
366          </li>
367
368        </ul>
369      </li>
370
371      <li>
372        <b>v1r14p20031027</b>
373        <ul>
374          <li class="bug">Fix a bug in the bootstrap mechanism to define CMTINSTALLAREA</li>
375        </ul>
376      </li>
377
378      <li>
379        <b>v1r14p20031022</b>
380        <ul>
381          <li class="new">Add the possibility to specify exclusion files when installing directories in Installation Area (on windows only)</li>
382          <li class="bug">Fix a bug : CMTINSTALLAREA symbol has to be defined before all other symbols in set_standard_macros</li>
383          <li class="bug">Few fixes on nmake flavour of install area mechanisms</li>
384          <li class="new">Generate &lt;package&gt;_cmtpath and &lt;package&gt;_offset also for current package</li>
385          <li class="bug">Fix warning messages that confuse csh when environment variables are not defined</li>
386        </ul>
387      </li>
388
389      <li>
390        <b>v1r14p20031014</b>
391        <ul>
392          <li class="bug">Fix a problem in broadcast operation for handling return status 2 (caused to unexpectedly break the loop in some cases)</li>
393          <li class="bug">Force auto_imports to On when context is unspecified (internal)</li>
394          <li class="bug">Stop trying to make use of PWD</li>
395          <li class="bug">Fix a bug in internal incomplete expansion of macros</li>
396          <li class="bug">Fix a bug in consistency checks of PWD vs CMTINSTALLAREA</li>
397          <li class="new">Convert $(cmtpath) and $(offset) macros to $(package_cmtpath) and $(package_offset)</li>
398          <li class="new">Add dependency list for constituent makefile similar to the constituent target (force the same build order)</li>
399          <li class="bug">Fix a bug in use graph internal management</li>
400          <li class="bug">Fix setup script calling mechanism in no_version style</li>
401          <li class="new">Add a -k=&lt;regexp&gt; argument for selection patterns of constituent sources.</li>
402          <li class="new">Support wildcarded suffixes (*.*) in constituent sources</li>
403          <li class="new">Standardize the output format of show uses (make it reliable for user scripts)</li>
404        </ul>
405      </li>
406
407      <li>
408        <b>v1r14p20030811</b>
409        <ul>
410          <li class="bug">Trailing slashes on offset specification in use statement were causing troubles. Now they are properly handled.</li>
411          <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>
412          <li class="int">Make use of ${PWD} when available to acquire the value for "cmt show pwd"</li>
413          <li class="bug">Add or refresh tuning for CYGWIN and for LynxOS</li>
414          <li class="bug">Work around a limitation of some old version of the C++ compiler on LynxOS</li>
415          <li class="new">Improve the display of incompatible use specifications.</li>
416          <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>
417          <li class="bug">Setup.bat scripts on DOS are now relocatable wrt heterogeneous file systems (AFS, DFS, etc...)</li>
418        </ul>
419      </li>
420
421      <li>
422        <b>v1r14p20030620</b>
423        <ul>
424          <li class="new">introduce a generic "Unix" tag for all Unix platforms. Both Linux, HP-UX, LynxOS, alpha, ... do validate Unix</li>
425          <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>
426          <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>
427          <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>
428          <li class="new">add a command "cmt show cycles" to display circular dependencies in the use graph.</li>
429          <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>
430          <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>
431          <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>
432          <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:
433<pre>
434&gt; cmt --public ...
435</pre>
436       only sees public uses (default behavior for most commands but not for cmt broadcast and cmt show uses which traverse the private sub graphs)
437<pre>
438&gt; cmt --private ...
439</pre>   
440       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>
441          <li class="bug">A global pattern specifying private sections did not really generate private definitions</li>
442        </ul>
443      </li>
444
445<!--
446      <li>
447        <b></b>
448        <ul>
449          <li class=""></li>
450        </ul>
451      </li>
452-->
453
454    </ul>
455
456
457    <hr>
458    <address><a href="mailto:arnault@lal.in2p3.fr">Christian Arnault</a></address>
459  </body>
460</html>
Note: See TracBrowser for help on using the repository browser.