CMT basics - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

CMT basics

Description:

Be able to navigate through packages. Be able to configure the ... Document changes in Changelog file. cvs commit m 'comment' cvs tag - packagetag ... – PowerPoint PPT presentation

Number of Views:68
Avg rating:3.0/5.0
Slides: 19
Provided by: emcy9
Category:
Tags: cmt | basics | changelog

less

Transcript and Presenter's Notes

Title: CMT basics


1
CMT basics
  • ATHENA workshop october06

2
After this tutorial
  • Youll know how to set CMT
  • Be able to navigate through packages
  • Be able to configure the requirements file
  • Use CVS and LXR
  • Use basic tools of CMT

3
Outline
  • What is CMT
  • ATLAS CMT
  • CMT structure
  • The requirements file
  • Useful CMT tools
  • Exercises embedded

4
CMT
  • Configuration Management Tool
  • Environment used to maintain,
  • manage and control packages
  • Looks after building/releasing the
  • libraries/executables

5
Setting up ATLAS CMT
  • source zvankest/public/workshop/ws_setup.csh
  • exercise
  • take a look at the ws_setup.csh script
  • Keep your CMT version up to date! Check
  • http//atlas-computing.web.cern.ch/atlas-computin
    g/projects/releases/status/

6
(No Transcript)
7
Further
  • Setting CMT environment needed only once
  • For each session type
  • source setup.csh -tag12.0.3
  • for using release 12.0.3

8
Packages
  • collection of related classes
  • (software components)
  • in a logical physical unit
  • Dependencies

B
A
C
D
9
Check this out
  • Retrieving packages from repository
  • cmt co ltfull path of packagegt or
  • cmt co r ltpackage versiongt ltfull path o.p.gt
  • Which version is used with which release of
    ATHENA? get_tag ltfull path of packagegt
  • Exercise
  • Check out the package PackageExample from
    Tutorial/PackageExample

10
CMT structure
  • ltpackagegt /cmt cmt scripts
  • /share .py files
  • /doc documentation
  • /ltpackagegt .h files
  • /src .cxx files
  • In /cmt/ requirements file
  • sets the controls of the package

11
requirements
  • Steers the compilation
  • an important statement is
  • Use
  • use package packageVersion packageOffset

12
Compiling the package
  • In your cmt directory type
  • gmake
  • cmt bro gmake
  • the broadcast (bro) option propagates the gmake
    to all packages mentioned in use statement
  • This can be used to compile a set of packages if
    you know the dependencies

13
Useful tools in CMT
  • Which packages depend on your package?
  • cmt show clients ltpackagegt
  • From which packages does your package depends?
  • cmt show uses ltpackagegt
  • Which version is used in your release?
  • cmt show package ( grep ltpackagegt )

14
CVS repository
  • ATHENA packages (and more) repository
  • Supports web-navigation
  • http//atlas-sw.cern.ch/cgi-bin/viewcvs-atlas.cgi
    /

15
BEWARE!!!!
  • A lot of obsolete packages
  • Check date when package was last modified!
  • Although it is here where youll find most
    examples

16
Developers checking in
  • Document changes in Changelog file
  • cvs commit m comment
  • cvs tag -ltpackagetaggt
  • If the package is to be included into release
  • collect tag in TagCollector
  • (click link from ATLAS developers page)

17
LXR
  • Cross referencer useful lookup for
    files/object/semantics in CVS (slow)
  • http//alxr.usatlas.bnl.gov/lxr/source
  • Invaluable when browsing through unfamiliar code!

18
debugging with CVS/LXR
  • Go to PackageExample, look through package files
  • This wont compile due to wrong requirements file
    and missing includes
  • Make this package to compile
  • (preferably without errors)
Write a Comment
User Comments (0)
About PowerShow.com