discuss@mandoc.bsd.lv
 help / color / mirror / Atom feed
From: John McKay <adenosine3p+lists@gmail.com>
To: Ingo Schwarze <schwarze@usta.de>
Cc: discuss@mandoc.bsd.lv
Subject: Re: Arch Linux Improvements
Date: Sun, 30 Dec 2018 22:01:52 +0000	[thread overview]
Message-ID: <5c294051.1c69fb81.b2d07.5d7d@mx.google.com> (raw)
In-Reply-To: <20181230025748.GJ98128@athene.usta.de>

On Sun, 30 Dec 2018 03:57:48 +0100, Ingo Schwarze wrote:
> So do not install them in the manpath.  Install them somewhere else
> where man(1) does not find them by default, for example below
> /usr/share/doc/posix/man/ and instruct the few users who really
> want to use man(1) for reading these pages to use
>
>    $ man -M /usr/share/doc/posix/man
>
> > For example
> > /usr/share/man/man3/freeaddrinfo.3p.gz
> > /usr/share/man/man3/getaddrinfo.3.gz
> > both contain entries for freeaddrinfo(3).
>
> Right, that is a totally broken installation.  The manual page
> system - neither the traditional one nor the mandoc implemation -
> is not designed for mixing completely different things in the same
> directory.

Broken or not, it's the way that Arch Linux has set up their manual page
page package. It looks like man-db makes it work by defining 5(!)
different ways for it to look for the proper file depending on what
layout it was told at compile time. Since their default man utility
specifically supports the layout they use, I don't think they are going
to be open to changing it.

> If you have two pages that both match the name and the section
> and that come from the same manpath, the selection is unspecified.
> There is simply no way to select one or the other, they are identitical
> in every respect, according to the search criteria.
> 
> The solution is to not have contradictory manual pages in the same
> tree.  Keep your tree consistent.
> 
> Manual pages have four properties: manpath (=tree), name, section,
> architecture.  If you have a four-tuple that matches two pages, you
> cannot tell the two them apart.  At least one of the four properties
> must be different to be able to select one but not the other.
> 
> If you have a broken tree containing conflicts, the best you can do
> is use man -a and show all conflicting versions together.

What about adding a new key that is just the section as derived from
the file name? That would add to the size of the database but if you
have a bad layout you can specify which page you actually want. It would
be useful for Linux users as it seems many distributions will install
manual pages under the same directory and expect the file name suffix to
be a sufficient distinguisher because man-db allows for it.

Thanks for pointing out the problems in my original plan. I was unaware
that my original suggested change would cause such a problem.
--
 To unsubscribe send an email to discuss+unsubscribe@mandoc.bsd.lv

      reply	other threads:[~2018-12-30 22:01 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-30  1:25 John McKay
2018-12-30  2:57 ` Ingo Schwarze
2018-12-30 22:01   ` John McKay [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5c294051.1c69fb81.b2d07.5d7d@mx.google.com \
    --to=adenosine3p+lists@gmail.com \
    --cc=discuss@mandoc.bsd.lv \
    --cc=schwarze@usta.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).