[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#474529: Perl policy vs. the search order for .1{,p} manpages



On Wed, Aug 06, 2008 at 10:20:54AM +1000, Brendan O'Dea wrote:

> The reason that modules manual pages have distinct extensions is to
> prevent filename collisions between CORE and vendo, since they share
> the same manual directory.  man-db fortunately has a mechanism to
> select the correct page for a section: "man Foo", or "man 3 Foo" will
> present the first of 3pm or 3perl which it finds.
> 
> Sadly, the shell has no such selection mechanism, so even if you do
> use different extensions for section 1 pages, you will still get a
> collision on the script.
> 
>   http://packages.debian.org/search?suite=sid&arch=any&searchon=contents&keywords=%2Fusr%2Fbin%2Fcorelist
> Is this not going to cause some large measure of grief when either of
> perl or libmodule-corelist-perl upgrades?

I don't see why. The script is handled with dpkg-divert in the
libmodule-corelist-perl maintainer scripts, the package doesn't blindly
Replace: perl. Just like the module case, we assume that nobody wants
to use the older script if a newer one is installed.

The problem in #474529 is that man-db prefers corelist.1 from the core
over the newer corelist.1p from libmodule-corelist-perl when no section
is specified. So the user gets a wrong manual page by default.

This can be fixed either by changing the core extension to something that
can be moved down on the man-db search list (like .1perl) or by moving the
module extension (.1p) up on the search list, which would place it first.
-- 
Niko Tyni   ntyni@debian.org


Reply to: