Versions: sys-devel/perl 5.8.0-r8 dev-perl/ExtUtils-MakeMaker 6.05-r4 Short description: Perl modules built on the system do not install man pages. Observations: ExtUtils::MakeMaker-generated Makefiles do not have the MAN?PODS variable set, so the make does not manify (pod2man) POD in the source tree, and no man pages are installed. As a test, I created two identical copies of the CPAN 1.63 source tree and generated the Makefile in each using the standard command 'perl Makefile.PL', one with my own build of perl 5.8.0, the other with the gentoo build. The Makefile generated by my build properly set the MAN?PODS variables in the Makefile and built the man pages, gentoo's did not. The gentoo-generated Makefiles do seem to properly install the POD for use with perldoc(1) and append an entry to /usr/lib/perl5/5.8.0/i686-linux/perllocal.pod. This problem affects _all_ modules built on the system, including those installed from portage.
I will look into this further. Were both tests done with the same version of MakeMaker, or was the local version of perl done with the default that came with perl? I only ask to identify whether the issue is with a missing flag in the perl build itself, or with the MakeMaker installed via ebuild (vs the one that is installed by default). Also, if you have a moment, and still have the two trees (I know, asking a lot :) ) - does a diff of the two Config.pm's generate anything significant (beyond "silly" setting like made by Gentoo, etc.). Thanks, Michael
Each tree's Makefile was generated with the ExtUtils::MakeMaker on its built-in @INC path list. Both perls used ExtUtils::MakeMaker 6.05. I just diff'd gentoo's Config.pm against my build's Config.pm and noticed: -installman1dir='/<path to my perl builds>/perl580/man/man1' -installman3dir='/<path to my perl builds>/perl580/man/man3' ... +installman1dir='' +installman3dir='' I modified gentoo's Config.pm to define the installman?dir entries and now the Makefile generated by gentoo's ExtUtils::MakeMaker includes the MAN?PODS definitions and manifys pods during the make.
Sorry for the delay, I've isolated the problem. The config.over we generate to identify the correct man paths was, well, not being invoked correctly (looks like a bad line). I've modified the perl ebuild locally and the man paths are showing up correctly again for man1 and man3 (/usr/share/man/man?) If I post a masked copy of the ebuild (-r9) will you be free to confirm?
OK, this bug and bug 13920 look to be the same problem, albeit hidden. There appears to be a typo introduced into the generation of the config.over that is failing the setting of the scripts dir (which is done in the ebuild) as well as the setting of the man page location. Working on it now. Mike
Ready and willing to test anything you've got, just say the word.
Created attachment 7340 [details] silly typos... 4 typos are fixed in this ebuild that were causing problems, two of them directly related to the manpage locations in the config.over. This is an untested ebuild, which ammounts to the fact that if it fails, its point of failure will be a sandbox problem, not a make problem.
Created attachment 7342 [details] silly typos... 4 typos are fixed in this ebuild that were causing problems, two of them directly related to the manpage locations in the config.over. This is an untested ebuild, which ammounts to the fact that if it fails, its point of failure will be a sandbox problem, not a make problem.
I just finished re-merging perl with the ebuild in attachment 7342 [details] and it seems to have fixed both the man pages problem and the scripts directory problem from the related bug. Good work. Thanks. If there's anything else you'd like to know about my results just let me know.
this has been posted into portage. enjoy!