Bug 1633836 - Help & Man Page Missing
Summary: Help & Man Page Missing
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: viking
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Federico Bruni
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-09-27 21:00 UTC by Rob Norris
Modified: 2019-06-01 15:18 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2019-06-01 15:18:51 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
patch to viking spec repository (4.30 KB, application/mbox)
2018-10-02 04:38 UTC, Federico Bruni
no flags Details

Description Rob Norris 2018-09-27 21:00:49 UTC
Description of problem: Trying to open the Help from within Viking fails as the Help files can not be found.


Version-Release number of selected component (if applicable):


How reproducible: Always


Steps to Reproduce:
1. Open Viking
2. On the menu Help->Help (or Press F1)

Actual results: Yelp can not find Viking help files


Expected results: Correct Help files shown.


Additional info: command line:$man viking -> no manual entry found.


Appears like the .spec is missing the instructions to install the specified files.

For the help files this should be present in the .spec file:

    %find_lang %{name} --with-gnome

For the man page, something like this should be present in %files section:

    %{_mandir}/man1/*


First reported here:
https://github.com/viking-gps/viking/issues/59

Comment 1 Federico Bruni 2018-09-28 04:11:21 UTC
Rob, I've tried applying your suggestion to viking.spec locally, but it's not working. %{_mandir} is not working in any way and I had to comment it. I added --with-gnome option to %find_lang.
However when I list the contents of my local rpm, I see the usual list of the current Fedora package.

I'm a novice in Fedora packaging, but I think that if upstream Make doesn't produce the files, then files cannot be found by rpm.
For example, if I build and install viking I can't see the man pages anywhere:

$ find /usr/local -name viking
/usr/local/share/viking
/usr/local/bin/viking

$ ls /usr/local/share/viking/
datasources.xml  external_tools.xml  goto_tools.xml  latlontz.txt  maps.xml  routing.xml

Comment 2 Rob Norris 2018-09-28 23:38:52 UTC
Checking the recent build log such as:
https://kojipkgs.fedoraproject.org//packages/viking/1.6.2/7.fc29/data/logs/x86_64/build.log

The generation of the man page is being disabled:
    "Man page generation              : no"

This seems to be if 'scrollkeeper-config' is not found on the system (for reasons I don't fully understand why this would be a requirement).

So for Fedora it seems 'rarian' has replaced 'scrollkeeper', so hopefully if 'rarian' is specified as a build requirement program in the .spec file, then Viking should generate the man page:

    BuildRequires: rarian

Comment 3 Rob Norris 2018-09-28 23:46:08 UTC
NB: Having scrollkeeper (or the compatible rarian equivalent) should also generate the help pages too.

https://sourceforge.net/p/viking/mailman/message/34453575/

Comment 4 Federico Bruni 2018-09-29 16:18:37 UTC
Thanks Rob, but installing rarian and rarian-compat doesn't help.
When I run configure, now I get:

    checking for scrollkeeper-config... yes

but this doesn't change:

    Man page generation              : no

I've tried installing a few packages related to xslt which I did not have on my system, but that did not help either.

Eventually I think I've found the issue.
Look at these lines in configure.ac:

```
dnl man pages processing
DB2MAN_XSL=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl
AC_SUBST(DB2MAN_XSL)
AC_PATH_PROG(XP,xsltproc)
AM_CONDITIONAL([HAVE_XSLTPROC],[test "x$XP" != "x"])
AC_CHECK_PROG([HAVE_SCROLLKEEPER],scrollkeeper-config,"yes")
AM_CONDITIONAL([GEN_MANPAGES],[test "x$XP" != "x" && test -r "$DB2MAN_XSL"] && test "${HAVE_SCROLLKEEPER}" = "yes" )
AM_COND_IF([GEN_MANPAGES], [ac_cv_enable_man=yes], [ac_cv_enable_man=no])
```

The file associated to DB2MAN_XSL variable is not present on my system. I have instead:

```
$ locate docbook.xsl | grep manpages
/usr/share/sgml/docbook/xsl-ns-stylesheets-1.79.2/manpages/docbook.xsl
/usr/share/sgml/docbook/xsl-ns-stylesheets-1.79.2/manpages/profile-docbook.xsl
/usr/share/sgml/docbook/xsl-stylesheets-1.79.2/manpages/docbook.xsl
/usr/share/sgml/docbook/xsl-stylesheets-1.79.2/manpages/profile-docbook.xsl
```

If I manually replace it, then I get yes for "Man page generation":

    $ grep -n DB2MAN_XSL= configure
    12897:#DB2MAN_XSL=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl
    12898:DB2MAN_XSL=/usr/share/sgml/docbook/xsl-stylesheets-1.79.2/manpages/docbook.xsl

I don't know if the proper fix should be done upstream or by patching configure.ac in Fedora spec file.

Here's the proof that man file is installed:

    $ ls /usr/local/share/man/man1/viking.1 
    /usr/local/share/man/man1/viking.1

F1 is working as well.

    $ ls /usr/local/share/gnome/help/viking/
    C


PS
The version in configure.ac:5 is not up-to-date:
    AC_INIT(viking, 1.6.1, , viking, http://viking.sf.net/)

Comment 5 Federico Bruni 2018-10-02 04:38:28 UTC
Created attachment 1489269 [details]
patch to viking spec repository

Find attached a patch which create a correct RPM with man pages and help files.

I'm not convinced that the hard link in the patch file is a great idea, but I could not come up with anything better.

Please review.

Comment 6 Rob Norris 2018-10-06 12:56:17 UTC
I've re-opened https://github.com/viking-gps/viking/issues/59 since Viking itself can test a few locations for finding the docbook.xsl file used in generating the man pages (in configure.ac).

Regarding the versioning: v1.6.2 is in separate branch (as other commits were in the main branch at the time of release) - https://sourceforge.net/p/viking/code/ci/viking-1.6.z/tree/

Comment 7 Fabian Affolter 2019-06-01 15:18:51 UTC
Was addressed with the update to 1.7 of the package.


Note You need to log in before you can comment on or make changes to this bug.