[Python-Dev] Keyword meanings [was: Accept just PEP-0426]
MRAB
python at mrabarnett.plus.com
Thu Dec 6 03:42:59 CET 2012
On 2012-12-06 02:12, Stephen J. Turnbull wrote:
> I understand the PEP author's frustration with continued discussion,
> but I think this subthread on Obsoletes vs. Obsoleted-By is not mere
> bikeshedding on names. It matters *which package* presents the
> information.
>
>
> Donald Stufft writes:
> > On Wednesday, December 5, 2012 at 6:18 PM, Barry Warsaw wrote:
> > > On Dec 05, 2012, at 06:07 PM, Donald Stufft wrote:
> > >
> > > > If you're installing B you've prescribed trust to that
> > > > author. If you don't trust the author then why are you
> > > > installing (and then executing) code they wrote.
>
> The author may be a genius when it comes to writing code, and an idiot
> when it comes to distributing it. Distribution is much harder than it
> looks, as you know. Trusting the author's *content* and trusting the
> author's *metadata* are not equivalent!
>
> As far as I can see, the semantics of putting "Obsoletes: A" into B
> without changing A are the same as the semantics of putting "Provides:
> A" into B (without changing A).[1] Only if A includes "Obsoleted-By: B"
> can a user be confident that B is a true successor to A.
>
> Furthermore, as has been pointed out, the presence of "Obsoleted-By"
> in A has the huge advantage of informing users and developers of
> dependent packages alike that A is obsolete when they try to update A.
> If A is not changed, then an attempted update will tell them exactly
> that, and they may never find out about B. But if A is modified in
> this trivial way, the package system can automatically inform them.
> This is also trivial, requiring no database queries.
>
> "Simple is better than complex."
>
That makes sense.
In summary, someone using B won't care that it has replaced A, but
someone using A needs to be told that it has been replaced by B.
More information about the Python-Dev
mailing list