Make changes to GlaNtp
Introduction
We plan to made some changes to the trunk (head) of GlaNtp package, then test it, then tag it to a new version. This page is for GlaNtp developers.
ssh -Y ppepc137.physics.gla.ac.uk
Then open an xterm terminal.
xterm
Getting prepared
At Glasgow, the package is set up so that it should be checked out in the /home/${USER} folder. Also here a scripts folder will be checked out, so please make sure at this stage this folder does not already exist.
First setup the svn grid proxy
source /data/ppe01/sl44/i386/grid/glite-ui/latest/external/etc/profile.d/grid-env.sh
svn-grid-proxy-init
Let's see first what is the latest stable frozen tag of GlaNtp.
svn ls https://ppesvn.physics.gla.ac.uk/svn/atlas/GlaNtp
We will see an output like this
branches/
tags/
trunk/
Setup the GlaNtp head version. Unlike the checkout script, you have to say that you want to setpu the head version with "-v h".
source $HOME/public_ppe/scripts/setup_glantp.sh -v h
You should have an output like this
atlas version: 16.0.3.3, a 16 release at physics.gla.ac.uk
AtlasProduction/16.0.3.3 with platform i686-slc5-gcc43-opt
at /data/atlas01/atlas/releases/16.0.3
AtlasVersion= 16.0.3.3
But this is the output about Athena's version. Let's check that we actually set up GlaNtp.
echo $GLANTPDIR
It should be the same as $HOME/GlaNtpPackage/GlaNtpSVNh.
To really see if GlaNtp is set up properly, let's type one of its commands and see that it is known. After a few characters, press tab and if it is known, its name will be completed (rv5 means ROOT version 5).
CheckEntriesrv5
We will be working in this folder.
cd $GLANTPDIR
The executables we have access to are in the bin folder.
cd $GLANTPDIR/bin
ls
cd i686-slc5-gcc43-opt
ls
We see some executables with "rv5" in their name. This stands for "they are compiled with version 5 of ROOT". GlaNtp is able to also compile with the version 4 of ROOT.
The actual code is in the trunk folder
cd $GLANTPDIR/trunk
Make your changes to GlaNtp
We are going to add a simple root macro that sums the values of all the entries in a certain tree in a certain root file for a certain variable. But since we do not want a ROOT macro, but an executable with an int main function, we integrated it as a part of GlaNtp. Since this is a ROOT stuff, we will put it in the RootUtil folder.
cd RootUtil
ls
If we have a source code, we want to add a .cc file in the folder src. But we have a macro style script, so we put a .cc file in the folder test.
cd test
ls
We follow the example of the file "CheckEntries.cc" and add our file "SumOverEntries.cc". Now we need to modify the Makefile folder.
cd ..
emacs Makefile &
As you are developing the "SumOverEntries.cc" file, you want to check that this script compiles.
make
Make clean and build (make) again
Start a new window.
After this compilation and your check that the code works as you want, let's do a make clean in the entire
GlaNtp package. For this we run the GlaNtpScript, but with the option to not check out again (-c no) and with the option to make clean (-C yes).
$HOME/public_ppe/scripts/GlaNtpScript.sh -G $HOME/public_ppe/scripts -c no -C yes
This has also implied the options of to build the package (nothing means -b yes) and run the validation (nothing means -B yes). If the validation is OK, then you are OK.
Commit to SVN
Refresh the svn grid certificate, if needed:
First setup the svn grid proxy
source /data/ppe01/sl44/i386/grid/glite-ui/latest/external/etc/profile.d/grid-env.sh
svn-grid-proxy-init
Go to the trunk (head) folder. Notice that the command below does not work, as GlaNtp is not set up, as we started a new window, and the GlaNtpScript sets it up but the environment values do not go out of that script.
cd $GLANTPDIR/trunk
So we use the hard wired command
cd /home/abuzatu/GlaNtpPackage/GlaNtpSVNh/trunk
Edit the ChangeLog file, like this
2012-06-30 Adrian Buzatu <adrian.buzatu@glasgow.ac.uk>
* Will tag as 00-00-61
* Add in RootUtil/test SumOverEntries.cc and UpdateGlobalVHv16.cc, alon\
g with the corresponding Makefile. Used in fixing the global tree right after t\
aken from the greed for v16 VH.
Then add to
SVN the added files.
svn add RootUtil/test/SumOverEntries.cc
svn add RootUtil/test/UpdateGlobalTreeVHv16.cc
Check that there are no added or removed files that are not taken care of.
svn status
You are finally ready to commit to the trunk (head).
svn ci -m "Adrian's first commit to GlaNtp: added two .cc in RootUtil/test needed for fixing the global tree for v16 VH flattuples"
You can see that the changes were propagated by putting this in a browser where you have your certificate
https://ppesvn.physics.gla.ac.uk/svn/atlas/GlaNtp/trunk/
As they are OK, we can tag to a new number (assuming the desired number is 00-00-61)
svn -m "make version 00-00-61" cp https://ppesvn.physics.gla.ac.uk/svn/atlas/GlaNtp/trunk/ https://ppesvn.physics.gla.ac.uk/svn/atlas/GlaNtp/tags/GlaNtp-00-00-61
You can achieve the same thing by using Rick's script:
~stdenins/public_ppe/bin/tagGlaNtp.sh 00-00-61
Back to mother page:
AdrianBuzatuZHFrameworkGlasgowGlaNtp.
--
AdrianBuzatu - 28-Jun-2012