Craig A. Berry wrote:
At 12:05 PM -0500 9/29/07, John E. Malmberg wrote:
Ken Williams wrote:
On Sep 28, 2007, at 11:42 PM, Craig A. Berry wrote:
The code preceded by plus signs is actually the older code that is
not in blead and it was cut out intentionally. I forget the exact
details but attempting to parse version numbers causes more problems
than it solves.
Yes, now I remember that we discussed this on the main list, but I also
forget the details, but you did have some cases where the version number
interfered with things.
diff -ur /Users/ken/Downloads/perl/bleadperl/lib/Module/Build/ Platform/VMS.pm
lib/Module/Build/Platform/VMS.pm
--- /Users/ken/Downloads/perl/bleadperl/lib/Module/Build/Platform/ VMS.pm
2007-09-28 23:43:35.000000000 -0500
+++ lib/Module/Build/Platform/VMS.pm 2007-09-28 20:51:56.000000000 -0500
@@ -195,9 +195,8 @@
# Need to create with the same name as DynaLoader will load with.
if (defined &DynaLoader::mod2fname) {
- my $file = $$spec{module_name} . '.' . $self->{config}->get ('dlext');
- $file =~ tr/:/_/;
- $file = DynaLoader::mod2fname([$file]);
+ my $file = DynaLoader::mod2fname([$$spec{base_name}]);
+ $file .= '.' . $self->{config}->get('dlext');
$$spec{lib_file} = File::Spec->catfile($$spec{archdir}, $file);
}
Apparently mod2fname on VMS for deals with conversion of the ":". This appears
to be one of Craig's fixes.
So in this case mod2fname on VMS does not deal with the ':'. Should it
really be fixed there, or does this case only apply to Module build.
@@ -220,36 +219,6 @@
return $result;
}
-=item dist_dir
-
-Inherit the standard version but replace embedded dots with underscores
because
-a dot is the directory delimiter on VMS.
-
-=cut
-
-sub dist_dir {
- my $self = shift;
-
- my $dist_dir = $self->SUPER::dist_dir;
- $dist_dir =~ s/\./_/g;
- return $dist_dir;
-}
This is right for ODS-2 volumes, I think it will need to be fixed on ODS-5 as
dots are allowed inside of directory specifications.
The fact that on ODS-5 you can have a dot in a directory name does
not mean that you should or that you have to. Since dot is the
directory delimiter, that would be like having a slash in a directory
name on UNIX; probably possible with proper escaping, but gosh what a
pain.
As long as this is used to create a directory and not find an existing
directory on VMS this should be fine.
An update to the comment may help prevent confusion in the future by me
when I forget this.
-John
[EMAIL PROTECTED]
Personal Opinion Only