1. ROOT for DebianScience

* DebianScience

1.1. Debian (unofficial) packages

1.1.1. 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.

* N.B. 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.

Question: what happens if an end-user does apt-get source root and then re-runs the makedebdir script? Does it overwrite the existing debian directory with information about the dependencies installed on the end-user's system? (Seems to me that would be the desired outcome.)

Answer: Yes.

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 :-). Remember that packages are not allowed to munge debian/control in such a way that their Build-Depends change during the dpkg-buildpackage step!

1.1.2. Out-dated:

ROOT can be patched to use other fonts if needed, at least for most fonts. However, there are no real substitute for the symbol.ttf font used for Greek letters and the like. One could imagine using something like opens.ttf from OpenOffice.org, but it's not quite the same, and it requires major code changes in ROOT. Another way to deal with all this, would be to use the Computer Modern fonts (TeX fonts), which contains all the needed symbols, though scattered over many font files.

""Update to the above"": Indeed the upstream sources has been patched to be able to use [http://packages.debian.org/unstable/x11/ttf-freefont ?FreeFont] instead of the M$ Core Fonts. Also, a GPL'ed Postscript font was found to be able to substitute the M$ Core Fonts "symbol.ttf". This was converted to a TTF (using http://packages.debian.org/unstable/x11/fontforge ?FontForge]) and submitted upstream. Hence, there are now free alternatives to all fonts for ROOT.

1.2. Licensing

1.3. Obsolete

1.3.1. Repos, etc.

1.3.2. Differences between Ricardo Yanez and ChristianHolm work.

1.4. Thanks