gtkdoc-rebase local: broken links to other books since gtk-doc 1.29
The ModemManager project contains two documentation references: the generic MM API reference (named "ModemManager") and the libmm-glib library reference (named "libmm-glib"). Here's the link to the documentation directory in the MM gitlab: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/tree/master/docs/reference
The libmm-glib library reference refers to generic symbols from the API reference, as well as to glib/gobject/gio symbols.
Using gtk-doc 1.28 and earlier (tested backwards up to 1.25), the make install
step in ModemManager would run gtkdoc-rebase
and the libmm-glib library reference would successfully link all ModemManager/glib/gobject/gio references using relative paths.
With gtk-doc 1.29, the gtkdoc-rebase
step shows the following:
../ModemManager/ -> ../sr/share/gtk-doc/html/ModemManager (914)
../gio/ -> ../sr/share/gtk-doc/html/gio (2564)
../glib/ -> ../sr/share/gtk-doc/html/glib (5654)
../gobject/ -> ../sr/share/gtk-doc/html/gobject (499)
And after that, all reference links are broken. Looking at the generated HTML, the relative links end up starting with ../sr/
like this:
<td class="function_type">
<a href="../sr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerAllowedAuth"><span class="returnvalue">MMBearerAllowedAuth</span></a>
</td>
This breaks the references between books, not only between libmm-glib and ModemManager, but also between libmm-glib and glib/gobject/gio. In Devhelp we get an error like: Error opening file /usr/share/gtk-doc/html/sr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html: No such file or directory
Is this a regression in 1.29? Or a misconfiguration of some sort in the autotools-based gtk-doc setup in ModemManager?