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 -- marcot http://marcot.eti.br/ [Flattr=54498]
signature.asc
Description: PGP signature