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?

Reply via email to