I think we've got some semblance of a plan forming. Now we just need to
get all of the players involved and do it, right?
Approximately:
1. CPAN(PLUS) needs-upgrade self-awareness
2. configure_requires in META.yml
(and support in M::B, M::I, CPAN(PLUS))
3. create_makefile_pl => 'obsoleted'
# from Adam Kennedy on Wednesday 23 May 2007 04:27 am:
>Eric Wilhelm wrote: >>So, wouldn't the answer be "upgrade CPAN"?
>However, it's only a reasonable answer if it's a one-off action, which
>currently it is not.
Exactly. We just need CPAN(PLUS) to know they need to upgrade. After
the day those are published and mirrored, it is a one-off action.
>The second half of the upgrade work is to allow the CPAN repository to
>communicate to the CPAN client (by a mechanism that's basically "a
> file" but is still not fully defined) that it is incompatibly out of
> date.
I think that's the primary requisite bit for CPAN(PLUS). The clients
need to upgrade themselves.
We can't exactly configure_requires CPAN+CPANPLUS for Module::Build
(well, we can, but a "you must install both" could be somewhat
annoying.)
As for the mechanism, wouldn't a "major version bump" be sufficient
notice to cause CPAN(PLUS) to upgrade? The mechanics for distributing
that information are already there.
>> So, given all of that, my preferred compatibility Makefile.PL is
>> like:
>>...
>Some suitably blessed and battle-ready variant of that snippit would
>probably be the best solution for educating the user about the need to
>upgrade.
>...
>PLEASE don't start doing this until configure_requires is added to
>META.yaml (and can we please do this someone, I think everyone is
> happy at this point) and implemented in both CPAN clients.
Yes.
Thanks,
Eric
--
"Politics is not a bad profession. If you succeed there are many
rewards, if you disgrace yourself you can always write a book."
--Ronald Reagan
---------------------------------------------------
http://scratchcomputing.com
---------------------------------------------------