Re: Debian packaging

From: Christian Holm Christensen <cholm_at_nbi.dk>
Date: Tue, 12 Jul 2005 17:10:16 +0200


Hi Ricardo,

On Tue, 2005-07-12 at 08:25 -0400, Ricardo Yanez wrote:
> On Fri, 2005-07-08 at 11:48 +0200, Christian Holm Christensen wrote:
> > Hi Richardo,
> > I'd like to discourage this kind of dual effort. If you have some
> > problem with the way it's currently done, please write me (as I'm the
> > one that does most of this packaging stuff in the first place) or
> > possibly the list, and we can discuss it. The ROOT team is quite
> > willing to make reasonable modifications to advance system integration.
> >
>
> Basically, you want to turn everything "on", that is, compile and
> package with all available support. If I want, say, Python support, I
> would anyway have to configure and compile the old-fashioned way.

Why? If the python can be build on the target platform, the 2 commands

	build/package/lib/makedebdir.sh
 	fakeroot debian/rules debian/control

will put the relevant stuff in `debian/control', and similar for other stuff.

The reason that the scripts try to compile as much stuff as possible, is due to the way ROOT is build and distributed. After all, one can always de-select packages at install time.

I'd prefer is ROOT was distributed in a slightly different way, so that there'd be one core ROOT (consisting of what is essential to ROOT only), and a number of plug-in packages. So one would have a CVS repository like

	cvs_at_root.cern.ch:/user/cvs -+- root               # The core
			            +- root-plugins
                                    |    +- gl
	                            |    +- mysql
	                            |    +- sapdb
	                            |    +- globus
                                    ...
                                    +- root-contrib
					 +- xrootd
	                                 ...

and the requirement would be to install `root' first, and then build what ever appropriate plug-ins later. This would also ease the maintenance of ROOT, in that different groups could have write access to the various plug-in directories. This architecture could be expanded to the run-time environment, so that plug-in packages would put loadable modules in some directory (say <prefix>/lib/root/plugins), and some sort of registration script in another directory (say <sysconfig>/root/plugins). It wouldn't actually be so hard to do this, as most of the infrastructure is there already.

> The
> makedebdir.sh script, although pretty elegant, gives you a generic ROOT
> compilation.

I'm not sure I understand what you mean by `generic' here. I'd argue that it's actually gives you a rather particular set of packages that matches what can be build on the target machine.

> Why not have a full featured debian directory in the source
> tree instead, that fully complies with Debian Policy?

Well, what

	build/package/lib/makedebdir.sh
 	fakeroot debian/rules debian/control

basically does, is to make that directory, that fully complies with the Debian Policy. These two lines (which are in the `debian' target of the Makefile), does exactly what a maintainer normally does by hand - it prepares the sources for Debian package building, and the `.diff' reflects that.

> > I think you should use the normal ROOT Debian packaging stuff at this
> > repository, to not confuse things too much. Anyway, good to see that
> > you are willing to put the packages out there (even though the license
> > technically forbids it :-)
> >
>
> What do you mean? The source is intact, as required by Debian, except
> that I have removed the Microsoft TT fonts, freetype and afterimage
> tarballs and force-compiled with the versions distributed by Debian. The
> debian directory in created on the fly with the help of the diff file
> when you apt-get the source. If you don't want this, you can download
> the source the normal way and use the makedebdir.sh.

The hick-up, is the line

        Additionally, the authors grant permission to modify this
        software and its documentation for any purpose, provided that
        such modifications are not distributed without the explicit
        consent of the authors and that existing copyright notices are
        retained in all copies. 

in the ROOT license. Debian's reading of this, is that for Debian packages you need an `explicit consent' from the authors, even though not a single source line has changed. Debian is reading this rather strictly, so that `modifications' also encompasses repackaging, even thought that might not be the spirit of the licence.

Yours,

-- 
 ___  |  Christian Holm Christensen 
  |_| |  -------------------------------------------------------------
    | |  Address: Sankt Hansgade 23, 1. th.  Phone:  (+45) 35 35 96 91
     _|           DK-2200 Copenhagen N       Cell:   (+45) 24 61 85 91
    _|            Denmark                    Office: (+45) 353  25 404
 ____|   Email:   cholm_at_nbi.dk               Web:    www.nbi.dk/~cholm
 | |
Received on Tue Jul 12 2005 - 17:10:31 MEST

This archive was generated by hypermail 2.2.0 : Tue Jan 02 2007 - 14:45:10 MET