Skip Menu |

This queue is for tickets about the ExtUtils-MakeMaker CPAN distribution.

Report information
The Basics
Id: 46679
Status: resolved
Priority: 0/
Queue: ExtUtils-MakeMaker

People
Owner: Nobody in particular
Requestors: wb8tyw [...] qsl.net
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 6.52
Fixed in: (no value)



Subject: local $ENV{'bin'} = '[.bin]'; # is a noop on VMS.
If the logical name BIN is present, many tests including basic.t will fail. In this case, the line: local $ENV{'bin'} = '[.bin]' does absolutely nothing to fix the issue. The reason is that the local $ENV{'bin'} is not seen by the file system, but the logical name BIN that is a problem still is. So if we are just going to follow the lead of closed bug 44933, then we should just remove this code. Otherwise the fix is something like: if ($^O eq 'VMS') { my $foo = $ENV{'BIN'}; if ((defined $foo) && ($foo !~ /\[\.bin\]/i)) { $ENV{'BIN'} = '[.bin]'; } } This code checks to see if the logical name BIN exists, and if it does, creates a new logical name BIN compatible with what basic.t or the test usually needs. Unfortunately it leaves that BIN logical name behind, because we have no way of determining from inside perl what logical name table and mode the existing logical name BIN was in, so we do not know if the replacement logical name wiped it out, or just hid it. So what may be the best course of action is to abort the test with an error if $ENV{'bin'} exists on VMS with a message explaining why. The ultimate fix is to have the tool GNV not define the BIN logical, but that issue has some hidden dragons in it.
Subject: extutils_t_basic_t.gdiff
Download extutils_t_basic_t.gdiff
application/octet-stream 303b

Message body not shown because it is not plain text.

I've torn out all the bin checks and instead put a warning into the Makefile.PL if its present. http://github.com/schwern/extutils-makemaker/commit/b513bbec7bf9d0d9b7d60812630cf39d4bf05c32 Please check the wording and forward on any suggestions for changing it.