http://qs321.pair.com?node_id=1164564


in reply to Re^2: Getting man-page info on metacpan and search.cpan.org
in thread Getting man-page info on metacpan and search.cpan.org

First, there aren't three things, but two: bioseq and bioseq.pod.

Second, that metacpan lists this three times in two lines with one name duplicated in https://metacpan.org/source/ROCKY/Bio-BPWrapper-1.02_02/bin is its doing. And the second entry is backwards; the name listed is actually the documentation and the documentation associated with that name is really the command-line program. And that is a bug.

As for pod tools "knowing", if that's the thing that is deciding this, well it somehow knows that for a perl module. If there is a file that has extension .pod with the same name as he Perl Module, then that's not a separate program but documentation for the corresponding perl module.

This is what LanX's answer in Using .pod as a standalone file rather than in .pm and it showing up in MetaCPAN is about. I am sorry I didn't link that before.

Finally, what Module::Build may have to do with this is possibly how this stuff gets tagged or set up in a tarball: the pod in the bin directory is installed same as without the pod. It is possible and likely this is that's not dictated by Module::Build, but the tools and rules for processing a tarball: what and where to install. In this case it happens to have been created by Module::Build so that is one interface for controlling the building of the tarball. Sure, there are other things too that influence this as well.

Replies are listed 'Best First'.
Re^4: Getting man-page info on metacpan and search.cpan.org
by Anonymous Monk on May 31, 2016 at 10:43 UTC

    Here is idea, instead of bin/bioseq.pod, save it as lib/bioseq.pod

      Good suggestion. I tried that but no dice. The lib file looks nice but it is not associated with the bin.

      At this point, I think the best alternative is to automate pulling in the wiki POD and stuff it into the command-line script after an __END__ just before doing a CPAN release.

        The lib file looks nice but it is not associated with the bin.

        What do you mean "not associated with the bin"?

        I did some testing using the Perl installation on my system.

        On my system, I have Perl installed in /opt - like this:

        /opt/perl/bin lib site/bin site/lib

        In site/bin there is corelist. I added a dummy corelist.pod in site/lib

        Opening a xterm in my home directory, I ran perldoc corelist and got the rendering of the dummy .pod file instead of the POD in corelist

        So, perldoc can find a .pod file in the library of a Perl installation.

        Maybe the Makefile.PL needs to be customized to install the .pod files in lib/ instead of lib/module/path/

        If CPAN and/or MetaCPAN are not displaying the .pod files in the lib/ directory of your module archive, then I think that is a bug with CPAN / MetaCPAN, since perldoc does display them as expected.</c>

Re^4: Getting man-page info on metacpan and search.cpan.org
by RonW (Parson) on Jun 02, 2016 at 23:50 UTC
    but two: bioseq and bioseq.pod

    Maybe if the script were named bioseq.pl it would work.

      Maybe. But I'd still have the problem that the pod would be placed in bin which I don't want.