gtkmm 3.0 docs don't work in devhelp

Bug #886705 reported by Mathias Hasselmann
22
This bug affects 4 people
Affects Status Importance Assigned to Milestone
gtkmm3.0 (Ubuntu)
Triaged
Undecided
Unassigned

Bug Description

/usr/share/devhelp/books/gtkmm-3.0/gtkmm-3.0.devhelp2 declares /usr/share/doc/gtkmm-3.0/reference/html as base directory for its files, but libgtkmm-3.0-doc installs the files in /usr/share/doc/libgtkmm-3.0-doc/reference/html

so either debian/libgtkmm-3.0-doc.install must be fixed:

-usr/share/doc/gtkmm-3.0/* usr/share/doc/libgtkmm-3.0-doc
+usr/share/doc/gtkmm-3.0/* usr/share/doc/gtkmm-3.0-doc

or the base attribute of gtkmm-3.0.devhelp2 must be adjusted.

which solution do you prefer, so that i can do the patch?

affects: ubuntu → gtkmm3.0 (Ubuntu)
Changed in gtkmm3.0 (Ubuntu):
status: New → Confirmed
Revision history for this message
Murray Cumming (murrayc) wrote :

That base attribute valueof the <book> tag in the .devhelp2 file is apparently set during make install (but only in the copy that is installed, not the original) by this line of the (generated) Makefile:

  devhelp_install = $(doc_install_cmd) --book-base='$(htmlrefdir:/=)'

For instance, you will see these lines during make install

  /bin/mkdir -p '/opt/gnome/share/devhelp/books/gtkmm-3.0'
  /usr/bin/perl -- "../docs/doc-install.pl" --verbose --mode=0644 --book-base='/opt/gnome/share/doc/gtkmm-3.0/reference /html' -t '/opt/gnome/share/devhelp/books/gtkmm-3.0' -- reference/gtkmm-3.0.devhelp2
  doc-install: Using base path /opt/gnome/share/doc/gtkmm-3.0/reference/html for Devhelp book
  doc-install: Translating gtkmm-3.0.devhelp2 (rewrote base path)

(That doc-install perl script is from mm-common.)

That htmlrefdir is based on the standard datarootdir variable. Presumably the debian package passes --datarootdir to configure to change the default, though I don't see where that is done here:
  http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/oneiric/gtkmm3.0/oneiric/files/head:/debian/
That htmlrefdir is apparently also used when installing the .html files, so I wonder how the two locations could get out of sync.

Maybe they use a patch, because I don't see how else you could change gtkmm-3.0 to libgtkmm-3.0 in the $(book_name) here:
  libdocdir = $(datarootdir)/doc/$(book_name)
  referencedir = $(libdocdir)/reference
  htmlrefdir = $(referencedir)/html

It feels like a debian/Ubuntu packageing bug but I'd welcome a patch for upstream gtkmm if it turns out that we are not really doing what the debian/Ubuntu package asks us to do.

Revision history for this message
Martin Pitt (pitti) wrote :

@Mathias: Packages need to install their docs into /usr/share/doc/<packagename>/, so /usr/share/doc/libgtkmm-3.0-doc/ is correct. So we indeed need to fix the .devhelp2 file.

@Murray: "make install" only installs into debian/tmp/, from where the various debian/<packagename.install> files grab files and distribute them into the various binary package directories. As that says "install debian/tmpusr/share/doc/gtkmm-3.0 into usr/share/doc/libgtkmm-3.0-doc", this explains the "out of sync".

So if we can configure the package to install the files into usr/share/doc/libgtkmm-3.0-doc right away, then the .install file can become simpler, and the .devhelp contents should be correct, too. Mathias, do you want to investigate this?

Changed in gtkmm3.0 (Ubuntu):
status: Confirmed → Triaged
Revision history for this message
Mark (gwh46) wrote :

Maybe the packagers could just add a symlink from /usr/share/doc/gtkmm-3.0/reference to /usr/share/doc/libgtkmm-3.0-doc/reference for the time being?

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.