Tuesday, December 22, 2020

man-pages-5.10 is released

Starting with this release, Alejandro (Alex) Colomar has joined me as project comaintainer, and we've released man-pages-5.10. The release tarball is available on kernel.org. The browsable online pages can be found on man7.org. The Git repository for man-pages is available on kernel.org.

This release resulted from patches, bug reports, reviews, and comments from around 25 contributors. The release includes just over 150 commits that changed around 140 pages.

The most notable of the changes in man-pages-5.10 are the following:

  • I've added documentation of the faccessat2() system call (new in Linux 5.10) to the access(2) manual page.
  •  I've added a new subsection to the signal(7) manual page that provides a "big picture" of what happens when a signal handler is executed.

2 comments:

Joe_Wulf said...

I greatly appreciate all the effort to creating and maintaining all these man pages. Thank you.

What is the procedure to properly install, and use, man-pages-5.10 in RHEL/CentOS v7.x?
I'm willing to contribute time and energy to collaborate in solving, and documenting the solution.

I've assumed that installing the OS, doing (some form of) 'make install' for the 5.10 man pages and then doing 'mandb -c' would essentially be the process.

I have an automated build of a relatively basic CentOS 7.9 VM with Gnome and ensured the man pages from the OS ISO were also installed. I would like to keep all the OS man-pages as natively installed, and additionally include all the ones from this new v5.10 release.

I have read the included README file. The only step it provides (make install) doesn't seem to be sufficient for the man pages to then be usable. Google searches have not been helpful in finding anything that contributes to addressing the problems I'm having.

Can both (original OS and new 5.10) sets of man pages usefully co-exist on a RHEL/CentOS system, or are they mutually exclusive? From what I read in the Announce file, it would seem to me they can co-exist.

Should '/etc/man_db.conf' be updated, and if so, in what way?
Should that be done before 'make install; mandb -c', or after, or does it matter?

First, I've attempted installation at '/usr/local/share/man-5.10', with:
# make install prefix=/usr/local/share/man-5.10
That much seems to run clean.

Next, when I do 'mandb -c' (to simply create the man database) it reports these errors (at the end of the run):
mandb: warning: /usr/local/share/man-5.10/share/man/man1: ignoring bogus filename
mandb: warning: /usr/local/share/man-5.10/share/man/man2: ignoring bogus filename
mandb: warning: /usr/local/share/man-5.10/share/man/man3: ignoring bogus filename
mandb: warning: /usr/local/share/man-5.10/share/man/man4: ignoring bogus filename
mandb: warning: /usr/local/share/man-5.10/share/man/man5: ignoring bogus filename
mandb: warning: /usr/local/share/man-5.10/share/man/man6: ignoring bogus filename
mandb: warning: /usr/local/share/man-5.10/share/man/man7: ignoring bogus filename
mandb: warning: /usr/local/share/man-5.10/share/man/man8: ignoring bogus filename

None of the new man pages can be retrieved at this point.

Next, I attempted to update /etc/man_db.conf to account for the new additions, but subsequent 'makes' and/or 'mandb -c' doesn't improve things

Joe_Wulf said...

This is part two of my message:

Separately, I've done the 5.10 manpages install more simply:
# make install
Again, that much seems to run clean.

This time when I do:
# mandb -c

It reports TONs of errors like these:
Processing manual pages under /usr/share/man...
Updating index cache for path `/usr/share/man/man1'. Wait...mandb: warning: /usr/share/man/man1/intro.1*: competing extensions
mandb: warning: /usr/share/man/man1/ldd.1*: competing extensions
mandb: warning: /usr/share/man/man1/getent.1*: competing extensions
mandb: warning: /usr/share/man/man1/time.1*: competing extensions
Updating index cache for path `/usr/share/man/man2'. Wait...mandb: warning: /usr/share/man/man2/_Exit.2*: competing extensions
mandb: warning: /usr/share/man/man2/__clone2.2*: competing extensions
mandb: warning: /usr/share/man/man2/_exit.2*: competing extensions
mandb: warning: /usr/share/man/man2/_llseek.2*: competing extensions
mandb: warning: /usr/share/man/man2/_newselect.2*: competing extensions
mandb: warning: /usr/share/man/man2/_syscall.2*: competing extensions
mandb: warning: /usr/share/man/man2/_sysctl.2*: competing extensions
mandb: warning: /usr/share/man/man2/accept.2*: competing extensions
mandb: warning: /usr/share/man/man2/accept4.2*: competing extensions


According to the mandb man page, the problem with 'competing extensions' is 'usually caused by the existence of both a compressed and uncompressed version of the same manual page'.

Does this mean that I have to manually remove some bunch of files (the compresses ones, or the uncompressed ones), if so which ones (and when---before 'make install'? How do I know?


I appreciate any help you can give.

Thank you.

R,
-Joe Wulf