gtkmm 3.0 docs don't work in devhelp

Bug #886705 reported by Mathias Hasselmann on 2011-11-05
This bug affects 4 people
Affects Status Importance Assigned to Milestone
gtkmm3.0 (Ubuntu)

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
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/" --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:
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.

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
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  Edit
Everyone can see this information.

Other bug subscribers