Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 899950 - sys-apps/man-pages-6.03 missing pthreads pages
Summary: sys-apps/man-pages-6.03 missing pthreads pages
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-03-06 18:08 UTC by Esteve Varela Colominas
Modified: 2024-02-12 08:55 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Esteve Varela Colominas 2023-03-06 18:08:09 UTC
This package's pthreads(3) page refers to various pages that don't exist inside of any gentoo package currently. One example being pthread_cond_wait(3).

Debian keeps these pages in the glibc-doc package[1], and it'd be nice to see them appear in a gentoo install as well. They may be obtained either directly from the released .deb package, or from the source tree[2].

It's worth noting that some of the pages appear in the 3p category of man-pages-posix instead, but they're lacking necessary symlinks, making them difficult to navigate[3]. This has been reported upstream.

[1]: https://manpages.debian.org/unstable/glibc-doc/index.html
[2]: https://salsa.debian.org/glibc-team/glibc/-/tree/sid/debian/local/manpages
[3]: https://bugzilla.kernel.org/show_bug.cgi?id=217148
Comment 1 Mike Gilbert gentoo-dev 2023-03-06 22:40:56 UTC
sys-apps/man-pages-posix appears to cover the missing functions.
Comment 2 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-03-07 08:18:00 UTC
Could you give an example of a missing page which is in Debian's but not in posix-man-pages?
Comment 3 Esteve Varela Colominas 2023-03-07 13:07:14 UTC
I'm confused. I could've sworn that running "man pthread_cond_wait" resulted in the man page not being found yesterday, yet when I run it now, it properly opens pthread_cond_timedwait(3p). This happens despite there not being a symlink to the page. So I guess this is NOTABUG...

It's weird, because some pages are referral pages instead of providing symlinks or similar. For example "man 3p pthread_mutex_unlock" properly redirects to pthread_mutex_lock(3p), yet running "man 3p pthread_mutex_trylock" opens a completely different page that tells you to "Refer to pthread_mutex_lock()" for more information.

Doing some more digging, it appears the debian pages are lifted from old glibc source, and describe the old LinuxThreads implementation, see [1], at the bottom of the page. I consider these useful to complement the man-pages-posix documentation, as they're written in a more concise and practical manner, like the rest of man-pages. But I guess this should be solved upstream, as they're not considered up to standards right now...

The only functions I could find that aren't in man-pages-posix are pthread_mutexattr_getkind_np and pthread_mutexattr_setkind_np, but these aren't very relevant.

[1]: https://www.kernel.org/doc/man-pages/missing_pages.html
Comment 4 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-03-07 13:10:48 UTC
(In reply to Esteve Varela Colominas from comment #3)
> I'm confused. I could've sworn that running "man pthread_cond_wait" resulted
> in the man page not being found yesterday, yet when I run it now, it
> properly opens pthread_cond_timedwait(3p). This happens despite there not
> being a symlink to the page. So I guess this is NOTABUG...
> 
> It's weird, because some pages are referral pages instead of providing
> symlinks or similar. For example "man 3p pthread_mutex_unlock" properly
> redirects to pthread_mutex_lock(3p), yet running "man 3p
> pthread_mutex_trylock" opens a completely different page that tells you to
> "Refer to pthread_mutex_lock()" for more information.
> 
> Doing some more digging, it appears the debian pages are lifted from old
> glibc source, and describe the old LinuxThreads implementation, see [1], at
> the bottom of the page. I consider these useful to complement the
> man-pages-posix documentation, as they're written in a more concise and
> practical manner, like the rest of man-pages. But I guess this should be
> solved upstream, as they're not considered up to standards right now...
> 

Yeah, we discussed this more on IRC in #gentoo-toolchain, and concluded the Debian pages should really be sent upstream to the man-pages project or just removed from Debian. They look pretty old.

> The only functions I could find that aren't in man-pages-posix are
> pthread_mutexattr_getkind_np and pthread_mutexattr_setkind_np, but these
> aren't very relevant.
> 

I'd file a bug with man-pages to document them.
Comment 5 Esteve Varela Colominas 2023-03-07 13:21:29 UTC
I figured it out, there's a daily cronjob in /etc/cron.daily/man-db that updates the man database, instead of doing it in a postinst phase......
Comment 6 Larry the Git Cow gentoo-dev 2024-02-12 08:55:12 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=71a802d5c12420638e3cc4f7116634ec40f0754f

commit 71a802d5c12420638e3cc4f7116634ec40f0754f
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2024-02-12 08:46:47 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2024-02-12 08:50:33 +0000

    sys-apps/man-pages: add 6.06, now with verify-sig
    
    This release also has some new pthread man page documentation imported from glibc
    and such (mentioned in the linked bug #899950).
    
    Bug: https://bugs.gentoo.org/899950
    Signed-off-by: Sam James <sam@gentoo.org>

 sys-apps/man-pages/Manifest              |   2 +
 sys-apps/man-pages/man-pages-6.06.ebuild | 150 +++++++++++++++++++++++++++++++
 sys-apps/man-pages/man-pages-9999.ebuild |  34 ++++++-
 3 files changed, 183 insertions(+), 3 deletions(-)