Re: Proposal on how to proceed with Python 2 removal from bullseye

2020-01-06 Thread Sandro Tosi
On Sun, Dec 22, 2019 at 5:58 AM Simon McVittie  wrote:
>
> On Wed, 18 Dec 2019 at 01:08:11 -0500, Sandro Tosi wrote:
> > let me know if this makes sense or additional changes are required.
>
> #942941 in src:dbus-python was bumped to serious because:
> > python-dbus-tests is a module and has 0 external rdeps or not in testing
>
> Please could you give python-dbus-tests or *-tests an exception to the
> RC severity bumps, or only bump the severity if *every* Python 2 binary
> package in a source package is eligible for removal, or something?
> python-dbus still has a significant number of rdeps, and I don't want to
> support python-dbus without keeping its automated tests available.

i just implement what asked here, with also a "rollback" functionality
that will downgrade any RC bug for a source with not-leaf packages.
there's a chance some bugs which severity was raised by hand (f.e.
because a dependency package was removed) will get reverted to normal,
we'll see how it goes. the change will go live in a few minutes.

-- 
Sandro "morph" Tosi
My website: http://sandrotosi.me/
Me at Debian: http://wiki.debian.org/SandroTosi
Twitter: https://twitter.com/sandrotosi



Re: Proposal on how to proceed with Python 2 removal from bullseye

2019-12-22 Thread Simon McVittie
On Wed, 18 Dec 2019 at 01:08:11 -0500, Sandro Tosi wrote:
> let me know if this makes sense or additional changes are required.

#942941 in src:dbus-python was bumped to serious because:
> python-dbus-tests is a module and has 0 external rdeps or not in testing

Please could you give python-dbus-tests or *-tests an exception to the
RC severity bumps, or only bump the severity if *every* Python 2 binary
package in a source package is eligible for removal, or something?
python-dbus still has a significant number of rdeps, and I don't want to
support python-dbus without keeping its automated tests available.

For now I've downgraded it back to normal.

Thanks,
smcv



Re: Proposal on how to proceed with Python 2 removal from bullseye

2019-12-17 Thread Sandro Tosi
> 1) all Python 2 removal bugs *can* be raised to RC level by the
> maintainers of the packages they belong to, but:
>
> 2) maintainers of non-key packages should carefully consider the
> backslash for their transitive reverse (normal, build and test)
> dependencies before raising the bug severity level and in my opinion
> should hold off doing that if there are many that need adaption for the
> Python 2 support removal. To be absolutely clear of my intent, if there
> is only a *very* limited set that needs adaption but they have a large
> set of reverse dependencies that is not what I mean here. The
> maintainers of the large set of reverse dependencies have a joint
> incentive to fix the issue if the maintainer of the to-be-adapted
> package(s) doesn't step up to fix the situation.
>
> 3) packages with unfixed reverse (normal, build or test) dependencies,
> that want to drop Python 2 support should first make sure their unfixed
> reverse dependencies have RC bugs themselves (but please take the
> consideration of 2 into account), stating at least something like
> "source package $foo is soon going to remove the binary $bar package on
> which the $baz package (build) depends, please fix that".
>
> To avoid problems with bug fixes that need to migrate to testing soon,
> please don't upload the Python 2 support drop immediately, but wait
> until either the reverse dependencies are fixed or the date for the
> autoremoval is near.
>
> 4) leaf packages (i.e. without normal, build or test reverse
> dependencies) that need to be adapted themselves for the Python 2
> removal can be marked as RC.
>
> 5) Please continue to use the approach used so far as well, but please
> also add checks on build dependencies.

i've modified the py2removal script as follow:

- extended the "real rdeps" concept as follow: while processing pkgA,
pkgB is a "real" reverse dependency of pkgA iff
-- pkgB is from another source package than pkgA (so python-foo-dbg
will not longer be marked as a rdep of python-foo, as ideally they
will get removed at the same time, as part of the same src:foo pkg)
-- if the pkgB is in testing (there are several packages in unstable
broken beyond repair, so even if we remove pkgA, it will still remain
broken but we can make progress on the py2removal front)
- added the check "real rdeps" == 0 both for modules and applications
(previously it was only for modules).

a test run shows only 3 additional severity bumps will happen when
re-enable, which i plan on doing with the next run (in 8~10 hours).

let me know if this makes sense or additional changes are required.

Regards,
-- 
Sandro "morph" Tosi
My website: http://sandrotosi.me/
Me at Debian: http://wiki.debian.org/SandroTosi
Twitter: https://twitter.com/sandrotosi



Proposal on how to proceed with Python 2 removal from bullseye

2019-12-14 Thread Paul Gevers
Dear all,

TL;DR: as the subject suggests, proposal included, although not fully
aligned with others.

On 08-12-2019 20:55, Sandro Tosi wrote:
> there seems to be disagreement on how to proceed, so for the time
> being i suspended the severity bump part of the py2removal tracking
> script. let me know when everybody agrees on a solution, and what that
> solution is, and i'll code it and re-enable.

[...]

>> On 03-12-2019 13:19, Matthias Klose wrote:
>>> It's unfortunate that issues for some packages only get attention when the
>>> severity of an issue is raised.  Following your proposal means that the 
>>> issue is
>>> probably ignored forever, and you don't propose a better way going forward, 
>>> just
>>> saying we should stop earlier.  I don't think that's the correct choice.  
>>> For
>>> now these seem to be single packages, so please could you name those, and 
>>> we can
>>> look at those with a priority?  That's at least a path that is forward 
>>> looking,
>>> or feel free to propose another approach better than your current proposal 
>>> for
>>> not getting the attention of maintainers.
>>
>> I guess what I'm asking for could be fulfilled by an announcement to
>> d-d-a with a package list (including via which package(s) they are
>> affected) attached including the standard grouping by DD. And then some
>> time to react.

It has been brought to my attention (thanks ginggs) that I have been
focused too much on the release teams side of the story and on the
maintainer of reverse dependencies side of the story. There are more
facets to the Python 2 removal, my aim of this e-mail is to make it more
balanced.

For full clarity, in my mind the discussion about using RC status to
have the autoremoval process enable the clean up in bullseye was about
the question to the release team if they would support making Python 2
removal bugs RC *from the release teams point of view*. In my reasoning
and responses, I fully forgot the description of serious in the BTS that
explicitly (and in my opinion rightfully) mentions the package maintainer:
"""
is a severe violation of Debian policy (roughly, it violates a "must" or
"required" directive), or, in the package maintainer's or release
manager's opinion, makes the package unsuitable for release.
"""
which is reflected in the release team rc_policy for the last couple of
releases [1].

So, to conclude, within Debian it is considered to be in the full power
of a maintainer to raise the severity of their own package to serious.
Hence, in hindsight I believe the question to the release team was
mostly about Python maintainers marking bugs of *other* maintainers as
RC. I believe that for that last category, the careful approach taken by
the people behind the Python 2 removal and requested in my
communications is warranted.

That said, and keeping in mind that autoremovals only work on non-key
packages [2] and that there is always a social side to invasive changes,
I come with the following *proposal* containing a few items. In all, it
may even speed up the Python 2 removal process:

1) all Python 2 removal bugs *can* be raised to RC level by the
maintainers of the packages they belong to, but:

2) maintainers of non-key packages should carefully consider the
backslash for their transitive reverse (normal, build and test)
dependencies before raising the bug severity level and in my opinion
should hold off doing that if there are many that need adaption for the
Python 2 support removal. To be absolutely clear of my intent, if there
is only a *very* limited set that needs adaption but they have a large
set of reverse dependencies that is not what I mean here. The
maintainers of the large set of reverse dependencies have a joint
incentive to fix the issue if the maintainer of the to-be-adapted
package(s) doesn't step up to fix the situation.

3) packages with unfixed reverse (normal, build or test) dependencies,
that want to drop Python 2 support should first make sure their unfixed
reverse dependencies have RC bugs themselves (but please take the
consideration of 2 into account), stating at least something like
"source package $foo is soon going to remove the binary $bar package on
which the $baz package (build) depends, please fix that".

To avoid problems with bug fixes that need to migrate to testing soon,
please don't upload the Python 2 support drop immediately, but wait
until either the reverse dependencies are fixed or the date for the
autoremoval is near.

4) leaf packages (i.e. without normal, build or test reverse
dependencies) that need to be adapted themselves for the Python 2
removal can be marked as RC.

5) Please continue to use the approach used so far as well, but please
also add checks on build dependencies.

Paul

[1] https://release.debian.org/buster/rc_policy.txt
[2] https://udd.debian.org/cgi-bin/key_packages.yaml.cgi



signature.asc
Description: OpenPGP digital signature