Re: Conflicts in the meta spec

[email protected] (Jan Dubois)
Newsgroups perl.qa
Message-ID <CAD-TLz8cY1LYDyOqWa8_B=ENVtaxMLqr7SizRhTNay2CAi9QAQ@mail.gmail.com>
On Mon, Apr 15, 2013 at 11:02 AM, Mike Doherty <[email protected]> wrote:
> On 13-04-15 01:56 PM, Michael G. Schwern wrote:
>>
>> Why we need this, why you can't do it with "requires" is because this is
>> for modules which you do not depend on.  Often they depend on you.
>> MooseX::Blah depends on Moose, so Moose declares conflict with versions
>> of MooseX::Blah it breaks.
>
>
> This requires Moose maintainers to know about all the things their releases
> break. Have you considered reversing the directionality so MooseX::Blah
> knows about the things which break it? That seems like a more likely
> scenario to me, and lets the right maintainer control the "conflicts"
> relationship.

Ideally, you would have this information in both locations, as users
can install in either sequence:

1) New install: MooseX::Blah requires Moose, so Moose will install
first.  Moose cannot warn because MooseX::Blah isn't installed yet.
So MooseX::Blah needs to warn during installation.

2) Older version of Moose and latest version of MooseX::Blah already
installed. User updates Moose.  Moose should warn that it will break
already installed MooseX::Blah.

I've run into this scenario with DBI and DBD::AnyData before, where
only DBI warns about the conflict, but DBD::AnyData doesn't:

https://rt.cpan.org/Public/Bug/Display.html?id=83293

Cheers,
-Jan
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.