On Mon, Apr 15, 2013 at 11:02 AM, Mike Doherty <dohe...@cs.dal.ca> 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

Reply via email to