User Tools

Site Tools


sframe:addpackage

Add a new package to SFrame

Creating a new package in SFrame

A new package is easily created using the scripts that are provided by SFrame. In your analysis directory type

sframe_new_package.sh NewPackageName

Changing to that directory and typing make compiles the new, but already functional package.

Adding the new package to SVN

Let's assume your package now does what it's supposed to do. Then it is time to share it with everyone else. Instead of using svn import, consider using svn add because that provides you with better of control of what is being added. The first steps should be the following:

mv MyNewPackage MyNewPackage.local
svn mkdir svn+ssh://svn.cern.ch/reps/uzhcms/sframe/MyNewPackage -m "creating new package MyNewPackage"
svn mkdir svn+ssh://svn.cern.ch/reps/uzhcms/sframe/MyNewPackage/trunk -m "creating trunk for new package MyNewPackage"
svn mkdir svn+ssh://svn.cern.ch/reps/uzhcms/sframe/MyNewPackage/tags -m "creating tags for new package MyNewPackage"
svn mkdir svn+ssh://svn.cern.ch/reps/uzhcms/sframe/MyNewPackage/branches -m "creating branches for new package MyNewPackage"
svn co svn+ssh://svn.cern.ch/reps/uzhcms/sframe/MyNewPackage/trunk MyNewPackage

Then copy the needed files from your local copy to the working directory.

Add the external package hooks if needed as described above.

svn update
source setup.sh
make

Check if your package compiles.

make distclean

Now add the needed files step by step. Make sure you only add the cxx files from src that are needed (e.g. no Dict files). Same applies for the include directory (don't forget the LinkDef file). Also don't add the dep directory. The only other directories you might need to add are config and proof. Here's an imcomplete list of files that must not be added:

  • *_Dict.cxx
  • *.so
  • *.root
  • all other binary files such as plots
  • dep directory

Once you've added the desired files type

svn commit -m "initial revision of MyNewPackage"

Testing the new package

Delete your checked-out copy of MyNewPackage and check it out again:

svn co svn+ssh://svn.cern.ch/reps/desyatfw/CommonAnalysis/YourChoice/MyNewPackage/trunk MyNewPackage
cd MyNewPackage
source setup.sh
make
sframe/addpackage.txt · Last modified: 2014/03/14 12:30 by clange