At 3:28 PM -0500 3/26/02, Michael G Schwern wrote:
>Pull a fresh version from CVS if you can so we're both talking the
>same language.
>cvs -d :pserver:[EMAIL PROTECTED]:/home/schwern/cvs login
>cvs -d :pserver:[EMAIL PROTECTED]:/home/schwern/cvs co ExtUtils-MakeMaker
Patch below against what I retrieved from cvs about 7 PM CST. It
builds and installs successfully against bleadperl on VMS 7.3 with
both MMS and MMK. The biggest issue was that you cannot concatenate
unexpanded macros as if they were file and directory components. The
concatenation routines have to have the delimiters to know what's
what. There is one remaining cluster of test failures which I
haven't figured out what to do with yet:
t/installed......
# Failed test (t/installed.t at line 62)
# got: '0'
# expected: '1'
# Failed test (t/installed.t at line 171)
# got: '0'
# expected: '1'
# Failed test (t/installed.t at line 172)
# undef
# doesn't match '(?-xism:foobar[>\]]?$)'
# Looks like you failed 3 tests of 42.
The basic issue here is that the pieces of the FakeMod module are not
guaranteed to have the same case when you retrieve their names from
the file system as they had when you created them.
The other remaining issue is that we still get a lot of spurious
newlines with MMS.
--- lib/ExtUtils/MM_VMS.pm;-0 Tue Mar 26 14:22:24 2002
+++ lib/ExtUtils/MM_VMS.pm Tue Mar 26 21:23:26 2002
@@ -1603,11 +1603,11 @@
foreach $file (@{$self->{EXE_FILES}}) {
$line .= "$file ";
if (length($line) > 128) {
- push(@docfiles,qq[\t\$(PERL) -e "print '$line'" >>.MM_tmp\n]);
+ push(@docfiles,qq[\t\$(NOECHO) \$(PERL) -e "print '$line'"
+>>.MM_tmp\n]);
$line = '';
}
}
- push(@docfiles,qq[\t\$(PERL) -e "print '$line'" >>.MM_tmp\n]) if $line;
+ push(@docfiles,qq[\t\$(NOECHO) \$(PERL) -e "print '$line'" >>.MM_tmp\n]) if
+$line;
}
push @m, q[
@@ -1637,8 +1637,8 @@
# This hack brought to you by DCL's 255-character command line limit
pure_perl_install ::
- $(NOECHO) $(PERL) -e "print 'read
].File::Spec->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q[ '" >.MM_tmp
- $(NOECHO) $(PERL) -e "print 'write
].File::Spec->catfile('$(INSTALLARCHLIB)','auto','$(FULLEXT)','.packlist').q[ '"
>>.MM_tmp
+ $(NOECHO) $(PERL) -e "print 'read
+].File::Spec->catfile($self->{PERL_ARCHLIB},'auto',$self->{FULLEXT},'.packlist').q[
+'" >.MM_tmp
+ $(NOECHO) $(PERL) -e "print 'write
+].File::Spec->catfile($self->{INSTALLARCHLIB},'auto',$self->{FULLEXT},'.packlist').q[
+'" >>.MM_tmp
$(NOECHO) $(PERL) -e "print '$(INST_LIB) $(INSTALLPRIVLIB) '" >>.MM_tmp
$(NOECHO) $(PERL) -e "print '$(INST_ARCHLIB) $(INSTALLARCHLIB) '" >>.MM_tmp
$(NOECHO) $(PERL) -e "print '$(INST_BIN) $(INSTALLBIN) '" >>.MM_tmp
@@ -1647,12 +1647,12 @@
$(NOECHO) $(PERL) -e "print '$(INST_MAN3DIR) $(INSTALLMAN3DIR) '" >>.MM_tmp
$(MOD_INSTALL) <.MM_tmp
$(NOECHO) Delete/NoLog/NoConfirm .MM_tmp;
- $(NOECHO) $(WARN_IF_OLD_PACKLIST)
].File::Spec->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q[
+ $(NOECHO) $(WARN_IF_OLD_PACKLIST)
+].File::Spec->catfile($self->{SITEARCHEXP},'auto',$self->{FULLEXT},'.packlist').q[
# Likewise
pure_site_install ::
- $(NOECHO) $(PERL) -e "print 'read
].File::Spec->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q[ '" >.MM_tmp
- $(NOECHO) $(PERL) -e "print 'write
].File::Spec->catfile('$(INSTALLSITEARCH)','auto','$(FULLEXT)','.packlist').q[ '"
>>.MM_tmp
+ $(NOECHO) $(PERL) -e "print 'read
+].File::Spec->catfile($self->{SITEARCHEXP},'auto',$self->{FULLEXT},'.packlist').q[ '"
+>.MM_tmp
+ $(NOECHO) $(PERL) -e "print 'write
+].File::Spec->catfile($self->{INSTALLSITEARCH},'auto',$self->{FULLEXT},'.packlist').q[
+ '" >>.MM_tmp
$(NOECHO) $(PERL) -e "print '$(INST_LIB) $(INSTALLSITELIB) '" >>.MM_tmp
$(NOECHO) $(PERL) -e "print '$(INST_ARCHLIB) $(INSTALLSITEARCH) '" >>.MM_tmp
$(NOECHO) $(PERL) -e "print '$(INST_BIN) $(INSTALLBIN) '" >>.MM_tmp
@@ -1661,7 +1661,7 @@
$(NOECHO) $(PERL) -e "print '$(INST_MAN3DIR) $(INSTALLMAN3DIR) '" >>.MM_tmp
$(MOD_INSTALL) <.MM_tmp
$(NOECHO) Delete/NoLog/NoConfirm .MM_tmp;
- $(NOECHO) $(WARN_IF_OLD_PACKLIST)
].File::Spec->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q[
+ $(NOECHO) $(WARN_IF_OLD_PACKLIST)
+].File::Spec->catfile($self->{PERL_ARCHLIB},'auto',$self->{FULLEXT},'.packlist').q[
# Ditto
doc_perl_install ::
@@ -1672,7 +1672,7 @@
$(NOECHO) $(PERL) -e "print q[print '=head2 ',scalar(localtime),':
C<',shift,qq[>\\n\\n=over 4\\n\\n];]" >>.MM2_tmp
$(NOECHO) $(PERL) -e "print q[while(($key=shift) && ($val=shift)) ]" >>.MM2_tmp
$(NOECHO) $(PERL) -e "print q[{print qq[=item *\\n\\nC<$key:
$val>\\n\\n];}print qq[=back\\n\\n];]" >>.MM2_tmp
- $(NOECHO) $(PERL) .MM2_tmp <.MM_tmp
>>%.File::Spec->catfile('$(INSTALLARCHLIB)','perllocal.pod').q[
+ $(NOECHO) $(PERL) .MM2_tmp <.MM_tmp
+>>%.File::Spec->catfile($self->{INSTALLARCHLIB},'perllocal.pod').q[
$(NOECHO) Delete/NoLog/NoConfirm .MM_tmp;,.MM2_tmp;
# And again
@@ -1684,7 +1684,7 @@
$(NOECHO) $(PERL) -e "print q[print '=head2 ',scalar(localtime),':
C<',shift,qq[>\\n\\n=over 4\\n\\n];]" >>.MM2_tmp
$(NOECHO) $(PERL) -e "print q[while(($key=shift) && ($val=shift)) ]" >>.MM2_tmp
$(NOECHO) $(PERL) -e "print q[{print qq[=item *\\n\\nC<$key:
$val>\\n\\n];}print qq[=back\\n\\n];]" >>.MM2_tmp
- $(NOECHO) $(PERL) .MM2_tmp <.MM_tmp
>>%.File::Spec->catfile('$(INSTALLARCHLIB)','perllocal.pod').q[
+ $(NOECHO) $(PERL) .MM2_tmp <.MM_tmp
+>>%.File::Spec->catfile($self->{INSTALLARCHLIB},'perllocal.pod').q[
$(NOECHO) Delete/NoLog/NoConfirm .MM_tmp;,.MM2_tmp;
];
@@ -1694,13 +1694,13 @@
$(NOECHO) $(NOOP)
uninstall_from_perldirs ::
- $(NOECHO) $(UNINSTALL)
].File::Spec->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q[
+ $(NOECHO) $(UNINSTALL)
+].File::Spec->catfile($self->{PERL_ARCHLIB},'auto',$self->{FULLEXT},'.packlist').q[
$(NOECHO) $(SAY) "Uninstall is now deprecated and makes no actual changes."
$(NOECHO) $(SAY) "Please check the list above carefully for errors, and
manually remove"
$(NOECHO) $(SAY) "the appropriate files. Sorry for the inconvenience."
uninstall_from_sitedirs ::
- $(NOECHO) $(UNINSTALL)
],File::Spec->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist'),"\n",q[
+ $(NOECHO) $(UNINSTALL)
+],File::Spec->catfile($self->{SITEARCHEXP},'auto',$self->{FULLEXT},'.packlist'),"\n",q[
$(NOECHO) $(SAY) "Uninstall is now deprecated and makes no actual changes."
$(NOECHO) $(SAY) "Please check the list above carefully for errors, and
manually remove"
$(NOECHO) $(SAY) "the appropriate files. Sorry for the inconvenience."
--- t/installed.t;-0 Mon Mar 25 23:31:20 2002
+++ t/installed.t Tue Mar 26 19:13:07 2002
@@ -56,6 +56,9 @@
# ActivePerl 5.6.1/631 has $Config{prefixexp} as 'p:' for some reason
$prefix = $Config{prefix} if $prefix eq 'p:' && $^O eq 'MSWin32';
+# You can concatenate /foo but not foo:, which defaults in the current directory
+$prefix = VMS::Filespec::unixify($prefix) if $^O eq 'VMS';
+
is( $ei->_is_type( File::Spec->catfile($prefix, 'bar'), 'prog'), 1,
"... should find prog file under $prefix" );
[end of patch]
--
____________________________________________
Craig A. Berry
mailto:[EMAIL PROTECTED]
"Literary critics usually know what they're
talking about. Even if they're wrong."
-- Perl creator Larry Wall