[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: binNMU for Arch: all packages.

Hi Yves-Alexis.

Excerpts from Yves-Alexis Perez's message of Sex Jan 14 19:22:31 -0200 2011:
> On ven., 2011-01-14 at 18:05 -0200, Marco Silva wrote:
> > This documentation is generated automatically
> > from the source code, using a documentation generator called haddock.  Haddock
> > is part of the compiler and is also updated when the ghc is.  It would be
> > good to regenerate the documentation for each library too, when a new ghc
> > arrives. 
> I don't really know anything about haskell, but is it really needed to
> regenerate library docs each time the compiler is updated?

Yes, in the current scheme, unfortunately it is.

> What does it give?

There are two issues.  The first one is related to the indexer.  Whenever a new
haskell package is installed, there's a code that includes the modules that it
export in the main index of the documentation.  If the version of haddock
installed is different from the version of haddock that produced the
documentation being installed, it won't show this package in the main index.
This happens because when the compiler is updated, the representation of the
Haskell code changes, and this affects haddock.

It is possible to deal with this issue by changing the way the index is
generated.  But the other issue is that sometimes the haddock version changes
during compiler updates, and the documentation produced change very much.  For
instance, [0] was the documentation produced in ghc-6.12.3, and [1] is the
documentation produced in ghc-7.0.1.  I believe it's better for the user to
have access to all features and bug fixes of newer haddock, instead of sticking
with older haddock versions to avoid recompilation.

Currently, we move the .haddock file to -dev packages (which are Arch: any) in
order to avoid the first issue.  This causes [2].  Also, it makes the whole
documentation be generated when a -dev package is built, so it's already
generated in all arches, only ignored.

The best option to fix this issue I can see is if it was possible to do binNMUs
for Arch: all packages.  There are some options to workaround the fact that we
can't binNMUs Arch: all packages, which are: change the -doc package to Arch:
any; do sourceful uploads instead of binNMUs.  Both options are not ideal, but
I prefer the first, because sourceful uploads for a 200 package stack would
need a lot of work.

I talked about this issue on #debian-devel and mrvn asked me to change the
wanna-build / buildd / sbuild interface to accept this.  Well, I have no idea
about how to do it, since I've never worked on these packages, but if this is
something the developers of these package are willing to accept, I could help
on the implementation.

Thanks for your answer.

0: http://haskell.org/ghc/docs/6.12.3/html/libraries/index.html
1: http://haskell.org/ghc/docs/7.0.1/html/libraries/index.html
2: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=586723

Attachment: signature.asc
Description: PGP signature

Reply to: