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

Last change on this file since 32 was 32, checked in by arnault, 21 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.