After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 785139 - api-index for specific versions not generated in HTML
api-index for specific versions not generated in HTML
Status: RESOLVED OBSOLETE
Product: gtk-doc
Classification: Platform
Component: general
1.25
Other Linux
: Normal normal
: ---
Assigned To: gtk-doc maintainers
gtk-doc maintainers
: 783181 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2017-07-19 17:23 UTC by Sébastien Wilmet
Modified: 2018-05-22 13:11 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Result of `GTKDOC_TRACE=debug make >debug.log 2>&1` in gspell (284.93 KB, application/gzip)
2017-07-26 18:48 UTC, Sébastien Wilmet
Details

Description Sébastien Wilmet 2017-07-19 17:23:18 UTC
I've found another regression after the Python port of gtk-doc (up-to-date from git master, at commit 8f451a6).

For example in gspell after running `make`:

$ cd docs/reference/
$ ls -1 xml/api-index-*
xml/api-index-1.2.xml
xml/api-index-1.4.xml
xml/api-index-1.6.xml
xml/api-index-deprecated.xml
xml/api-index-full.xml
$ ls -1 html/api-index-*
html/api-index-full.html

(There are no deprecated symbols in gspell so I think it's normal that api-index-deprecated.html is not generated).

api-index-1.2.html etc are missing.

See:
https://git.gnome.org/browse/gspell/tree/docs/reference/gspell-docs.xml.in?h=1.5.3#n63

I have the same problem with other modules.
Comment 1 Stefan Sauer (gstreamer, gtkdoc dev) 2017-07-19 19:35:56 UTC
Can you please attach a build log? Please also mention if your using python 2 or 3. FYI in the test suite it works for both py2/3:
> find . -name "api-index-0*.xml" -exec ls -al {} \;
-rw-r----- 1 ensonic users 1307 Jul 19 21:34 ./tests/gobject/docs/xml/api-index-0.1.xml
-rw-r----- 1 ensonic users 855 Jul 19 21:34 ./tests/gobject/docs/xml/api-index-0.5.xml
-rw-r----- 1 ensonic users 604 Jul 19 21:35 ./tests/bugs/docs/xml/api-index-0.1.xml
Comment 2 Sébastien Wilmet 2017-07-22 09:51:09 UTC
(In reply to Stefan Sauer (gstreamer, gtkdoc dev) from comment #1)
> Can you please attach a build log?

A build log as in:
$ make V=1
or:
$ GTKDOC_TRACE=debug make >debug.log 2>&1
?

> Please also mention if your using python 2 or 3.

I see that for example gtkdoc-mkhtml has the shebang #!/usr/bin/python and on my system (Fedora 26), /usr/bin/python is a symlink to /usr/bin/python2. So I guess that gtk-doc uses Python 2, even though Python 3 is installed (and I would prefer if gtk-doc uses Python 3 of course).

> FYI in the test suite it works for both py2/3:
> > find . -name "api-index-0*.xml" -exec ls -al {} \;
> -rw-r----- 1 ensonic users 1307 Jul 19 21:34
> ./tests/gobject/docs/xml/api-index-0.1.xml
> -rw-r----- 1 ensonic users 855 Jul 19 21:34
> ./tests/gobject/docs/xml/api-index-0.5.xml
> -rw-r----- 1 ensonic users 604 Jul 19 21:35
> ./tests/bugs/docs/xml/api-index-0.1.xml

Note that the XML files are correctly generated, the bug is that the *HTML* pages are not generated.

After running `make check` in gtk-doc:
$ cd tests/gobject/docs/
$ find . -name "api-index-*.html" -exec ls -al {} \;
-rw-rw-r-- 1 seb seb 9788 Jul 22 11:38 ./html/api-index-full.html

api-index-0.1.html and api-index-0.5.html are missing.
Comment 3 Stefan Sauer (gstreamer, gtkdoc dev) 2017-07-24 12:01:27 UTC
A build log as in: GTKDOC_TRACE=debug make >debug.log 2>&1

You can select the python version through PYTHON=/usr/bin/python3. The env-vars are printed at the end of configure.

For me all the html index are generated:
> find . -name "api-index-0*.xml" -exec ls -al {} \;
-rw-r----- 1 ensonic eng 1307 Jul 19 21:34 ./gobject/docs/xml/api-index-0.1.xml
-rw-r----- 1 ensonic eng 855 Jul 19 21:34 ./gobject/docs/xml/api-index-0.5.xml
-rw-r----- 1 ensonic eng 604 Jul 19 21:35 ./bugs/docs/xml/api-index-0.1.xml
> find . -name "api-index-0*.html" -exec ls -al {} \;
-rw-r----- 1 ensonic eng 2262 Jul 19 21:34 ./gobject/docs/html/api-index-0-5.html
-rw-r----- 1 ensonic eng 2910 Jul 19 21:34 ./gobject/docs/html/api-index-0-1.html
-rw-r----- 1 ensonic eng 1870 Jul 19 21:35 ./bugs/docs/html/api-index-0-1.html
Comment 4 Sébastien Wilmet 2017-07-26 18:48:09 UTC
Created attachment 356442 [details]
Result of `GTKDOC_TRACE=debug make >debug.log 2>&1` in gspell
Comment 5 Stefan Sauer (gstreamer, gtkdoc dev) 2017-08-04 15:16:41 UTC
Your master doc:
https://git.gnome.org/browse/gspell/tree/docs/reference/gspell-docs.xml.in
references since indexes for 1.2, 1.4, 1.6

gtk-doc is creating the xml files:

2017-07-26 20:44:47,225:mkdb.py:OutputIndex:877:INFO:generate api-index-full index (82 entries) with namespace GSPELL
2017-07-26 20:44:47,238:mkdb.py:OutputIndex:877:INFO:generate api-index-deprecated index (0 entries) with namespace GSPELL
2017-07-26 20:44:47,238:mkdb.py:OutputIndex:877:INFO:generate api-index-1.4 index (13 entries) with namespace GSPELL
2017-07-26 20:44:47,241:mkdb.py:OutputIndex:877:INFO:generate api-index-1.6 index (1 entries) with namespace GSPELL
2017-07-26 20:44:47,241:mkdb.py:OutputIndex:877:INFO:generate api-index-1.2 index (4 entries) with namespace GSPELL

The html files are created with docbook. If the other html files are created, I don't see why the index-html files would not be created, they are part of the same document.

Is your build expanding gspell-docs.xml.in to gspell-docs.xml ? Otherwise gtk-doc will create a default one.
Comment 6 Sébastien Wilmet 2017-08-04 15:36:17 UTC
(In reply to Stefan Sauer (gstreamer, gtkdoc dev) from comment #5)
> Is your build expanding gspell-docs.xml.in to gspell-docs.xml ? Otherwise
> gtk-doc will create a default one.

Yes docs/reference/gspell-docs.xml is listed in AC_CONFIG_FILES in the configure.ac.
Comment 7 Stefan Sauer (gstreamer, gtkdoc dev) 2017-08-07 21:39:28 UTC
I just run jhbuild for the better part of my evening and the indexes are all there:

gnome-jhbuild-install:> ll share/gtk-doc/html/gspell-1.0/
insgesamt 388
-rw-r--r-- 1 ensonic users  2240  7. Aug 23:32 annexes.html
-rw-r--r-- 1 ensonic users  4051  7. Aug 23:32 annotation-glossary.html
-rw-r--r-- 1 ensonic users  2976  7. Aug 23:32 api-index-1-2.html
-rw-r--r-- 1 ensonic users  5408  7. Aug 23:32 api-index-1-4.html
-rw-r--r-- 1 ensonic users  1958  7. Aug 23:32 api-index-1-6.html
-rw-r--r-- 1 ensonic users 25055  7. Aug 23:32 api-index-full.html
-rw-r--r-- 1 ensonic users  4323  7. Aug 23:32 api-reference.html
...

I am not sure what I can do to help :/
Comment 8 Sébastien Wilmet 2017-08-08 08:41:22 UTC
I have the same problem in gtk-doc/tests/gobject/, with both python2 and python3.

It's maybe a bug in a gtk-doc dependency (but I don't know much how gtk-doc internals work). Or a difference in the system configuration.
Comment 9 Sébastien Wilmet 2017-08-08 10:08:36 UTC
Curious, I've tested on another computer with Fedora 25, and the html files are correctly generated. So for me the bug happens only with Fedora 26.
Comment 10 Stefan Sauer (gstreamer, gtkdoc dev) 2017-08-10 15:26:42 UTC
Maybe docbook stylesheet versions? Can you post the version for each system?
Comment 11 Sébastien Wilmet 2017-08-10 18:29:49 UTC
(In reply to Sébastien Wilmet from comment #0)
> I've found another regression after the Python port of gtk-doc

Oh actually I was wrong, with the gtk-doc version before the Python port (at commit e0fd760), the bug also happens.

On Fedora 26 I have those docbook packages installed:
docbook-utils-0.6.14-42.fc26.noarch
docbook-style-xsl-1.79.2-4.fc26.noarch
docbook-style-dsssl-1.79-23.fc26.noarch
docbook-dtds-1.0-66.fc26.noarch

I don't have access right now to the Fedora 25 system, but I see on koji docbook-style-xsl-1.79.1-1.fc25:
https://koji.fedoraproject.org/koji/packageinfo?packageID=1072
Comment 12 Sébastien Wilmet 2017-08-10 18:34:32 UTC
And downgrading on docbook-style-xsl-1.79.1-1.fc25 fixes the bug!
Comment 13 Stefan Sauer (gstreamer, gtkdoc dev) 2017-08-11 10:57:24 UTC
I have 1.79.0-3.2 on OpenSUSE Tumbleweed and those are good too. 
I did not see anything obvious from a quick look at the relnotes:
http://docbook.sourceforge.net/release/xsl/current/NEWS.html
nor did I see an open bug for this issue. I've files
https://sourceforge.net/p/docbook/bugs/1401/
but it would be awesome if you could check with the fedora folks and investigate the delta between docbook-style-xsl-1.79.2 and docbook-style-xsl-1.79.1.
I've it is an issue with the fedora package, please comment on the sf.net bug, I have limited online access in the next days.
Comment 14 Sébastien Wilmet 2017-08-13 11:01:23 UTC
I've filed this bug for Fedora:
https://bugzilla.redhat.com/show_bug.cgi?id=1480983

The docbook-style-xsl package on Fedora has some downstream patches, so the bug is maybe specific to Fedora.
Comment 15 Philip Withnall 2017-10-27 11:14:28 UTC
*** Bug 783181 has been marked as a duplicate of this bug. ***
Comment 16 Stefan Sauer (gstreamer, gtkdoc dev) 2017-10-27 18:20:46 UTC
FYI: On the upstream ticket I filed for the xsl-stylesheets people mentioned that the build the project with a new process and this might cause this. Setting up a repro for that will take some time though.
Comment 17 Stefan Sauer (gstreamer, gtkdoc dev) 2017-12-04 19:26:46 UTC
I have now tried this on debian-testing with
Package: docbook-xsl
Version: 1.79.1+dfsg-2
and there it works as well. Now the question is how the fedora setup differs.
Comment 18 Milan Crha 2018-01-08 12:42:35 UTC
I see a similar issue (xml files for api-index exist, but their html counterparts not) in Fedora 27 and installed docbook packages:
   docbook-style-dsssl-1.79-24.fc27.noarch
   docbook-style-xsl-1.79.2-5.fc27.noarch
   docbook-utils-0.6.14-43.fc27.noarch
   docbook-dtds-1.0-67.fc27.noarch
Comment 19 Milan Crha 2018-01-08 16:14:32 UTC
The main difference in Fedora might be the use of 1.79.2 version, the upstream release [1]. I tried this command on the sources from which the packages are built (with applied custom Fedora patches):

   $ diff -upr docbook-xsl-1.79.1 docbook-xsl-1.79.2 | wc -l
   114461

Thus not a thing to be just read as a patch (more than 114K lines of changes between the two versions).

[1] https://github.com/docbook/xslt10-stylesheets/releases/tag/release%2F1.79.2
Comment 20 Stefan Sauer (gstreamer, gtkdoc dev) 2018-01-10 19:16:33 UTC
Are there fedora specific patches in the package? I looked at the patches in https://packages.debian.org/stretch/docbook-xsl, but there is nothing related in there. Of course this is 1.79.1 and fedora has 1.79.2. Unfortunately upstream developers are quite since I reported this :/
Comment 21 Sébastien Wilmet 2018-01-11 05:14:52 UTC
(In reply to Stefan Sauer (gstreamer, gtkdoc dev) from comment #20)
> Are there fedora specific patches in the package?

Yes, see:

(In reply to Sébastien Wilmet from comment #14)
> The docbook-style-xsl package on Fedora has some downstream patches, so the
> bug is maybe specific to Fedora.
Comment 22 Milan Crha 2018-01-11 10:51:02 UTC
Just to be a bit more precise, this is what Fedora has for 1.79.2:
http://pkgs.fedoraproject.org/cgit/rpms/docbook-style-xsl.git/tree/?h=f27
applied in this order:
http://pkgs.fedoraproject.org/cgit/rpms/docbook-style-xsl.git/tree/docbook-style-xsl.spec?h=f27#n29
with a comment what the patches do.

And this is for 1.79.1:
http://pkgs.fedoraproject.org/cgit/rpms/docbook-style-xsl.git/tree/?h=f25
applied in this order:
http://pkgs.fedoraproject.org/cgit/rpms/docbook-style-xsl.git/tree/docbook-style-xsl.spec?h=f25#n28
which looks pretty much the same, thus I believe the change is in docbook itself, in the 1.79.2 version, rather than in Fedora custom patches.

I built the package locally with all the custom patches disabled (while keeping the build process as it is in Fedora), thus basically having plain docbook-xsl releases, and with the 1.79.1 I see the api-index-x.y.html files both in the build html/ dir and in the installed files, while with 1.79.2 there are only xml/api-index-x.y.xml files in the build dir, but no corresponding html files.

Thus it's likely it's something what changes in docbook-xsl. It's up to you whether you want to figure out which change caused it or whether you'd close this in favour of bug #749419 comment #8 (and the docbook upstream claim you mentioned above).
Comment 23 GNOME Infrastructure Team 2018-05-22 13:11:45 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/gtk-doc/issues/36.