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