source: CMT/v1r16p20040901/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: 14.5 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      <li>
48        <b>v1r16p20040901</b>
49
50        <ul>
51
52          <!--
53          <li class="new"></li>
54          <li class="bug"></li>
55          <li class="int"></li>
56          -->
57
58          <li class="new">Introduce the support of SLC3 (Scientific
59          Linux) platforms</li>
60
61          <li class="new">Trigger the reconstruction of the dependency
62          makefile fragment from a change in the
63          &lt;package&gt;_setup.make, ie from any change in tags, uses
64          or CMTPATHs</li>
65
66          <li class="new"><tt>CMTBIN</tt> now follows a new convention
67          on Unix `uname`-`uname -m` to differentiate among Linux
68          platforms.</li>
69
70          <li class="new">Introduce a new -strict option to the cmt
71          expand model to support model files freely formatted. This
72          implied securing the user defined model elements by the
73          <tt>cmts</tt> or <tt>cmtv</tt> name space
74          keywords. <tt>cmts:xxx</tt> indicates a scalar modelling
75          element <tt>xxx</tt> meant to be expanded only
76          once. <tt>cmtv:yyy</tt> indicates a vector modelling element
77          <tt>yyy</tt> meant to be expanded once per item in the
78          vector of values.</li>
79
80          <li class="new">Better management of temporary file
81          generation. Now support the standard TMPDIR environment
82          variable to redirect temporary locations.</li>
83
84          <li class="int">Apply the new GPL-like licence officially
85          provided by CNRS-CEA-INRIA</li>
86
87          <li class="int">Use stderr instead of stdout to display
88          error and warning messages. Mainly to better expose messages in
89          the source setup operations</li>
90
91          <li class="bug">Protect against source files not found (avoid infinite loops in make)</li>
92
93          <li class="bug">Better management of the build strategy on
94          installation area to generate various automatic macros or
95          sets (installarea_linkopts, PATH, LD_LIBRARY_PATH,
96          etc...)</li>
97
98          <li class="bug">Revisit the package scan algorithm to
99          improve the detection of directory structure of packages as
100          well as their version tags.</li>
101
102          <li class="bug">Compress the path definitions (ie compress
103          the ../xxx patterns) and use the compressed paths
104          everywhere</li>
105
106        </ul>
107
108      </li>
109
110      <li>
111        <b>v1r16p20040701</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="bug">Better generation of .def files for DATA</li>
122
123          <li class="bug">fix a bug that impacted on the order of
124          compatible use requests with different wilcarded specifications</li>
125
126        </ul>
127
128      </li>
129
130      <li>
131        <b>v1r16p20040527</b>
132
133        <ul>
134
135          <!--
136          <li class="new"></li>
137          <li class="bug"></li>
138          <li class="int"></li>
139          -->
140
141          <li class="new">Generate the <tt>target_${CONSTITUENT}</tt>
142          tag to trigger configuration control per target. This
143          feature is only activated when the new <tt>-target_tag</tt>
144          option is specified to a constituent. Specific tag makefiles
145          are then generated for those targets. This tag is activated
146          either when <tt>make &lt;target&gt;</tt> or <tt>cmt do
147          &lt;action&gt;</tt> is run.</li>
148
149          <li class="new">Add a section on package semantics in the documentation</li>
150
151          <li class="new">The <tt>apply_tag</tt> keyword now accepts macro expansion for its argument.</li>
152
153          <li class="new">Add the support for Enterprise Linux</li>
154
155          <li class="new">Create automatic tags from
156          <tt>cmt_hardware</tt> <tt>cmt_system_version</tt> and
157          <tt>cmt_compiler_version</tt></li>
158
159          <li class="new">Add a filtering script to keep 3 digits instead of 2</li>
160
161          <li class="int">Start the implementation of a centralized log message facility</li>
162
163          <li class="int">Implement a <tt>READONLY</tt> mode to
164          Makefiles to generate all intermediate files in
165          <tt>/tmp/CMT_*</tt> rather than in <tt>../cmt</tt></li>
166
167          <li class="int">Associate a dedicated project with CMTHOME and CMTUSERCONTEXT to manage strategies</li>
168
169          <li class="bug">Set the macro <tt>shlibsuffix</tt> for Win32</li>
170          <li class="bug">Use /bin/pwd instead of the raw pwd in various CMT scripts for Unix</li>
171          <li class="bug">Fix misunderstanding of of version specification of the form v1r2p (ie without a trailing number)</li>
172          <li class="bug">Explicitly close the scope sections at the end of requirements files</li>
173
174        </ul>
175
176      </li>
177
178      <li>
179        <b>v1r16</b>
180
181        <ul>
182
183          <!--
184          <li class="new"></li>
185          <li class="bug"></li>
186          <li class="int"></li>
187          -->
188
189          <li class="new">Offer an [x]emacs mode for editing requirements files</li>
190
191          <li class="new">Permit macro expressions in the <tt>tag</tt> statement</li>
192
193          <li class="new">Possibility to specify additional
194          <tt>mount_filters</tt> in <tt>.cmtrc</tt></li>
195
196          <li class="new">Introduce new regexp-based remove operations
197          for symbols <tt>macro_remove_regexp</tt>,
198          <tt>set_remove_regexp</tt> and
199          <tt>path_remove_regexp</tt></li>
200
201          <li class="new">Add <tt>-n</tt> and <tt>-v</tt> options to
202          <tt>cmt cvs</tt> commands to support simulation and verbose
203          modes</li>
204
205          <li class="new">Ensure that the <tt>constituents</tt> macro is always private</li>
206
207          <li class="new">Introduce support for <i>projects</i>
208          associated with package areas, i.e. one project per item in
209          <tt>CMTPATH</tt>. Possibility to setup strategies per
210          project. Project definitions stored in a new
211          <tt>cmt/project.cmt</tt> top level file. New
212          <tt>&lt;package&gt;_project</tt> standard macro. And
213          associated pattern templates.</li>
214
215          <li class="new">Make <tt>CMTINSTALLAREA</tt> a macro instead of a set</li>
216
217          <li class="new">Suppress dependency computation when the
218          <tt>make QUICK=1</tt> option is used</li>
219
220          <li class="new">New <i>action</i> concept to support
221          simplified shell action definition. Action is an extension
222          of the generic symbol mechanism (like macros), thus defining
223          an action uses the same syntax as macros. Actions are
224          triggered with <tt>make</tt> or <tt>cmt do</tt></li>
225
226          <li class="new"><i>public</i> and <i>private</i> section can be ended by a
227          new keyword <tt>end_public</tt> <tt>end_private</tt>. Ending
228          keywords switch back to the previous scope active before the
229          most recent opening keyword</li>
230
231          <li class="new">Can use a pattern name as a plain CMT
232          keyword. I.e. the <tt>apply_pattern</tt> keyword is optional
233          except to resolve ambiguities</li>
234
235          <li class="int">Generate part of the standard macros before
236          reading the requirements file</li>
237
238          <li class="int">Lots of internal optimisations checked with
239          <tt>valgrind</tt> and <tt>gprof</tt></li>
240
241          <li class="bug">Only set non empty environment variables</li>
242
243          <li class="bug">Fix bad definition of <tt>&lt;PACKAGE&gt;VERSION</tt></li>
244
245          <li class="bug">Add dependency to all stamps file to trigger rebuild of shared libraries</li>
246
247          <li class="bug">Add dependency to all requirements file to trigger rebuild of applications</li>
248
249          <li class="bug">Suppress install area cleanup action from
250          cmt config and cmt setup</li>
251
252          <li class="bug">Improved syntax checking on constituents</li>
253
254          <li class="bug">Fix construction of paths when symlinks
255          exist along pwd</li>
256
257          <li class="bug">Added various protections for bad pattern
258          syntaxes</li>
259
260        </ul>
261
262      </li>
263      <li>
264        <b>v1r14p20031120</b>
265        <ul>
266          <li class="new">Add a new standard macro $(&lt;group&gt;_dependencies)to specify global dependencies for a group</li>
267          <li class="new">Add support for bundles on Darwin platforms</li>
268          <li class="bug">Consider symlinked paths in CMTPATH entries</li>
269          <li class="bug">Always setup cmtpath patterns even if the current installation area is undefined</li>
270
271          <li class="new">Provide a generic pacman manifest file for
272            CMT. All instances of the "&lt;version&gt;" pattern need to be
273            substituted by the effective version of CMT to make it a
274            real pacman file as follows:
275            <pre>sed -e 's#[&lt;]version[&gt;]#'`cmt -quiet version`'#g' $CMTROOT/mgr/CMT.pacman</pre>
276          </li>
277
278        </ul>
279      </li>
280
281      <li>
282        <b>v1r14p20031027</b>
283        <ul>
284          <li class="bug">Fix a bug in the bootstrap mechanism to define CMTINSTALLAREA</li>
285        </ul>
286      </li>
287
288      <li>
289        <b>v1r14p20031022</b>
290        <ul>
291          <li class="new">Add the possibility to specify exclusion files when installing directories in Installation Area (on windows only)</li>
292          <li class="bug">Fix a bug : CMTINSTALLAREA symbol has to be defined before all other symbols in set_standard_macros</li>
293          <li class="bug">Few fixes on nmake flavour of install area mechanisms</li>
294          <li class="new">Generate &lt;package&gt;_cmtpath and &lt;package&gt;_offset also for current package</li>
295          <li class="bug">Fix warning messages that confuse csh when environment variables are not defined</li>
296        </ul>
297      </li>
298
299      <li>
300        <b>v1r14p20031014</b>
301        <ul>
302          <li class="bug">Fix a problem in broadcast operation for handling return status 2 (caused to unexpectedly break the loop in some cases)</li>
303          <li class="bug">Force auto_imports to On when context is unspecified (internal)</li>
304          <li class="bug">Stop trying to make use of PWD</li>
305          <li class="bug">Fix a bug in internal incomplete expansion of macros</li>
306          <li class="bug">Fix a bug in consistency checks of PWD vs CMTINSTALLAREA</li>
307          <li class="new">Convert $(cmtpath) and $(offset) macros to $(package_cmtpath) and $(package_offset)</li>
308          <li class="new">Add dependency list for constituent makefile similar to the constituent target (force the same build order)</li>
309          <li class="bug">Fix a bug in use graph internal management</li>
310          <li class="bug">Fix setup script calling mechanism in no_version style</li>
311          <li class="new">Add a -k=&lt;regexp&gt; argument for selection patterns of constituent sources.</li>
312          <li class="new">Support wildcarded suffixes (*.*) in constituent sources</li>
313          <li class="new">Standardize the output format of show uses (make it reliable for user scripts)</li>
314        </ul>
315      </li>
316
317      <li>
318        <b>v1r14p20030811</b>
319        <ul>
320          <li class="bug">Trailing slashes on offset specification in use statement were causing troubles. Now they are properly handled.</li>
321          <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>
322          <li class="int">Make use of ${PWD} when available to acquire the value for "cmt show pwd"</li>
323          <li class="bug">Add or refresh tuning for CYGWIN and for LynxOS</li>
324          <li class="bug">Work around a limitation of some old version of the C++ compiler on LynxOS</li>
325          <li class="new">Improve the display of incompatible use specifications.</li>
326          <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>
327          <li class="bug">Setup.bat scripts on DOS are now relocatable wrt heterogeneous file systems (AFS, DFS, etc...)</li>
328        </ul>
329      </li>
330
331      <li>
332        <b>v1r14p20030620</b>
333        <ul>
334          <li class="new">introduce a generic "Unix" tag for all Unix platforms. Both Linux, HP-UX, LynxOS, alpha, ... do validate Unix</li>
335          <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>
336          <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>
337          <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>
338          <li class="new">add a command "cmt show cycles" to display circular dependencies in the use graph.</li>
339          <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>
340          <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>
341          <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>
342          <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:
343<pre>
344&gt; cmt --public ...
345</pre>
346       only sees public uses (default behavior for most commands but not for cmt broadcast and cmt show uses which traverse the private sub graphs)
347<pre>
348&gt; cmt --private ...
349</pre>   
350       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>
351          <li class="bug">A global pattern specifying private sections did not really generate private definitions</li>
352        </ul>
353      </li>
354
355<!--
356      <li>
357        <b></b>
358        <ul>
359          <li class=""></li>
360        </ul>
361      </li>
362-->
363
364    </ul>
365
366
367    <hr>
368    <address><a href="mailto:arnault@lal.in2p3.fr">Christian Arnault</a></address>
369  </body>
370</html>
Note: See TracBrowser for help on using the repository browser.