Doxygen changes breaks krb5 documentation build
Paolo Greppi
paolo.greppi at libpf.com
Tue Sep 12 03:01:05 EDT 2023
Il 11/09/23 20:57, Sam Hartman ha scritto:
>>>>>> "Tianyu" == Tianyu Chen <sweetyfish at deepin.org> writes:
>
>
> Tianyu> During a local rebuild of krb5, your package failed to
> Tianyu> build.
>
> So, I'm guessing this is related to the upgrade in Debian from doxygen
> 1.9.4 to 1.9.8.
>
> The krb5 build process uses doxygen to generate an xml representation of
> the documentation from a bunch of C header files. Then it uses a pile
> of python scripts which haven't seen much love since the days of python2
> to turn that documentation into rst, and then includes it in a sphinx
> document.
>
> It expects all the doxygen to be in a file called krb5_8hin.xml.
> Unfortunately the new doxygen is breaking up the sources into a bunch of
> different files and including <member> elements to refer to them rather
> than <memberdef> elements including their definition. And so the python
> doesn't find the definitions of the documented functions and the build
> fails because not many rst files are generated.
>
> I am hoping for help at this point.
> I'll continue to look into it, but I'm not familiar with the innards of
> doxygen, nor the xml parser that the krb5 python is using.
I tried running doxygen 1.9.4 and 1.9.8 from the respective Debian
packages in krb5/src/doc with this Doxyfile:
PROJECT_NAME = Kerberos_doxygen
OUTPUT_DIRECTORY = doxy
JAVADOC_AUTOBRIEF = YES
OPTIMIZE_OUTPUT_FOR_C = YES
WARN_IF_UNDOCUMENTED = NO
SHOW_FILES = NO
EXTENSION_MAPPING = hin=C
INPUT = ../../src/include/krb5/krb5.hin
../../doc/doxy_examples
EXAMPLE_PATH = ../../doc/doxy_examples
GENERATE_HTML = NO
GENERATE_LATEX = NO
GENERATE_XML = YES
PREDEFINED = KRB5_DEPRECATED KRB5_OLD_CRYPTO
CLASS_DIAGRAMS = NO
CASE_SENSE_NAMES = NO
QUIET = YES
and both produce 77 files in doxy/xml/, but some files are different.
In particular doxy/xml/krb5_8hin.xml shrinks from 1,9M to 742K, and many
memberdef elements are missing.
This may well be a doxygen bug, can anybody tell if there is any pattern?
Paolo
More information about the krbdev
mailing list