Re: VMS vs Win32 and Compat.pm is EOL
[email protected] (Eric Wilhelm)
| Newsgroups | perl.module.build |
|---|---|
| Message-ID | <[email protected]> |
# from Ken Williams # on Monday 15 September 2008 20:44: >On Mon, Sep 15, 2008 at 10:07 PM, Eric Wilhelm > ><[email protected]> wrote: >> 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 > >Say what? I see them in Base.pm. By that, I refer to my intent to make them not exist due to the fact that they are not needed and were not documented, so "you didn't see them, they were never here." >> 3. I do not see a good reason why anything should ever be quoted, >> backticked, or split_like_shell. > >splitting_like_shell: because there are various places where someone - >who may be Config.pm - has specified an important snippet of a system >command as a string, not as an array. For example, my >$Config{ccflags} has the following value: > > '-g -pipe -fno-common -DPERL_DARWIN -no-cpp-precomp >-fno-strict-aliasing -Wdeclaration-after-statement >-I/usr/local/include' > >My $Config{malloc_cflags} is even worse, it has the value: > > 'ccflags="-DUSE_PERL_SBRK -DPERL_SBRK_VIA_MALLOC $ccflags"' > >It would be nice to make all these strings go away, but that's even >harder than splitting them. Ok, but that's Config.pm. Users do not need split_like_shell(). Or, at least they should not be encouraged to rely on it. And I don't think it is actually part of the Compat problem. >For the other two, it's been a my intention to limit their use as much >as possible. Every time I backtick or do quoting, a little piece of >me dies. I think having them in the Build object is going to cause trouble. Hopefully I can get down to doing some refactoring once this release goes out. >Yeah, if we could rip the Compat.pm stuff out into another >distribution I would be happy. Let's remember to be gentle to users >who'll expect that if M::B is installed they have Compat >functionality, though. Well, *which* Compat functionality? 1. Generate Makefile.PL * needed for authoring * not a terribly bad source of bugs on the author's machine 2. Installing Module::Build * only needed once * not required for installation, just convenient 3. Installing everything else * causes bugs for M::B and every author using passthru * extremely complicated to get 100% * completely unnecessary Unfortunately, the default prefer_installer setting in CPAN.pm/CPANPLUS.pm causes modes #2 and #3 to appear to be important, but the simple answer to any bugs in the compatibility mode is "turn it off." Sure that's an education problem, but if we have a bug, it would seem that we have the user's attention at that point. Or, we could rewrite the CPAN/CPANPLUS config file by default? --Eric -- Don't worry about what anybody else is going to do. The best way to predict the future is to invent it. --Alan Kay --------------------------------------------------- http://scratchcomputing.com ---------------------------------------------------