source: CMT/HEAD/doc/ReleaseNotes.html@ 25

Last change on this file since 25 was 11, checked in by arnault, 21 years ago

Changing eol-style property

  • Property svn:eol-style set to native
File size: 17.4 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.