perl5.8 fixup

Rainer Müller raimue at macports.org
Mon Mar 16 10:45:43 PDT 2009


On 2009-03-16 17:33, Bradley Giesbrecht wrote:
> I was very interested in having the per5.8 rename it's man extensions  
> to something that would be found after p5 module.
> I couldn't find where the Configure script allowed for this although  
> they do make allowances for having man pages for man1, site_man1 and  
> vendor_man1.

In perl5, we could use:
 ./Configure ... -man1ext=3perl -man3ext=3perl

p5-* ports are already using .3pm for their man pages as far as I can
see, so no conflicts any more. I just tried this approach manually and
it seems to get at least 3pm before 3perl.

$ man -w
/opt/local/share/man:/usr/share/man:/usr/local/share/man:/usr/X11/share/man
$ man -aw CGI
/opt/local/share/man/man3/CGI.3pm.gz
/opt/local/share/man/man3/CGI.3perl.gz
/opt/local/share/man/man3/CGI.3.gz
/usr/share/man/man3/CGI.3pm.gz
/opt/local/share/man/man3/CGI.3pm.gz
/opt/local/share/man/man3/CGI.3perl.gz
/usr/share/man/man3/CGI.3pm.gz

So it kind of works. But the 3perl man page is inaccessible (except
specifying the full path) as there is only 3 or 3p in MANSECT, which
seems to consider these man pages to be equal. Not sure which rules
apply for the order here.

$ man -aw 3pm CGI
/opt/local/share/man/man3/CGI.3pm.gz
/usr/share/man/man3/CGI.3pm.gz
$ man -aw 3perl CGI
No manual entry for 3perl
/opt/local/share/man/man3/CGI.3pm.gz
/opt/local/share/man/man3/CGI.3perl.gz
/opt/local/share/man/man3/CGI.3.gz
/usr/share/man/man3/CGI.3pm.gz
/opt/local/share/man/man3/CGI.3pm.gz
/opt/local/share/man/man3/CGI.3perl.gz
/usr/share/man/man3/CGI.3pm.gz

Adding 3pm and 3perl to MANSECT could resolve this issue.

$ export MANSECT=1:1p:8:2:3:3p:3pm:3perl:4:5:6:7:9:0p:tcl:n:l:p:o
$ man -aw 3pm CGI
/opt/local/share/man/man3/CGI.3pm.gz
/usr/share/man/man3/CGI.3pm.gz
$ man -aw 3perl CGI
/opt/local/share/man/man3/CGI.3perl.gz

There does not seem to be a solution for this without modifying MANSECT.
But at least we do not have conflicting files any more.

> I think we should move forward with the submited patch.
> http://trac.macports.org/attachment/ticket/12950/Portfile.20090310.1655.patch

On other system I use man1p or man3p is usually reserved for POSIX man
pages. I see another problem here, the man pages would be totally
inaccessible in man3p. At least in my limited tests, it is not searched
at all.

$ ls /opt/local/share/man/man3p/CGI.3pm.gz
/opt/local/share/man/man3p/CGI.3pm.gz
$ man -aw CGI
/opt/local/share/man/man3/CGI.3pm.gz
/opt/local/share/man/man3/CGI.3perl.gz
/opt/local/share/man/man3/CGI.3.gz
/usr/share/man/man3/CGI.3pm.gz
/opt/local/share/man/man3/CGI.3pm.gz
/opt/local/share/man/man3/CGI.3perl.gz
/usr/share/man/man3/CGI.3pm.gz
$ man -aw CGI |grep man3p
$

Rainer


More information about the macports-dev mailing list