tl;dr: There's a question at the end...

So, I'm testing blead on the Itanium testdrive machine, configured with
-"des" -"Dusedevel". If I run

    mmk install

things install somewhere. I failed to RTFM but figured out that it defaults
to a directory named after the build tree with _ROOT appended. If I go up
and run this:

    @[.perl-58583d21ac03_ROOT]perl_setup


it seems that perl is now that perl.exe, and perldoc is now perldoc.Com in
[.perl-58583d21ac03_ROOT.utils]

This is good.

I uploaded the Pod::Perldoc tarball to the testdrive machine, unpacked it,
ran perl Makefile.PL and mmk

I see this:

$ perl Makefile.PL
Checking if your kit is complete...
Looks good
Generating a GNU-style Makefile
Writing Descrip.MMS for Pod::Perldoc
Writing MYMETA.yml and MYMETA.json
$ mmk test
cp [.lib.Pod.Perldoc]BaseTo.pm [.blib.lib.Pod.Perldoc]BaseTo.pm
cp [.lib.Pod.Perldoc]GetOptsOO.pm [.blib.lib.Pod.Perldoc]GetOptsOO.pm
cp [.lib.Pod.Perldoc]ToANSI.pm [.blib.lib.Pod.Perldoc]ToANSI.pm
cp [.lib.Pod.Perldoc]ToChecker.pm [.blib.lib.Pod.Perldoc]ToChecker.pm
cp [.lib.Pod.Perldoc]ToMan.pm [.blib.lib.Pod.Perldoc]ToMan.pm
cp [.lib.Pod.Perldoc]ToNroff.pm [.blib.lib.Pod.Perldoc]ToNroff.pm
cp [.lib.Pod.Perldoc]ToPod.pm [.blib.lib.Pod.Perldoc]ToPod.pm
cp [.lib.Pod.Perldoc]ToRtf.pm [.blib.lib.Pod.Perldoc]ToRtf.pm
cp [.lib.Pod.Perldoc]ToTerm.pm [.blib.lib.Pod.Perldoc]ToTerm.pm
cp [.lib.Pod.Perldoc]ToText.pm [.blib.lib.Pod.Perldoc]ToText.pm
cp [.lib.Pod.Perldoc]ToTk.pm [.blib.lib.Pod.Perldoc]ToTk.pm
cp [.lib.Pod.Perldoc]ToXml.pm [.blib.lib.Pod.Perldoc]ToXml.pm
cp [.lib.Pod]Perldoc.pm [.blib.lib.Pod]Perldoc.pm
cp perldoc.pod [.blib.lib.Pod]perldoc.pod
MCR PTAC$DKA0:[NCLARK.I.perl-58583d21ac03_ROOT]perl.exe.1 "-MExtUtils::Command" 
-e "cp" "--" perldoc [.blib.script]perldoc
MCR PTAC$DKA0:[NCLARK.I.perl-58583d21ac03_ROOT]perl.exe.1 "-MExtUtils::MY" -e "M
Y->fixin(shift)" "--" [.blib.script]perldoc
MCR PTAC$DKA0:[NCLARK.I.perl-58583d21ac03_ROOT]perl.exe.1 "-MExtUtils::Command::
MM" "-e" "test_harness(0, '[.blib.lib]', '[.blib.arch]')" t/*.t t/*/*.t
t/load.t .............. ok
t/man/_get_columns.t .. ok
t/pod.t ............... skipped: Pod tests not required for installation.
All tests successful.
Files=3, Tests=48,  7 wallclock secs ( 0.51 usr +  0.00 sys =  0.51 CPU)
Result: PASS


using bash, I locate the perldoc that it built:

BASH-4.2$ less blib/script/perldoc
$ perl 'f$env("procedure")' "''p1'" "''p2'" "''p3'" "''p4'" "''p5'" "''p6'" "''p
7'" "''p8'"!
$ exit++ + ++$status!=0 and $exit=$status=undef; while($#ARGV != -1 and $ARGV[$#
ARGV] eq ''){pop @ARGV;}
#!perl 

require 5;
BEGIN { $^W = 1 if $ENV{'PERLDOCDEBUG'} }
use Pod::Perldoc;
exit( Pod::Perldoc->run() );



quitting bash, if I install, I see this:

$ mmk install
Installing perl_root:[lib.Pod]perldoc.pod
Installing perl_root:[utils]perldoc.
Appending installation info to perl_root:[lib.VMS_IA64.5_19_4]perllocal.pod


(this sort of makes sense, as I'm installing the same version as is in blead)

the GNV tools reveal the slight expected difference in the two installed files:

--- utils/perldoc       2013-09-19 21:12:54 +0530
+++ utils/perldoc.Com   2013-09-19 20:23:10 +0530
@@ -1,6 +1,9 @@
 $ perl 'f$env("procedure")' "''p1'" "''p2'" "''p3'" "''p4'" "''p5'" "''p6'" "''
p7'" "''p8'"!
 $ exit++ + ++$status!=0 and $exit=$status=undef; while($#ARGV != -1 and $ARGV[$
#ARGV] eq ''){pop @ARGV;}
-#!perl 
+    eval 'exec perl_root:[000000]Perl.exe -S $0 ${1+"$@"}'
+       if 0;
+
+# This "PERLDOC.com" file was generated by "[.UTILS]PERLDOC.PL"
 
 require 5;
 BEGIN { $^W = 1 if $ENV{'PERLDOCDEBUG'} }



If I delete the perldoc.com, I get this:

$ perldoc
Can't open perl script "perl_root:[utils]perldoc.com": no such file or directory
%SYSTEM-F-ABORT, abort

If I rename perldoc to perldoc.com (after tweaking its privs):

$ perldoc
Usage: perldoc.com [-hVriDtumFXlT] [-n nroffer_program]
    [-d output_filename] [-o output_format] [-M FormatterModule]
    [-w formatter_option:option_value] [-L translation_code]
    PageName|ModuleName|ProgramName

Examples:

    perldoc.com -f PerlFunc
    perldoc.com -q FAQKeywords
    perldoc.com -v PerlVar

The -h option prints more help.  Also try "perldoc.com perldoc" to get
acquainted with the system.                        [Perldoc v3.20]
%SYSTEM-F-NOLOGNAM, no logical name match





So, my question is, surely that file should be installed as
"utils/perldoc.COM" not "utils/perldoc"?

And if so, where in ExtUtils::MakeMaker does it need fixing?

(Does anyone on VMS actually install modules from CPAN that have scripts?)

Nicholas Clark

Reply via email to