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.
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:
Once you've added the desired files type
svn commit -m "initial revision of MyNewPackage"
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