Michael G Schwern wrote:
# MCR dsa0:[sys0.syscommon.perl-5_8_4]perl.exe "-MExtUtils::Manifest=manicopy,maniread" -e "manicopy(maniread(),'Big-Dummy-0_01', 'best');"# mkdir Big-Dummy-0_01 # mkdir Big-Dummy-0_01/bin # -e: bin/program not found at -e line 1 # Can't read bin/program: no such file or directory
This is distdir failing. Something to do with the executable file I added to the dummy distribution to test how MakeMaker handles executables. I guess there's a problem.
I wonder if it has to do with VMS's desire to stick dots on the end of files.
That was my first theory as well, but that's not it. It's the result of the fact that I have a logical name "bin" defined, so it looks for bin/foo there rather than in the local relative path. Simply prepending ./ seems to do the trick:
$ show logical bin "BIN" = "gnu:[bin]" (LNM$SYSTEM_TABLE)
$ perl -e "open(F,qq/<$ARGV[0]/) or die qq/$!/;" bin/chown $
succeeds because chown does actually exist in gnu:[bin]
$ perl -e "open(F,qq/<$ARGV[0]/) or die qq/$!/;" bin/instmodsh no such file or directory at -e line 1. %RMS-E-FNF, file not found
fails because instmodsh does not exist in gnu:[bin]
$ perl -e "open(F,qq/<$ARGV[0]/) or die qq/$!/;" ./bin/instmodsh $
succeeds because the additional syntax disambiguates it. We had to do something like this to File::Find some time ago.
Do you want a patch to cp_if_diff in Manifest.pm or do you already have an idea of how you want to handle this?