GNOME Bugzilla – Bug 692421
Can't see both 0.10 and 1.0 doc in devhelp
Last modified: 2013-01-28 19:43:56 UTC
Created attachment 234271 [details] [review] gtk-doc*.mak: Put the API version in the html book name It seems that the devhelp eliminates duplicated doc based on the book name. We don't set a versioned name there, so both 0.10 and 1.0 do have the same name.. Attached patch names it according to the API version. @ensonic: Can you check if I understood the gtk-doc bit correctly?
The way to fix this is to set this tag <ulink role="online-location" url="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/">...</ulink> in gstreamer-docs.html
The problem with that is of course that the 0.10 releases all used that URL as well, and we can't change that now, since we can't change the past. However, we could use http://gstreamer.freedesktop.org/data/doc/gstreamer/1.0/gstreamer/html/ I was hoping/planning to have 1.0, 1.2, 1.4, etc. in future but the bit that's still missing is some makefile variable that maps 1.1.x to "1.2" and 1.3.x to 1.4. (Versus the old scheme where we had /0.10.35/ /0.10.35.1/ /0.10.36/, etc. Point being that future versions (1.1.x, 1.2.x 1.3.x) may not end up in /1.0/
I've tried various things today. At first Oliviers changes won't hurt and makes things a little less special in our gtk-doc makefiles. Other projects like gtk use e.g. DOC_MODULE=gtk{2,3}. If we do this, we have to rename a couple of files though (gstreamer-docs.sgml -> gstreamer-1.0-docs.sgml). At that time we could also rename them to xml :) On the actual problem, neither the patch attached here, nor what I proposed in #2 does fix the issue for me :/ I'll try to build devhelp myself and add some diagnostics. Olivier, why do you think it is caused by the <ONLINE href>-tag in index.sgml? For example I can see gst-plugins-base-plugins for both 0.10 and 1.0, depite: > head -n2 gst-plugins-base-plugins-{1.0,0.10}/index.sgml ==> gst-plugins-base-plugins-1.0/index.sgml <== <ONLINE href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base/html/"> <ANCHOR id="gst-plugins-base-plugins-adder" href="gst-plugins-base-plugins-1.0/gst-plugins-base-plugins-adder.html"> ==> gst-plugins-base-plugins-0.10/index.sgml <== <ONLINE href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base/html/"> <ANCHOR id="gst-plugins-base-plugins-adder" href="gst-plugins-base-plugins-0.10/gst-plugins-base-plugins-adder.html">
I had a look at the devhelp source code, the thing that matters is the "name" attribute in the <book> tag in the .devhelp2 file, and it seems to be directly set by the name passed to the gtkdoc-mkhtml command.
For me, just changing the attribute in the installed file by hand fixed it.
Okay, I figured it out. We also need to update the part were we install the devhelp2 files: @@ -289,9 +286,9 @@ install-data-local: $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \ done; \ fi; \ - echo '-- Installing $(builddir)/html/$(DOC_MODULE).devhelp2' ; \ - if test -e $(builddir)/html/$(DOC_MODULE).devhelp2; then \ - $(INSTALL_DATA) $(builddir)/html/$(DOC_MODULE).devhelp2 \ + echo '-- Installing $(builddir)/html/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2' ; \ + if test -e $(builddir)/html/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2; then \ + $(INSTALL_DATA) $(builddir)/html/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2 \ $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2; \ fi; \ $(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR) || true ; \ Olivier, can you update your change and push? Otherwise I can do it later tonight as well.
Created attachment 234646 [details] [review] gtk-doc*.mak: Put the API version in the html book name
commit 2de221ce94b657f9c9a75aa3cc0cb84dbb5da78b Author: Olivier Crête <olivier.crete@collabora.co.uk> Date: Mon Jan 28 20:28:09 2013 +0100 gtk-doc*.mak: Put the API version in the html book name This causes devhelp2 files to get a version. Due to that devhelp can show it along with the 0.10 version.