1

I need some help in understanding how the Yelp Help Browser works. When I start Yelp in Ubuntu 17.10 I get the Ubuntu Desktop Guide, and when I search for terms that should definitely be contained in some of the documentation packages I recently installed, I come up blank.

My understanding (based on this page at gnome.org) is that Yelp uses scrollkeeper's catalogue to generate a table of contents, but it seems that this behaviour is overridden in the Ubuntu distro. Also the Ubuntu version does not have the menus (enabling bookmarking etc.) displayed on the screenshot at that page. When installing the documentation packages I got feedback in the terminal that the package was registered with scrollkeeper. I'll keep searching for an answer, but if you could help out, it would be greatly appreciated.

  • I don't know anything about scrollkeeper (the package seems to be named rarian-compat nowadays), but to for instance see the Zenity manual you can run yelp help:zenity – Gunnar Hjalmarsson Mar 3 '18 at 2:45
  • Thanks for that. Scrollkeeper is a bit confusing. The sourceforge page is still offline so I can not follow up there, but if I look at the local /usr/share/doc/scrollkeeper/README.gz it refers to itself as rarian, so I get the impression it is a namechange rather than a totally new package. I have found that I can meet my immediate needs well with the devhelp package (i.e. reading the GTK library documentation packages), but it is clear from the documentation (git.gnome.org/browse/devhelp/tree/README) that devhelp does not use scrollkeeper to find the documentation files. – Inda Vidjool Mar 3 '18 at 21:20
0

I had downloaded source code of modern Yelp 3.26 (shipped with 18.04 LTS) and grep-ed it for scrollkeeper occurencies:

apt-get source yelp
cd yelp-3.26.0

Grepping does not get results in code, only in text files

$ grep -ir scroll.*keeper . | awk '{print $1}' | sort | uniq 
./ChangeLog:
./debian/changelog:
./NEWS:

One of the results from Changelog states:

./ChangeLog: Update slightly to remove scrollkeeper references
./ChangeLog: - Switch to using rarian instead of scrollkeeper

But they do not use even rarian in application code:

$ grep -ir rarian .
./ChangeLog:    Port to Rarian 0.8 series
./ChangeLog:    - Switch to using rarian instead of scrollkeeper
./ChangeLog:    Convert search across to use Rarian
./ChangeLog:    Now Rarian is fast, don't split out man and info pages.
./ChangeLog:    Spoon is now Rarian.  Bump min version to 0.5.0
./NEWS:* Port to Rarian 0.8 series
./NEWS:  - Remove scrollkeeper in favour of Rarian
./debian/changelog:      - Build depend on librarian-dev (>= 0.7.0).
./debian/changelog:    + added build-depends on librarian-dev.

So full-text search is not available in Yelp because of removed ScrollKeeper and Rarian indexers.

Notes:

  1. some patch exists in old GNOME bugzilla #652057 and modern GitLab. But it is not applied on master branch.
  2. if you are using Ubuntu 16.04 LTS you can install build-dependencies, download and apply this patch:

    # software-properties-gtk # enable Source code repositories
    sudo apt-get build-dep yelp
    sudo apt-get install devscripts
    
    cd ~/Downloads
    wget https://gitlab.gnome.org/GNOME/yelp/uploads/b51ee8a2dc22f423f06e0293476328e5/xref-handling-and-indexing-for-help-list.patch
    
    mv xref-handling-and-indexing-for-help-list.patch yelp-3.18.1/debian/patches
    cd yelp-3.18.1
    echo "xref-handling-and-indexing-for-help-list.patch" >> debian/patches/series
    debuild -uc -us
    sudo dpkg -i ../*yelp*.deb
    

    After installation you can test patched version of Yelp. Launch it, navigate to All Help, press Ctrl+S and enter for example calculator and press Enter:

    patched Yelp with search

    But it seems that search works only in titles, not in full text.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.