Bug#818787: doxygen: Changes default HAVE_DOT to YES without having graphviz in the Depends line.
Control: severity -1 important Hi, On Wed, Mar 23, 2016 at 04:50:34PM +0100, Matthias Klose wrote: > On 22.03.2016 17:12, Santiago Vila wrote: > >Dear Matthias: > > > >If the default HAVE_DOT is changed to "no", it is relatively easy to > >check which packages would need to add "graphviz" to their build-depends. > >(See the thread in -devel about this). > > > >In other words: If you think that's the right fix (I do), don't worry > >about the additional bugs that will have to be reported as a > >consequence. > > I think, these packages should explicitly build-depend on graphviz. You > didn't find that many. OK. Downgrading based on the input of the maintainer. Cheers, Ivo
Processed: Re: Bug#818787: doxygen: Changes default HAVE_DOT to YES without having graphviz in the Depends line.
Processing control commands: > severity -1 important Bug #818787 [doxygen] doxygen: Changes default HAVE_DOT to YES without having graphviz in the Depends line. Severity set to 'important' from 'serious' -- 818787: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=818787 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
Bug#818787: doxygen: Changes default HAVE_DOT to YES without having graphviz in the Depends line.
Hi, I’m one of the nobodies that looks at my build logs. I noticed five instances of sh: 1: dot: not found error: Problems running dot: exit code=127, command='dot', arguments='"…/graph_legend.dot" -Tpng -o "…/graph_legend.png"' in the openafs build log, and indeed Doxygen is generating graph_legend.html files that link to a missing graph_legend.png. There are no explicit uses of dot. Doxygen decided to do this itself, by default. You can reproduce this error just by running doxygen -g; doxygen in an empty directory without graphviz installed. I think it’s hard to argue that an empty Doxygen project should be expected to manually declare a build dependency on graphviz. Anders
Bug#818787: doxygen: Changes default HAVE_DOT to YES without having graphviz in the Depends line.
On 22.03.2016 17:12, Santiago Vila wrote: Dear Matthias: If the default HAVE_DOT is changed to "no", it is relatively easy to check which packages would need to add "graphviz" to their build-depends. (See the thread in -devel about this). In other words: If you think that's the right fix (I do), don't worry about the additional bugs that will have to be reported as a consequence. I think, these packages should explicitly build-depend on graphviz. You didn't find that many.
Bug#818787: doxygen: Changes default HAVE_DOT to YES without having graphviz in the Depends line.
Dear Matthias: If the default HAVE_DOT is changed to "no", it is relatively easy to check which packages would need to add "graphviz" to their build-depends. (See the thread in -devel about this). In other words: If you think that's the right fix (I do), don't worry about the additional bugs that will have to be reported as a consequence. Thanks.
Bug#818787: doxygen: Changes default HAVE_DOT to YES without having graphviz in the Depends line.
I believe the attached patch is closer to the "right" fix. Presumably, packages actually requiring the dot command will have an override for this variable in their Doxyfiles. Thanks.--- a/src/config.xml +++ b/src/config.xml @@ -3104,7 +3104,7 @@ where `loc1` and `loc2` can be relative or absolute paths or URLs. - +
Bug#818787: doxygen: Changes default HAVE_DOT to YES without having graphviz in the Depends line.
Note 2: The easy fix does not necessariñy have to be the right fix. As Bas Wijnen points out in -devel: > If the program can be used without it, it should not be a Depends. That's > what > Recommends are for.
Bug#818787: doxygen: Changes default HAVE_DOT to YES without having graphviz in the Depends line.
Note: The changelog says (year 2000) graphviz is in the Suggests because it was non-free, which clearly is not the case anymore. So, the easy fix for this bug is to move graphviz to the Depends line (see the attached patch). (Well, easy, but even after this, we would still have to rebuild all the affected packages). Thanks.--- a/debian/control +++ b/debian/control @@ -30,8 +30,8 @@ XS-Testsuite: autopkgtest Package: doxygen Architecture: any Multi-Arch: foreign -Depends: ${shlibs:Depends}, ${misc:Depends} -Suggests: doxygen-latex, doxygen-doc, doxygen-gui, graphviz +Depends: ${shlibs:Depends}, ${misc:Depends}, graphviz +Suggests: doxygen-latex, doxygen-doc, doxygen-gui Conflicts: graphviz (<< 1.12) Description: Documentation system for C, C++, Java, Python and other languages Doxygen is a documentation system for C, C++, Java, Objective-C, Python, IDL
Bug#818787: doxygen: Changes default HAVE_DOT to YES without having graphviz in the Depends line.
Package: doxygen Version: 1.8.11-1 Severity: serious Hello again Matthias. If packages having a "Build-Depends: doxygen" may assume that graphviz is installed, then doxygen should have a line like this: Depends: graphviz Currently, this is only a Suggests. If, on the other side, packages having a "Build-Depends: doxygen" may not assume that graphviz is installed, then doxygen should respect the default upstream value for HAVE_DOT which is NO. Currently, this is changed in debian/patches/dot-config.diff to 1, i.e. YES, which according to documentation it means "doxygen will assume the dot tool is available from the path". The current status where doxygen believes that dot is installed but does not enforce it with a Depends line makes a lot of packages to generate incorrect documentation, which combined with #818379 makes a lot of packages already in the archive to be actually incorrect. In fact, I was going to report a lot of bugs about packages not having a Build-Depends: graphviz, but then I read this report: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=778478 where I found about the HAVE_DOT variable. I'm setting this to serious because it breaks a lot of packages. Thanks.