Bug 232640

Summary: susehelp error upon opening gnucash documentation
Product: [openSUSE] openSUSE 10.2 Reporter: Christian Rauch <suse>
Component: DocumentationAssignee: Hans Petter Jansson <hpj>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: andreas.hanke, daniel.sabanesbove, wstephenson
Version: Final   
Target Milestone: ---   
Hardware: Other   
OS: All   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: screenshot showing the error in khelpcenter with the malformed URI in title
Cooked script to accept paths to help where the main helpfile is not the app name, with debug!

Description Christian Rauch 2007-01-08 19:27:15 UTC
I package newer versions for gnucash and gnucash-docs than they are available in (open)SUSE-Repositories.

Now I have run into an bug(?) with the susehelp script.

When Gnucash calls it's documentation, it calls /opt/gnome/bin/gnome-help ghelp:/<path to documentation>

this file is a symlink to /usr/bin/suse-help, a (seems to me) wrapper-script for KDE and Gnome Help Systems.

This Script rewrites the url to be opened from ghelp:/<path> to help:/<path>, but exactly this makes khelpcenter fail.

I can reproduce this manually.

Calling "khelpcenter ghelp:/opt/gnome/share/gnome/help/gnucash/C/gnucash-guide.xml" works, whereas 

"khelpcenter help:/opt/gnome/share/gnome/help/gnucash/C/gnucash-guide.xml" fails just like being called by the susehelp script.

I am using the original KDE delivered with Suse 10.2.

Both the source and binaries/noarch can be gotten from ftp://rauchs-home.de/suse/10.2/ just in case you want to check back.

I'll attach an screenshot showing the failure in khelpcenter.

Maybe there is an error on my side I didn't find or is it an error in susehelp?

I would be really happy, if someone could tell me a solution!

Regards,
Chris
Comment 1 Christian Rauch 2007-01-08 19:28:31 UTC
Created attachment 111900 [details]
screenshot showing the error in khelpcenter with the malformed URI in title
Comment 2 Christian Rauch 2007-01-08 21:02:10 UTC
Addendum: replacing the symlink /opt/gnome/bin/gnome-help with an symlink to yelp works too, so it really is susehelp, which fails here.
Comment 3 Forgotten User rqaFdHERe7 2007-02-22 00:35:33 UTC
cd /opt/gnome/share/gnome/help ; ln -s /usr/local/share/gnucash/gnome/help/gnucash .

or move the doc tree to /opt/gnome/share/gnome/help
Comment 4 Andreas Hanke 2007-02-22 01:21:09 UTC
Comment 3 is wrong and doesn't have anything to do with this bug.
Comment 5 Will Stephenson 2007-05-26 07:20:28 UTC
It seems to be down to 2 bugs in susehelp-khelpcenter:

1) The regexp at line 7 barfs on ghelp:/opt/gnome/share/gnome/help/gnucash/C/gnucash-guide.xml because it assumes that the basename of the xml file is the same as the application directory.

I don't know if this is due to gnucash not following gnome docu conventions or whether the susehelp-khelpcenter script (which is a novell addition to the kde helpsystem that creates a cache of gnome docu on demand rather than converting it on the fly every time as khelpcenter does by default) needs to be altered to handle this case.  I will attach a debug version of the script that does this.

2) The xml created by meinproc contains many lines of the form "<FILENAME filename="...">", the last of which contains filename=".html" which is what is passed to khelpcenter and is invalid.

HPJ: I'm passing this to you as it's in your susehelp-khelpcenter script and I'm no Perl guru.  1) should be fixable.  

Re 2) What are the assumptions you worked on regarding FILENAME tags - one per index.cache file?  Should the script stop after finding the first one?

Is the ".html" due to a bug in the gnucash docu? 
Comment 6 Will Stephenson 2007-05-26 07:21:32 UTC
Created attachment 142416 [details]
Cooked script to accept paths to help where the main helpfile is not the app name, with debug!
Comment 7 Hans Petter Jansson 2007-06-06 20:13:32 UTC
I don't remember exactly why it is like that - the documentation system is, at least in GNOME, a bit of a mess, with applications displaying help from help://, ghelp://, file:// URIs as well as absolute local file system paths. Also, some use help://path/to/file, while others use help://application.

Take a look at how gnome-terminal does it - you can use "yelp help://gnome-terminal" and that works. The "standard" way to do this is to place the docs in /opt/gnome/share/gnome/help/$APPLICATION/$LANG/
Comment 8 Hans Petter Jansson 2007-09-21 00:09:37 UTC
I'm unsure as to how to proceed with this bug. Is it sufficiently serious to warrant fixing in 10.2? Do you have a verified fix, Will? In that case, do you want to go ahead with it and take over the bug? You need to make sure it doesn't break help for other apps that are already working.
Comment 9 Stephan Kulow 2007-10-11 09:32:59 UTC
is this fixed for 10.3? If so, close as FIXED
Comment 10 Christian Rauch 2007-10-11 18:14:15 UTC
I did not yet have time to install 10.3 and test, I will report back as soon I have the time to do so.
Comment 11 Stephan Kulow 2007-11-10 15:55:38 UTC
Assuming it's fixed till no other reports
Comment 12 Daniel Sabanes 2007-11-12 07:59:07 UTC
Hi all,

this bug is still existing in the openSuse 10.3 / KDE distribution. The command

yelp /usr/share/gnucash/gnome/help/gnucash/C/gnucash-help.xml

works, but just clicking "Hilfe - Inhalt" (Help - Contents) in gnucash
produces the error message
"Für /usr/share/gnucash/gnome/help/gnucash/de_DE/gnucash-help.xml ist keine Dokumentation verfügbar."
in susehelp. 

The commands mentioned by Chris in his first post do _not_ work.

So one might conclude that this bug has connections to bug #331696 in openSuse 10.3,
https://bugzilla.novell.com/show_bug.cgi?id=331696

regards,
Daniel

[this is my first bug report ever, please inform me about anything I've done wrong :-)...]

--- installation ---

GnuCash 2.2.0, Build 2007-09-25, Revision r16304:16306
gnucash: /usr/bin/gnucash /etc/gnucash /usr/lib/gnucash /usr/bin/X11/gnucash /usr/share/gnucash /usr/share/man/man1/gnucash.1.gz

Qt: 3.3.8
KDE: 3.5.7 "release 72.2" (German language)
kde-config: 1.0
GNOME yelp 2.18.1

Linux version 2.6.22.12-0.1-default (geeko@buildhost) (gcc version 4.2.1 (SUSE Linux)) #1 SMP 2007/11/06 23:05:18 UTC
(openSuse 10.3)

--- end installation ---