Closed hroncok closed 4 years ago
I suspect there's also a lot of build-time binaries that happen to run on Python 2.
I won't have time to make this shiny soon, but in the mean time, try:
from portingdb.load_data import get_data
data = get_data('data')
for name, pkg in data['packages'].items():
if pkg['status'] == 'py3-only' and (pkg['deps'] or pkg['build_deps']):
print(name)
for dep in pkg['deps']:
print(' R:', dep)
for dep in pkg['build_deps']:
print(' BR:', dep)
(FWIW, one thing I learned from this iteration is that storing a densely connected graph in dicts, rather than a database or dataclasses, means that print
-ing out one thing tries to print out all of the data. That probably makes exploring the data way harder than it should be. Sorry!)
For the reference, this is the current result:
Those are mostly:
I'm filing PRs but I guess anyone can chip in and do the same. It's tedious but not enough to automate.
I don't think it makes sense to automate this, now that we have the FESCo exception process. Please reopen if you disagree.
I'd like to see packages that are marked Python 3 only but have Python 2 dependencies.
If a separate new category is overkill, a summary page would do.
Usually this marks a big mistake in packaging. I've noticed we have a quite a few, when I've seen the graph from https://github.com/fedora-python/portingdb/pull/491