in reply to Re^3: Update these modules if installed?
in thread Update dependants if installed (was: Update these modules if installed?)

IIUC, your question could therefore be generalized as: "How do I, as maintainer of both the Foo and Bar modules, ensure that Bar, which is dependant upon Foo, is automatically updated whenever Foo is updated ?"

More precisely, "How do I, as maintainer of both the Foo and Bar modules, ensure that Bar, which is dependant upon Foo, is automatically updated when there is a new version Foo that is backward incompatible, which sometimes happens?" Which of course is also solved by putting Foo and Bar in the same distro :-)

It's only a problem if those prereqs themselves specify a version of Log::ger that's newer than the Log::ger that's currently installed. (And there must be a Log::ger that's "currently installed", or the "list of prereqs" would be empty.) So, I guess that's the issue.

Which will be the case everytime. Say the user currently has Log::ger 0.032 and Log::ger::Plugin::Foo 0.001 (which depends on Log::ger 0.027). She wants to upgrade to Log::ger 0.033. This version is backward incompatible with 0.032 and I have also released Log-ger-Plugin-Foo 0.002 which depends on Log::ger 0.033. Now suppose Log::ger 0.033 adds Log::ger::Plugin::Foo 0.002 as a prereq to trigger its update. This will also instruct CPAN client to install Log::ger 0.033 and that's when it complains with circular dependency problem, because Log::ger 0.033 is not installed yet.

  • Comment on Re^4: Update these modules if installed?