: display the subpackages for a module
global option :
-quiet : don't print errors
-use=:: : set package version path
-pack= : set package
-version= : set version
-path= : set root path
-f= : set input file
-e= : add a one line statement
-home= : find a home requirements file there
-tag= : select specific tag\201s\202
-private : force navigation through private uses
-public : inhibit navigation through private uses \201the default\202)RP(
)0 P(The following sections present the detail of each available command.)EP(
)2 1 1 HR()0 4 47 H()WB 165 Sn()WB 39 Sn()EA()0 112 1 A()TT(11.\2403.\2401)ES()112 0 TN TL()Ec /AF f D( - cmt broadcast)EH(
)BQ(This command tries to repeatedly execute a shell command in the
context of each of the used package of the current package. The
used packages are listed using the)BD(cmt show uses)ES(
command, which also indicates in which order the broadcast is
performed. When the)BD(all_packages)ES(
option, the set of
packages reached by the broadcast is rather the same as the one shown
by the)BD(cmt show packages)ES(
command, ie all)BD(CMT)ES(
packages
and versions available throught the current)BD(CMTPATH)ES(
list.
)0 P( Typical uses of this)I( broadcast)ES(
operation could be:)EP(
) 3 44 PR(csh> cmt broadcast cmt config
csh> cmt broadcast - gmake
csh> cmt broadcast '\201cd ../; cvs -n update\202')RP(
)0 P( The loop over used packages will stop at the first error
occurence in the application of the command, except if the
command was preceded by a '-' \201minus\202 sign \201similarly to the
make convention\202.)EP(
)0 P( It is possible to specify a list of selection or
exclusion criteria set onto the package path, using the
following options, right after the)BD( broadcast)ES(
keyword. These selection criteria may be combined \201eg one
may combine the)I( begin)ES(
and)I( select)ES(
modifiers\202)EP(
) 8 53 PR(sh> cmt broadcast -begin=Cm gmake \2011\202
sh> cmt broadcast -select=Cm gmake \2012\202
sh> cmt broadcast -select='/Cm/ /CSet/' gmake \2013\202
sh> cmt broadcast -select=Cm -exclude=Cmo gmake \2014\202
sh> cmt broadcast -local gmake \2015\202
sh> cmt broadcast -depth= gmake \2016\202
sh> cmt broadcast -global gmake \2017\202
sh> cmt broadcast -all_packages gmake \2018\202)RP(
)0 P(According to the option, the loop will only operate onto:)EP(
)4 OL( )-1 LI( the first package which path contains the string
)BD( "Cm")ES(
, and then all other reachable packages \201in
case other specifiers are used\202
)-1 LI( the packages which path contains the string)BD( "Cm")ES(
)-1 LI( the packages which path contains either the string
)BD( "/Cm/")ES(
or the string)BD( "/CSet/")ES(
)-1 LI( the packages which path contains the string)BD( "Cm")ES(
,
but which does not contain the string)BD( "Cmo")ES(
)-1 LI( the packages at the same level as the current package
)-1 LI( the packages at the same level as the current package or
among thefirst entries in the)BD( CMTPATH)ES(
list
)-1 LI( the packages at any level of the CMTPATH search list
)-1 LI( all the packages and versions currently available
through the)BD( CMTPATH)ES(
list)LO(
)2 1 1 HR()0 5 48 H()WB 166 Sn()WB 40 Sn()EA()0 112 1 A()TT(11.\2403.\2401.\2401)ES()112 0 TN TL()Ec /AF f D( - Specifying the shell command)EH(
)BQ()0 P( A priori any Unix or DOS shell command can be specified
in a boadcast command. However, it's important to
understand the order of the various parsing actions:)EP(
)4 OL( )-1 LI( The current shell first parses the complete command line
)-1 LI( CMT catches all possible options given to the broadcast command itself
)-1 LI( CMT then gets the rest of the command line and makes it the shell command to be executed during the broadcast scan.
)-1 LI( This command line may be subject to template substitution \201see below\202 by CMT
)-1 LI( Eventually the command line is passed to the local shell \201which may then perform additional parsing actions\202)LO(
)0 P( Considering this complex sequence of parsing, it may be
appropriate to selectively enclose the shell command
passed to the broadcast action into quotes. It may even be
sometimes useful to have two levels of quotes)EP()QB(
)2 1 1 HR()0 5 49 H()WB 167 Sn()WB 41 Sn()EA()0 112 1 A()TT(11.\2403.\2401.\2402)ES()112 0 TN TL()Ec /AF f D( - Templates in the shell command)EH(
)BQ()0 P( Similarly to what exists in the)0 28 1 A( pattern)28 0 TN TL()Ec /AF f D(
mechanism, some standard
)I( templated)ES(
values can be embedded inside the
command to be executed by the broadcast action. They take
a standard form of
)I( )BD( )ES(
)ES(
. These templates acquire
their value on each package effectively reached during the
broadcast scan, and the effective value is substituted
before launching the command. The possible templates are:)EP(
)10 PT(
)0 P( The next example shows a typical broadcast command listing the
header files as expected in the conventional location
)BD( ../)ES(
:)EP(
) 17 149 PR(> cmt broadcast 'ls ../'
[...]
#--------------------------------------------------------------
# Now trying [ ls ../GenzModuleEvent] in /afs/cern.ch/atlas/software/dist/6.3.0/Generators/GenzModuleEvent/GenzModuleEvent-00-00-09/cmt \201149/609\202
#--------------------------------------------------------------
CVS KineHepMcmap.h
#--------------------------------------------------------------
# Now trying [ ls ../Tauola_i] in /afs/cern.ch/atlas/software/dist/6.3.0/Generators/Tauola_i/Tauola_i-00-00-13/cmt \201150/609\202
#--------------------------------------------------------------
CVS Jaki.icc Tauola_i.h Taurad.h config.h rn_tau.h tauola_i.inc
Jaki.h ReadPDGtable.h Tauola_i.icc Taurad.icc polhep.inc tauola_cblk.inc
#--------------------------------------------------------------
# Now trying [ ls ../NavigationEvent] in /afs/cern.ch/atlas/software/dist/6.3.0/Reconstruction/NavigationEvent/NavigationEvent-00-00-04/cmt \201151/609\202
#--------------------------------------------------------------
CVS INavigable.h INavigationCondition.h INavigationSelector.h INavigationToken.h NavigationToken.h
[...]
)RP(
)BQ()2 1 1 HR(One should note that when templates are used in a
broadcast command, it's important to enclose the command
in quotes so as to inhibit any possible parsing of the
)BD(<>)ES(
syntax by the shell.
)2 1 1 HR()QB()QB()QB(
)2 1 1 HR()0 4 50 H()WB 168 Sn()WB 39 Sn()EA()0 112 1 A()TT(11.\2403.\2402)ES()112 0 TN TL()Ec /AF f D( - cmt build