5

tl;dr

The summary of all the following is roughly this:

  • Remove or move the directory /usr/share/help/C/gnome-help.
  • Run the command sudo apt reinstall gnome-user-docs gnome-getting-started-docs ubuntu-docs.
  • The missing directory and its contents must come back.

This works OK in one of my 20.04 system, but not on another 20.04 system. Both systems are up-to-date.

I want to find out what makes this difference.



After upgrading from 19.10 to 20.04 the GNOME Help application (yelp) cannot find GNOME help files. For example, when I am in the GNOME Files application (nautilus) and press F1 I get the following error message in the yelp window:

Document Not Found
The URI ‘help:gnome-help/files’ does not point to a valid page.

The same thing occurs in other GNOME applications, like gedit, gnome-calculator etc.

yelp can display the man pages OK. The problem is only with the "help" pages. Is there any package that needs to be installed?

I tried to install package gnome-user-guide, but it didn't help. Packages:

gnome-getting-started-docs
gnome-user-docs
ubuntu-docs
xorg-docs-core

are already installed and up-to-date.


It seems* that the files needed are the ones under /usr/share/help/C/gnome-help/ and the package gnome-user-docs is the one that provides these (https://packages.ubuntu.com/focal/all/gnome-user-docs/filelist). However, even removing, purging and re-installing this package does not bring these files to my system.

*Note: dpkg -S /usr/share/help/C/gnome-help/files.page output is this:

gnome-user-docs: /usr/share/help/C/gnome-help/files.page

Also ls -lisad /usr/share/help/ /usr/share/help/C output is:

8651957 4 drwxr-xr-x 59 root root 4096 May 14 19:55 /usr/share/help/
8651631 4 drwxr-xr-x 31 root root 4096 May 17 17:39 /usr/share/help/C

and permissions and ownership of the files within these directories is -rw-r--r-- root root.


Similarly, other GNOME packages (for example, gnome-calculator) when (re)installed, they do not populate the relevant directory under /usr/share/help/C/.

I tested by copying /usr/share/help/C/gnome-help/ directory and its contents from another system and then reinstalling the gnome-user-docs package. The re-installation deleted the necessary files which I just copied there! Before doing the re-installation, but after copying these files manually, yelp was able to display its home screen and the relevant help screens OK. After the re-installation, the above mentioned problem occurs.


I have tried with various locales with the installation of gnome-user-docs package. Every time the same thing occurs. The files that I copied manually under /usr/share/help/C/ are being deleted:

# LANG=en_US.UTF-8 apt --reinstall install gnome-user-docs
# LANG=en_GB.UTF-8 apt --reinstall install gnome-user-docs
# LANG=C.UTF-8     apt --reinstall install gnome-user-docs

My locale output is this:

LANG=C.UTF-8
LANGUAGE=
LC_CTYPE="C.UTF-8"
LC_NUMERIC=en_GB.UTF-8
LC_TIME=en_GB.UTF-8
LC_COLLATE="C.UTF-8"
LC_MONETARY=en_GB.UTF-8
LC_MESSAGES="C.UTF-8"
LC_PAPER=en_GB.UTF-8
LC_NAME=en_GB.UTF-8
LC_ADDRESS=en_GB.UTF-8
LC_TELEPHONE=en_GB.UTF-8
LC_MEASUREMENT=en_GB.UTF-8
LC_IDENTIFICATION=en_GB.UTF-8
LC_ALL=

(Note that I tested with LANG=en_US.UTF-8 also; result was the same.)

The output of check-language-support --show-installed is:

firefox-locale-en gimp-help-en hunspell-en-au hunspell-en-ca hunspell-en-gb hunspell-en-us hunspell-en-za hyphen-en-ca hyphen-en-gb hyphen-en-us language-pack-en language-pack-gnome-en libreoffice-help-en-gb libreoffice-help-en-us libreoffice-l10n-en-gb libreoffice-l10n-en-za mythes-en-au mythes-en-us poppler-data thunderbird-locale-en thunderbird-locale-en-gb thunderbird-locale-en-us wamerican wbritish

Currently installed packages:

# apt --installed list | grep -i "docs"

gnome-getting-started-docs/focal,focal,now 3.36.1-0ubuntu1 all [installed]
gnome-user-docs/focal,focal,now 3.36.1-0ubuntu1 all [installed]
ubuntu-docs/focal,focal,now 20.04.2 all [installed]
xorg-docs-core/focal,focal,now 1:1.7.1-1.1 all [installed,automatic]

More Information

(1)

The output of sudo apt-cache depends yelp is like this:

yelp
  Depends: libc6
  Depends: libglib2.0-0
  Depends: libgtk-3-0
  Depends: libwebkit2gtk-4.0-37
  Depends: libyelp0
 |Depends: dconf-gsettings-backend
  Depends: <gsettings-backend>
    dconf-gsettings-backend
  Depends: python3-distro
  Depends: yelp-xsl
  Depends: man-db
    man-db:i386
  Recommends: docbook-xml

Note: This is the same output as on another system which does not have this problem.

(2)

The checksums for the yelp package are OK:

$ debsums yelp | wc -l
230
$ debsums yelp | grep 'OK$' | wc -l
230
$ debsums -a yelp | grep 'OK$' | wc -l
230

However, the checksums for the gnome-user-docs package show inconsistent results. On the system with this problem:

$ debsums gnome-user-docs | wc -l
4
$ debsums gnome-user-docs | grep 'OK$' | wc -l
4
$ debsums -a gnome-user-docs | grep 'OK$' | wc -l
4
$ debsums gnome-user-docs
/usr/share/doc/gnome-user-docs/NEWS.gz                                        OK
/usr/share/doc/gnome-user-docs/README                                         OK
/usr/share/doc/gnome-user-docs/changelog.Debian.gz                            OK
/usr/share/doc/gnome-user-docs/copyright                                      OK

Whereas on a system without this problem:

$ debsums gnome-user-docs | wc -l
465

and the difference is in the /usr/share/help/C/gnome-help/ and /usr/share/help/C/system-admin-guide/ files: The files I am talking about throughout this post.

FedKad
  • 13,420

1 Answers1

2

The culprit is the localepurge package

After doing some further investigation, I found out that on my problematic system a package called localepurge was installed, while on the non-problematic system that package was not installed.

For more information you can look at the man page of localepurge

There was a file /etc/locale.nopurge that did not include the C locale, to exclude it from purging files created under it.

Anyway, I did not remember installing localepurge package, so I removed it. And then I re-ran:

# apt reinstall gnome-user-docs gnome-getting-started-docs ubuntu-docs xorg-docs-core

The missing files came back.

In the man page a script called /usr/share/doc/localepurge/reinstall_debs.sh is mentioned, which effectively is this:

apt-get -u --reinstall --fix-missing install $(dpkg -S LC_MESSAGES | cut -d: -f1 | tr ', ' '\n' | sort -u)

I ran that command also.

FedKad
  • 13,420