Hello Matthew, hello Shaun, Matthew East [2009-08-27 23:19 +0100]: > I've had a chat this evening with Shaun Mccance, the Gnome yelp > maintainer. It seems that yelp gets its paths from rarian, and rarian > gets its paths from the content of the omf files. So we can patch the > omf files (seems to me to be a big job), patch rarian, or use the > symlink idea of Loïc. > > I've pasted the conversation here and hope that it helps! I'm afraid I > was asking rather uninformed questions, as I don't have a good > understanding either of how yelp works, or of how Ubuntu packaging > works. But hopefully it takes things forward a little. > > http://pastebin.ubuntu.com/260590/
Thanks for this conversation! To clarify why we need this dance in the first place: <mdke_> Martin can't put these files in /usr/share/gnome/help because that will break upgrades <shaunm> because it seemed straightforward enough to me to just drop the extra files in the right place One assumption from dpkg (and most probably rpm as well) is that a particular file can only be shipped in one package (at a time). Thus if you have a file /usr/share/gnome/help/foo/foo.xml, which is currently shipped by foo, and then you install a language pack which also ships that file, the package installation will fail. We can enforce that foo is upgraded before the language pack installation, or that the langpack will overwrite files from foo, but that would require said list of 50ish "Replaces:" declarations. This isn't just a transitional problem either: people can install third-party .debs, or locally built packages which include the help files at the original place, and they would again be uninstallable due to file conflicts. Now, patching the omf files isn't much work at all, it can happen automatically during package build in pkgstriptranslations: while removing the gnome help files, it could also apply some seddery to the omf files to change /help/ to /help-langpacks/. However, we'd still have the same file conflict problem with the omf files themselves. <shaunm> now, that won't work for mallard documents <shaunm> which basically means empathy Shaun, what do you mean here? The current empathy in Karmic (2.27.5) seems to use the standard gnome help/omf system. So it seems to me that the langpacks should ship the help files in /usr/share/gnome/help-langpack/ and the omf files in /usr/share/omf-langpack/, with the paths mangled accordingly (*/help/* → */help-langpack/*). Then a two-line rarian patch would fall back to /usr/share/omf-langpack/ if the requested file does not exist in /usr/share/omf/. With that order, locally installed files always get preference, which is what we want. With that we avoid a symlink tree which would clutter packages and potentially cause bugs and problems with dangling symlinks, and we retain the possibility of changing the implementation easily, since we just have one tiny central patch in rarian. I have the rarian patch ready now, and first experiments work very well. Thanks for all your input! Martin -- Martin Pitt | http://www.piware.de Ubuntu Developer (www.ubuntu.com) | Debian Developer (www.debian.org)
signature.asc
Description: Digital signature
-- ubuntu-desktop mailing list ubuntu-desktop@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-desktop