Re: MM and filename case (was Re: MakeMaker alpha... so, any problems?)

2003-06-06 Thread Ken Williams
On Thursday, June 5, 2003, at 01:11 AM, Michael G Schwern wrote:

On Wed, Jun 04, 2003 at 10:23:58AM -0500, Ken Williams wrote:
Well, your technique of reading the entire directory just to get the
proper-case name of a single file is no Cat Pajama Suit either.
The only real way to handle it properly if you have no advance
knowledge of the filesystem is to query the OS for the proper casing.
Mac OS X has this ability, it's probably available in other
case-insensitive case-preserving environments too if we wanted to
bother with it.
A far simpler thing to do is just write out a mixed-case filename and
see what you get back from readdir() to test for case preservation.  
For
case sensitivity, just write out a filename and try to open it with a
different casing.
Oh, you're describing how to determine how the current system deals 
with cases.  I was describing how to determine the casing of a file 
when you already know you're on a case-insensitive, case-preserving FS.

 -Ken



Re: MakeMaker alpha... so, any problems?

2003-06-06 Thread Craig A. Berry
At 11:14 PM -0700 6/4/03, Michael G Schwern wrote:
On Wed, Jun 04, 2003 at 05:58:52PM -0500, Craig Berry wrote:
 Could we set up another logical root and use that instead of ../lib?

 I've been thinking of that, and we may even have tried something like that before, 
 but it gets messy trying to add /bfd_lib_root to @INC in a BEGIN block only on VMS 
 (where I guess messy just means I don't know how to do it). 

Is there any reason why:

BEGIN {
if( $^O eq 'VMS' ) {
@INC = ('/mm_lib');
}
else {
@INC = ('lib');
}
}

wouldn't work?  Assuming mm_lib was already set up in 00setup_dummy.t like
/bfd_test_root is?

No reason except that it's not the whole story about how the MM tests set up libraries 
so when I had tried something similar to that it wasn't working.   Once I found and 
also tweaked perl_lib() in Utils.pm I got over this hurdle.  However, we're back where 
we started.  This whole approach of making the t/ directory appear as 
BFD_TEST_ROOT:[00] instead of BFD_TEST_ROOT:[t] buys us nothing because the six 
zeros directory counts against the total when you are using relative paths from it.

I have another idea and will hopefully have a patch out shortly.
-- 

Craig A. Berry
mailto:[EMAIL PROTECTED]

... getting out of a sonnet is much more
 difficult than getting in.
 Brad Leithauser


Re: MM and filename case (was Re: MakeMaker alpha... so, any problems?)

2003-06-06 Thread Michael G Schwern
On Thu, Jun 05, 2003 at 08:45:00AM -0500, Ken Williams wrote:
 Oh, you're describing how to determine how the current system deals 
 with cases.  I was describing how to determine the casing of a file 
 when you already know you're on a case-insensitive, case-preserving FS.

Can't you just look at readdir()?


-- 
Cuius rei demonstrationem mirabilem sane detexi hanc subcriptis 
exigutias non caperet.


Re: [PATCH] VMS directory depth issues (was Re: MakeMaker alpha... so, any problems?)

2003-06-06 Thread Michael G Schwern
On Thu, Jun 05, 2003 at 06:11:58PM -0500, Craig A. Berry wrote:
 I have another idea and will hopefully have a patch out shortly.
 
 And the idea was the very simple one of moving the dummy-install
 directory up a level so it is a sibling of the t directory. That was
 easy to do, doesn't add complexity, and works fine. The attached patch
 was taken against bleadperl but will apply with -p2 against a standalone
 MakeMaker.

Okay.


 --- lib/ExtUtils/t/basic.t;-0 Fri May 23 09:23:28 2003
 +++ lib/ExtUtils/t/basic.tThu Jun  5 12:14:34 2003
 @@ -40,7 +40,7 @@
  ok( chdir 'Big-Dummy', chdir'd to Big-Dummy ) ||
diag(chdir failed: $!);
  
 -my @mpl_out = run(qq{$perl Makefile.PL PREFIX=dummy-install});
 +my @mpl_out = run(qq{$perl Makefile.PL PREFIX=../dummy-install});
  
  cmp_ok( $?, '==', 0, 'Makefile.PL exited with zero' ) ||
diag(@mpl_out);
 @@ -119,12 +119,12 @@
  like( $install_out, qr/^Installing /m );
  like( $install_out, qr/^Writing /m );
  
 -ok( -r 'dummy-install', '  install dir created' );
 +ok( -r '../dummy-install', '  install dir created' );
  my %files = ();
  find( sub { 
  # do it case-insensitive for non-case preserving OSs
  $files{lc $_} = $File::Find::name; 
 -}, 'dummy-install' );
 +}, '../dummy-install' );
  ok( $files{'dummy.pm'}, '  Dummy.pm installed' );
  ok( $files{'liar.pm'},  '  Liar.pm installed'  );
  ok( $files{'.packlist'},'  packlist created'   );
 @@ -172,7 +172,7 @@
  
  
  # Make sure init_dirscan doesn't go into the distdir
 [EMAIL PROTECTED] = run(qq{$perl Makefile.PL PREFIX=dummy-install});
 [EMAIL PROTECTED] = run(qq{$perl Makefile.PL PREFIX=../dummy-install});
  
  cmp_ok( $?, '==', 0, 'Makefile.PL exited with zero' ) || diag(@mpl_out);
  
 --- lib/ExtUtils/t/zz_cleanup_dummy.t;-0  Sat Apr 12 09:54:18 2003
 +++ lib/ExtUtils/t/zz_cleanup_dummy.t Thu Jun  5 12:23:10 2003
 @@ -12,10 +12,12 @@
  
  
  use strict;
 -use Test::More tests = 2;
 +use Test::More tests = 3;
  use File::Path;
  
  rmtree('Big-Dummy');
  ok(!-d 'Big-Dummy', 'Big-Dummy cleaned up');
  rmtree('Problem-Module');
  ok(!-d 'Problem-Module', 'Problem-Module cleaned up');
 +rmtree('dummy-install');
 +ok(!-d 'dummy-install', 'dummy-install cleaned up');


-- 
HA HA HA  You're all so rediculous!  But thanks for the money!


Re: [PATCH] VMS directory depth issues (was Re: MakeMaker alpha... so, any problems?)

2003-06-06 Thread Craig A. Berry
At 6:03 PM -0700 6/6/03, Michael G Schwern wrote:
On Thu, Jun 05, 2003 at 06:11:58PM -0500, Craig A. Berry wrote:
  And the idea was the very simple one of moving the dummy-install
  directory up a level so it is a sibling of the t directory.

Okay.

  -my @mpl_out = run(qq{$perl Makefile.PL PREFIX=dummy-install});
  +my @mpl_out = run(qq{$perl Makefile.PL PREFIX=../dummy-install});

Oops.  It occurs to me that rather than ../dummy-install those
should really do a File::Spec-catdir(File::Spec-updir,
'dummy-install');  I'll work up a patch against 6.10_05.
-- 

Craig A. Berry
mailto:[EMAIL PROTECTED]

... getting out of a sonnet is much more
 difficult than getting in.
 Brad Leithauser


[ANNOUNCE] ExtUtils::MakeMaker 6.10_05

2003-06-06 Thread Michael G Schwern
http://www.pobox.com/~schwern/src/ExtUtils-MakeMaker-6.10_05.tar.gz or
a CPAN near you!

The important stuff:

META.yml better documented.
make install UNINST=1 fixed.
VMS fixes.

6.10_05 Fri Jun  6 18:15:30 PDT 2003
* Documenting META.yml, NO_META
* Documenting the fact that distdir will auto generate META.yml and 
  alter your manifest.
* Adding META.yml autogeneration to the FAQ
- Recognizing comments with leading whitespace in MANIFESTs better.
- Small ExtUtils::Liblist::Kid problem on VMS (Craig Berry)
* Fixed make install UNINST=1.  Appears to have been broken somewhere
  around 6.06_01.
- Documented the fourth argument to ExtUtils::Install::install()
- install() will now honor a PERL5LIB change between ExtUtils::Install
  loading and install() running when uninstalling shadows.
- META.yml generation deals gracefully when the MANIFEST is read-only
  (Slaven rt.cpan.org 2723)
- Fixing tests on limited dir depth VMS systems by moving the 
  dummy-install dir one level up (Craig Berry rt.cpan.org 2747)

6.10_04 Fri May 23 01:13:04 PDT 2003
- Working around BSD threaading bug in version check. [from bleadperl]
- Added the Makefile to the dist dependencies. (Slaven Rezic)
- Reversing the find_perl() version check failure warning introced in
  6.10_03.  Too talkative, warned when nothing was wrong.
* Fixing META.yml auto-addition when there's no newline at the end 
  of the MANIFEST [rt.cpan.org 2444]
* Making it a bit more obvious in the MANIFEST where META.yml comes from.
- Fixed $_ clobbering in ExtUtils::Manifest functions.
- [rt.cpan.org 2591] some LD_RUN_PATH thing (Marek Rouchal)
- Added core.\d+ files to 'make clean' [rt.cpan.org 2543] (Slaven Rezic)
- INST_* targets were expanded too early (Stas Bekman)
- Adding ExtUtils::MakeMaker::bytes (bytes.pm backwards compat wrapper)
- Fixing MM_MacOS so it will compile on 5.5.x machines (use bytes wrapper)
* Reducing perldepend set of CORE/*.h dependencies to what 5.5.3 has.
  5.5.3 should be able to compile XS again.
* Eliminating fakethr.h and perlsfio.h from VMS's perldepend as they
  sometimes don't get installed.
- ExtUtils::Install was making a few directories even with the
  don't really do it switch on (Slaven Rezic)
* can build static linked perl binaries again.  Probably damaged in
  6.06_01 when $self-{MAKEFILE} became FIRST_MAKEFILE. (Nick Clark)

-- 
AY!  The ground beef, she is burning my groin!
http://sluggy.com/d/990105.html


Re: [ANNOUNCE] ExtUtils::MakeMaker 6.10_05

2003-06-06 Thread Craig A. Berry
There is one test failure on VMS:

t/liblist...
Can't use string (ExtUtils::Liblist) as a HASH ref while strict refs 
in use at 
/D0/CRAIG/EXTUTILS-MAKEMAKER-SNAP/blib/lib/ExtUtils/Liblist/Kid.pm line 378.

This is in the _vms_ext method. I think it's because $self has to be an
ExtUtils::MakeMaker reference (per the comment at the top of Kid.pm) but
instead it's an ExtUtils::Liblist reference.