On Sun, Apr 17, 2011 at 10:51 AM, Joachim Breitner <mail@joachim-breitner.de> wrote:
Hi,

Am Sonntag, den 17.04.2011, 14:37 -0300 schrieb Felipe Almeida Lessa:
> On Sun, Apr 17, 2011 at 12:53 PM, Joachim Breitner
> <mail@joachim-breitner.de> wrote:
> > work of 1 module in 10 packages. The new OpenGL packages have split out
> > lots of small packages (OpenGLRaw, StateVar, Tensor, ObjectName). Please
> > review this and see if you can somehow lessen the package number
> > inflation before your version enters the platform.
>
> At least StateVar is very useful outside OpenGL.

I’m not saying it is not useful. But there is very little code and most
of it is rather, well, trivial. So if you need the functionality in one
of your packages only, then you can put it there. If you need it in on
collection of multiple packages with one package dominating the
dependency tree, then put it there.

A package of its own for these few lines is only required if
 * Package A and package B provide an _interface_ in terms of StateVar
 * Neither A depends on B nor B depends on A
 * There will be a package C that not only uses the interface of both A
and B but also combines them, e.g. really requires that the same type is
used in both the interfaces.

Also, small packages without external dependencies can be combined in
one package without much loss. E.g. a package opengl-utils (or some
better name) that provides all of StateVar, Tensor, ObjectName would do
the job equally well.

I know that its tempting to have very fine-grained Cabal packages,
because its so cheap to put them on Hackage and leave it to
cabal-install to install take care of them. Unfortunately, it doesn’t
scale on the Distribution side very well – and we are already trying
hard to keep the per-package maintenance cost down.

In this specific case, I'll do what I can to clean things up but your request makes me pause and think that the debian packaging for cabal packages is not automated enough.  As haskell developers it seems a little odd to me that we need to consider the cost of creating new packages for the sake of debian.  I like debian, so please don't take that the wrong way :)

Thanks for your input!
Jason