1. ROOT for DebianScience
Obsolete text formerly on this page has been archived at ["DebianScienceROOT/Obsolete"].
1.1. The plan for official Debian packages
[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=325306 ITP] submitted by ChristianHolm.
- FTPmaster rejected these packages on the grounds of licensing issues. In the mean time, these issues have been worked out with the upstream authors and 3rd party developers.
- Since then, the debian/copyright file has been greatly expanded, and the copyright holders of the non-free material were contacted and agreed to relicense it under LGPL. New ROOT packages targeted at "experimental" were uploaded to the NEW queue on November 3, 2006.
The intent is to upload ROOT "development" versions 5.odd.xx only to "experimental", and ROOT "production" versions 5.even.00 to "unstable", allowing the production versions to propagate into testing and stable over time.
Unfortunately the next production release of ROOT, 5.14.00, is not expected until post-Etch, but we intend to upload ROOT 5.14 to [http://backports.org backports.org] for Etch users once it is in unstable.
- To use the experimental archive, add the following to your "/etc/apt/sources.list", where "NN" is your favorite mirror (say, us, no, fi, jp, or dk), and run "apt-get update":
deb ftp://ftp.NN.debian.org/debian/ ../project/experimental main
1.2. The current unofficial repository
ROOT [http://lists.debian.org/debian-science/2005/08/msg00056.html provides a direct way to build deb packages from the sources] but is not in Debian main.
See [http://mirror.phy.bnl.gov/debian-root/ the unofficial ROOT deb repository] for some build instructions and a repository for unstable (i386, amd64, powerpc) and stable (i386 only).
[http://lists.debian.org/debian-science/2005/08/msg00101.html buildd] point is very attractive to ROOT
[http://lists.debian.org/debian-science/2005/08/msg00101.html previously] ported ROOT to Debian GNU/Hurd
Looks for testers on [http://lists.debian.org/debian-science/2005/08/msg00101.html non-i386] Debian architectures.
1.3. Technical issues for packaging
The approach is that the ROOT source tree contains [http://root.cern.ch/viewcvs/build/package/lib/ scripts] and [http://root.cern.ch/viewcvs/build/package/common templates] to deal with packaging in general (that is for Debian and RPM), as well as some [http://root.cern.ch/viewcvs/build/package/debian Debian] and [http://root.cern.ch/viewcvs/build/package/redhat RPM] specific templates.
The debian packaging directory is then build by running the script [http://root.cern.ch/viewcvs/build/package/lib/makedebdir.sh makedebdir.sh], followed by fakeroot debian/rules debian/control. The packaging scripts will try to build as many packages as possible on the build host. Note, that that sometimes means that you can get packages that wouldn't be possible on a pristine build system.
Note, that this scheme does not change the way the packages are built. It merely changes how the debian directory is prepared. After the debian directory is made, the developer can still tweak it to fit the system. Of course, such tweaks should eventually be propegated back to the packaging scripts in ROOT itself, to assure consistency.
In the eventual "official" Debian packages to come, the package maintainer would presumably run these two commands himself before dpkg-buildpackage, and the results of the commands (for instance the debian/ directory) would therefore enter into the diff.gz of the source package. Thus the source package uploaded to Debian would always be buildable with the normal steps of dpkg-buildpackage -rfakeroot.
If an end-user does apt-get source root and then re-runs the makedebdir script, it will overwrite the existing debian directory with information about the dependencies installed on the end-user's system. Hence an end-user may recompile Debian packages of ROOT building with support for unofficial (non-DFSG-free) libraries.
It is important that the maintainer ensure that he has all the needed "official" build-depends installed on his system when running the makedebdir.sh script, and none of the "unofficial" non-DFSG-free libraries (e.g. Pythia) installed, perhaps by building on a pristine machine or in a pristine chroot. That is, use pbuilder :-). In any case, official packages are not allowed to munge debian/control in such a way that their Build-Depends change during the dpkg-buildpackage step!
[http://root.cern.ch/root/License.html ROOT License] is now LGPL.
The production version of ROOT (5.08 as of Jan 8, 2005) is LGPL'ed. The LGPL only applies to version 5.03 and higher of ROOT; prior versions still have the [http://root.cern.ch/viewcvs/LICENSE?rev=1.2&content-type=text/vnd.viewcvs-markup original] non-free license.
[http://lists.debian.org/debian-legal/2003/01/msg00278.html Debian legal thread] and [http://lists.debian.org/debian-science/2005/08/msg00085.html why] it is never too much to be careful about licenses. Long-awaited [http://lists.debian.org/debian-science/2005/08/msg00087.html fix] to the problem has now been implemented.
[http://people.debian.org/~kmccarty/physics-software-rant.html educational article on licensing and more]
[http://lists.debian.org/debian-science/2005/08/msg00066.html Brad Sawatzky] among [http://mirror.phy.bnl.gov/debian-root/#thanks others].