( Document last updated 2nd December 2008 by
Marco Cattaneo )
Important Note: from January
31st 2009, the CVSROOT variable is not part of the default LHCb
environment any more. It has therefore to be added to commands which
are not using the local CVS/Root file. This is the case for example for
"cvs import" or plain "cvs checkout". Namely one should read
>
cvs -d
:ext:isscvs.cern.ch:/local/reps/lhcb import ...
instead of
>
cvs import ...
Anyway
for regular checkout of existing directories, the getpack utility is
doing the right job without any extra options.
Assume that you want to write a components package called MyComponents for subsystem Phys
> cd $HOME/cmtuser
> mkdir -p Phys/MyComponents
> cd Phys/MyComponents
> mkdir cmt
> mkdir doc
> mkdir src
> cd doc
> emacs release.notes
-- edit the release notes --
> cd ../cmt
> emacs requirements
-- edit the requirements file--
> cmt config
> cd ../src
-- add *.cpp files
> cd ../cmt
> cmt
make
===>
component library is built
> cd $HOME/cmtuser/Phys/MyComponents
-- Remove first all files you do not wish to import: binary
directories, backup copies (*~), generated files in cmt directory (only
requirements is needed)
> rm -r slc*
> rm */*~
> rm cmt/*.*
> rm cmt/*Make*
-- And now import to CVS
> cvs -d
:ext:isscvs.cern.ch:/local/reps/lhcb import -m " first import of
MyComponents under Phys" Phys/MyComponents
myid v0r0
myid is a "vendor-tag" in the CVS
terminology. I
use my logon id
Please make sure that the import command is run from
inside the directory you want to import ("cd
$HOME/cmtuser/Phys/MyComponents")
> cd $MYCOMPONENTSROOT
> cd ..
> mv MyComponents MyComponents.keep
> cd $HOME/cmtuser
> getpack Phys/MyComponents v1r0 head
> cd Phys/MyComponents/cmt
> cmt show uses
> cmt make
> cd ../..
> ls
MyComponents MyComponents.keep
> rm -r MyComponents.keep