Changes between Version 14 and Version 15 of VincentFAQ


Ignore:
Timestamp:
May 6, 2005, 6:08:16 PM (21 years ago)
Author:
garonne
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • VincentFAQ

    v14 v15  
    1 {{{
    2 #!rst
    3 }}}
     1
     2
     3
     4= General CMT FAQ =
     5
     6by V.Garonne                                                   [[BR]]
     7Date: 05.4.2005                                                [[BR]]
     8Version : 0.1                                                  [[BR]]
     9Web site: [http://www.cmtsite.org/ http://www.cmtsite.org/]    [[BR]]
     10
     11= General Information =
     12
     13== What is CMT ? ==
     14
     15[http://www.cmtsite.org/ CMT](__C__onfiguration __M__anagement __T__ool) is a configuration management environment, based on some management conventions and comprises several shell-based utilities. It is an attempt to formalize software production and especially configuration management around a package-oriented principle.
     16
     17The environment provides conventions (for naming packages, files, directories and for addressing them) and tools for automating as much as possible the implementation of these conventions. It permits to describe the configuration requirements and automatically deduce from the description the effective set of configuration parameters needed to operate the packages (typically for building them or using them).
     18
     19== What is a package ? ==
     20
     21The notion of packages represents hereafter a set of software components (that may be applications, libraries, tools etc...) that are to be used for producing a system or a framework. In such an environment, several persons are assumed to participate in the development and the components themselves are either independent or related to each other.
     22
     23== How to install CMT ? ==
     24
     25See: [http://www.cmtsite.org/install.html Install]
     26
     27== Are there copyright restrictions on the use of CMT ? ==
     28
     29Not really. CMT is provided as an Open-Source product, with available sources, and is opened to any contribution from anybody.
     30
     31See the license page [http://www.cecill.info/licences.en.html agreement] to find further explanations and a link to the full text of the license.
     32
     33== How do I get documentation on CMT ? ==
     34
     35All documentation is available on-line, starting at [http://www.cmtsite.org/documents.html Documents].
     36
     37== Is there a mailing list devoted to CMT ? ==
     38
     39There is a mailing list, [http://www.cmtsite.org/discussion.html mailing list].
     40
     41== I've never used CMT before. Is there a CMT tutorial? ==
     42
     43There are numerous tutorials avalaible here:
     44
     45 *  [http://www.cmtsite.org/documents.html Documents]
     46
     47 * [http://atlas.web.cern.ch/Atlas/GROUPS/SOFTWARE/OO/sit/Policy/ Atlas and CMT]
     48
     49 * [wiki:VincentTrial How do i begin playing with CMT ?]
     50
     51== How do I submit bug reports for CMT ? ==
     52
     53To report a bug, please use the relevant service from the Trac project.
     54
     55 * Bugs: [http://trac.lal.in2p3.fr/CMT/newticket New Ticket]
     56
     57
     58= CMT in the real world =
     59 
     60==  How stable is CMT ? ==
     61
     62Very stable (of course :) ).
     63
     64== How many people are using Python ? ==
     65
     66CMT is an academic project aimed at providing support to the software developments in the context of large physics experiments ([http://atlas.web.cern.ch atlas],[[BR]][http://lhcb.web.cern.ch/lhcb/ lhcb], ...).
     67
     68Although it is currently used by Physics experiments, it is strongly required to stay experiment neutral, and this requirements is fully endorsed in its internal design (eg by ensuring that all possible customizations can always be performed without modifications to the kernel).
     69
     70This kind of requirements also implies that portability or modularity issues (including environment independance) are assigned a quite high priority.
     71
     72== What are the supported platforms ? ==
     73
     74CMT has been ported and tested on a wide range of machines/operating systems, including:
     75
     76 * DEC-Unix V4.0
     77 * HP-UX-10 (several types of platforms)
     78 * AIX-4
     79 * Solaris
     80 * IRIX
     81 * Several variants of LynxOS
     82 * All variants of Linux (RedHat, Debian, SuSe, ScientificLinux, ...)
     83 * Windows 95/98/NT/Windows2000 in various environments:
     84    * CYGWIN_NT-5.1 environment
     85    * nmake based environment
     86    * MSDev/VisualC 6 environment
     87    * MSDev/VisualC 7 environment
     88 * Darwin (Mac OS X)
     89
     90== CMT's design ==
     91
     92= What are the architecture of the environment ? =
     93This environment is based on the fact that one of its packages (named CMT ) provides the basic
     94management tools. CMT , as a package, has very little specificities and as such itself obeys the
     95general conventions.
     96Then the complete software base is organized in terms of projects (or sub-projects ), containing
     97consistently managed package sets. Projects are localized either globally or individually:
     98globally using the environment variable CMTPROJECTPATH that describes all locations
     99where CMT projects can be found individually using the environment variable CMTPATH that describe all package areas where packages can be found Packages are localized respectively to the projects they belong to.
     100It should be noted that the choice of a location for installing CMT itself is totally independent of
     101the locations where projects are installed and managed.
     102
     103CMT is operated through one main user interface : the cmt command, which operates the CMT
     104conventions and which provides a set of services for :
     105 * creating a new package. This operation will create or check the local package directory tree and generate several minimal scripts (see the description of the create command),
     106 * describing or monitoring :
     107    * the relationships between the package and other packages
     108    * the configuration features either specified in the current package, or imported from related (used ) ones. (symbols, patterns, fragments)
     109    * the constituents of the package in terms of libraries, executables, or generated documents.
     110 * automatically generating the reconstruction scripts (makefiles ) from this description.
     111 * recursively acting upon the hierarchy of used packages.
     112
     113Several other utilities are also provided for some specific activities (such as the automatic
     114production of shared libraries, C prototypes, management of interactions between CVS and CMT
     115itself, the management of a similar architecture for Windows or OS9 , setting up protections for
     116packages (through locks) etc...).
     117
     118= User FAQ =
     119
     120== How to create a package ? ==
     121
     122 cmt create <package_name> <version>
     123
     124== Does the "requirements" file support comments ? ==
     125
     126Yes. A comment starts with a hash character (#) that is not part of a string literal, and ends at the end of the physical line.