there's a misunderstanding, so I'll reply to the part of your email
where I think we're in mostly in agreement first:
On Thu, Sep 13, 2018 at 01:51:10PM -0500, Jason L Tibbitts III wrote:
>>>>> "ZJ" == Zbigniew Jędrzejewski-Szmek
ZJ> With the policy of "obsolete from fedora-obsolete-packages
ZJ> sometimes" we'll always be playing whack-a-mole because with
ZJ> approx. 2800 subpackages becoming obsolete, it is absolutely
ZJ> guaranteed that some maintainers get it wrong.
I would think that centralizing the obsoletes would make things better,
not worse. It's certainly better than "obsolete from some other random
package". And if we _know_ that there will be dependency problems (such
as the old python2 package itself having to be obsoleted) then there isn't
much of a question here, is there? The obsoletes would need to be
Yes, I think obsoleting from fedora-obsolete-packages is perfectly OK.
My beef was with obsoleting being optional. I'd like the policy to be
"python2- subpackage SHOULD be obsoleted from fedora-obsolete-packages.".
ZJ> IMHO a simple policy of "always obsolete" is the
only thing that can
ZJ> work at this scale.
What scale are you talking about? It's not clear to me if you're
disagreeing with the entire concept of the distribution being
conservative about removing packages from end-user systems, or if you
have an argument that all python2 packages will need to be obsoleted
regardless. If that's the case, then talking about the robustness of
the policy seems odd because you're not actually disagreeing with it.
You should instead simply make your argument so we can get on with
I'm disagreeing with the part of the policy that makes obsoleting
conditional on some unspecified future problems. I'm convinced that
this is not robust in the sense that not-obsoleted package will to
many small problems for users during upgrades.
ZJ> Heh, I don't think the FPC policy is very robust.
It's as robust as is reasonable to implement.
When fedora-obsolete-packages was introduced, there was considerable
controversy over whether it is remotely acceptable to remove installed
packages from end user systems when those packages aren't causing actual
problems for anyone. The decision was made that they would be removed
only when they cause dependency issues, and that this would be limited
as much as possible to updates between Fedora releases.
Ack. "between releases" is important.
So, that's fedora-obsolete-packages. If you think it should be
feel free to bring it before FESCo and go through the discussion again.
Personally I agree with the original decision: We should not simply be
yanking software off of someone's system unless we simply have to do so
because the system cannot be updated otherwise.
I understand the motivations for the policy, but to me the assumptions
about the effect of various choices that guided the creation of that
policy are not entirely valid anymore.
The primary now-invalid assumption is that users can
a) tell which packages have been abandoned by the distribution,
b) make a choice whether to keep them or not.
I'm pretty sure that with gnome-software (or any other graphical updater)
all the user can say is "some packages are not being updated". With dnf,
it's a bit better, but still pretty hard to figure out.
ZJ> We know from experience that when users see "80 packages
ZJ> upgraded and were skipped", they don't like it.
Unless they are relying on those packages for something, of course. If
you've figured out how to tell that's the case, feel free to give
details. I would rather have an occasional message whenever possible
rather than breaking someone's setup, but that's just me.
As I wrote before, and I don't think anybody disagrees, users learn
about abandoned packages only when the package managers tells them
that some *other* packages cannot be upgraded. It is not obvious which
of the huge set of packages that dnf lists is the "real offender".
Instead, when we obsolete packages from fedora-obsolete-packages, the
message is clearer: "Removing python-foo, obsoleted by
A power user can do 'dnf --exclude python-foo' and keep the old
package if they wish. Normal users just get the package removed.
This would only happen during Fedora version upgrades, where users are
faces with changes anyway and learn to adapt to them.
To summarize, I'd rather have users see "Removing python2-foo,
python2-bar, obsoleted by fedora-obsolete-packages", then "Cannot
update python2-xxx, no candidate for install", and to achieve this,
I think the policy should be to add all those python2- packages to