On 8/13/19 12:38 PM, peter green wrote: > Hi > > I've been looking at various python 2 cruft packages (packages no longer > built by the corresponding source packages) and why they can't be > cleaned up, I have been looking in a derivative but many of my results > are also relevant to debian proper. Where relevant I have been filing > bugs against the reverse-dependencies of these cruft packages, so they > can be fixed or ultimately removed. > > Most such packages have been part of upstream projects that have dropped > python 2 support, notablly django and openstack. In such cases it is > pretty clear that the only reasonable way forward is for the reverse > dependencies to be either removed or migrated to python 3. > > One package that stood out from the rest was python-monotonic. > python-monotonic is maintained by the Debian openstack team, but it > doesn't seem to be in any way openstack specific, nor does upstream seem > to have dropped python2 support. It seemed to have a fair few reverse > dependencies. > > python-humanfriendly (has rdeps) > oz (rc bug filed https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=933509 ) > python-fasteners (has rdeps) > python-futurist (has rdeps, cruft) > python-octaviaclient (assumed to be openstack related) > python-oslo.log (assumed to be openstack related) > python-oslo.messaging (assumed to be openstack related) > python-oslo.service (assumed to be openstack related) > python-oslo.utils (assumed to be openstack related) > python-tenacity (has rdeps, cruft) > > There are also indirect reverse dependencies, (i'm not investigating > reverse dependencies of packages that are clearly openstack specific here) > > python-coloredlogs (via python-humanfriendly, no reverse dependencies) > python-datalad (via python-fasteners, no reverse dependencies) > duplicity (via python-fasteners) > python-oauth2client (via python-fasteners) > python-oslo.concurrency (via python-fastners, openstack related) > python-taskflow (via python-fasteners, cruft) > python-tooz (via python-fasteners, openstack related, cruft) > python-googleapi (via python-oauth2client) > python-pypowervm (via python-taskflow, openstack related, cruft) > python-googleapi-samples (via python-googleapi) > python-etcd3gw (no rdeps) > python-gnocchiclient (openstack related, cruft) > > If we ignore openstack stuff, python modules and an examples package the > two main packages left seem to be oz and duplicity, oz seems to have > very low popcon, but duplicity seems to have a popcon of around 3000 and > growing. > > So the main question seems to be can duplicity be reasonably migrated to > python 3 and if not is it worth reinstating the python-monotonic binary > package to save duplicity?
What happened is that I simply uploaded the latest version of OpenStack from Experimental to Sid. This includes monotonic. It's been a long time I maintain monotonic because it's used in OpenStack, then other packages started using it. You may have noticed that it was in Experimental with Python 2 removed for at least 6 months, just like for Django, giving the sign that Py2 would soon go away. However, maybe bugs should have been filled, sorry that I didn't do it in time. Let's take a look at the situation. As per Andrey's reply, we can fix duplicity. >From your report above, if I remove all the OpenStack stuff (which at this time, should all be only Python 3), the only affected packages would be: > python-humanfriendly (has rdeps) > oz (rc bug filed #933509) > python-coloredlogs (via python-humanfriendly, no reverse dependencies) > python-datalad (via python-fasteners, no reverse dependencies) > duplicity (via python-fasteners) > python-oauth2client (via python-fasteners) > python-googleapi-samples (via python-googleapi) According to the setup.py of python-googleapi in the Github repo, latest upstream version supports Python 3, so it should be doable to upload a new version to fix this. I will remove Python 2 suport from python-oauth2client and python-fasteners tomorrow. So, this leaves us only: humanfriendly, oz, python-coloredlogs, python-datalad. I've uploaded humanfriendly and coloredlogs Py2 removal. BTW, I believe python-coloredlogs was there as a build-depends of cyvcf2, which has been fixed on the 1st of august by Andreas Tille. By all means, let's not play the dance of re-introducting Python 2 when we can move forward on the right direction. Thanks for taking the time to investigate this, this is very useful, and I have to admit that, even though I know how to do the work, I am a bit lost into knowing from were to begin. The release tracker is not very helpful in this regard. Cheers, Thomas Goirand (zigo)