VMS vs Win32 and Compat.pm is EOL
[email protected] (Eric Wilhelm)
| Newsgroups | perl.module.build |
|---|---|
| Message-ID | <[email protected]> |
Hi all,
I'm looking through the history to try to figure out the onion in the
varnish and finding:
r5842 | kwilliams | 2006-03-24 15:26:44 -0800 (Fri, 24 Mar 2006)
Fix some VMS quoting issues and add _backticks() and _quote_args()
methods
r11462 | kwilliams | 2008-06-27 20:15:04 -0700 (Fri, 27 Jun 2008)
Added a one-liner builder at Schwern's suggestion
So:
1. The failing tests on win32 have to do with _quote_args().
2. _quote_args() is only ever used internally by:
a. _backticks() and oneliner() -- neither of which actually exist
b. by do_system() on VMS -- please enlighten me.
3. I do not see a good reason why anything should ever be quoted,
backticked, or split_like_shell.
Re: 2b. VMS has no system($command, @and_args) ?
Re: 2a. oneliner() returns a string to run 'perl -e ...' and only gets
used in the Compat.pm code where... It gets pasted into the Makefile.
This entire 'make' compat business is completely silly to me and I
would really rather ship with no Compat.pm and t/compat.t than mess with
any of it one minute longer.
In any case, oneliner() should not be in Base.pm and trying to chase
perfect quoting and coverage of all of the shells in the world is a
negative-sum game because it is not something anybody actually needs to
do and it just adds bugs to the M::B test suite without contributing
anything to the code.
As in: Oh, your system has various nits with shell quoting? Well, once
you've installed Module::Build and configured your installer to run the
Build.PL first, you'll never have to worry about that again!
So, the compatibility mode doesn't need to work any better than 80%
(well, 20% as far as I'm concerned) and we've already lost far too much
time and energy to get it to this point.
Meaning that: The next time I sit down to work on Module::Build, the
first thing I'm going to do is move the t/compat.t file into xt/
because we have zero reason to test that on the user's computer (if it
doesn't work there and they are installing M::B via Makefile.PL, we
probably won't get that far anyway!)
--Eric
--
software: a hypothetical exercise which happens to compile.
---------------------------------------------------
http://scratchcomputing.com
---------------------------------------------------