ROOT for DebianScience

* DebianScience

Obsolete text on this page has been archived at ["DebianScienceROOT/Obsolete"].

Debian (unofficial) packages

        deb ../project/experimental main

Technical issues for packaging

The approach is that the ROOT source tree contains [ scripts] and [ templates] to deal with packaging in general (that is for Debian and RPM), as well as some [ Debian] and [ RPM] specific templates.

The debian packaging directory is then build by running the script [], 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 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!