Issue 35186: distutils.command.upload uses deprecated platform.dist with bdist_rpm (original) (raw)

It seems that in issue #1322, platform.dist was deprecated, and is slated for removal in Python 3.8, but it is currently used in distutils.command.upload.upload_file: https://github.com/python/cpython/blob/6843ffe4533e9f2cde036296fd932fef6f059687/Lib/distutils/command/upload.py#L126

As far as I can tell, this line is hit only when you run python setup.py bdist_rpm upload, as far as I can tell.

Using the upload command is itself very deprecated, and is dangerously broken in many ways. See, for example, this setuptools issue: https://github.com/pypa/setuptools/issues/1381

So I see three possible options (two realistic):

  1. Remove the whole "comment" field from the upload, both for bdist_rpm and bdist_dumb. I'm not sure if PyPI uses this for anything, but I highly doubt it.

  2. Have both bdist_rpm and bdist_dumb send a comment based on platform.platform(terse=1)

  3. Remove the upload command functionality entirely for Python 3.8 with no deprecation warning.

Obviously #3 is the unrealistic one, but it's very tempting. That said, I think we should go with #1 and maybe open a separate issue to actually deprecate the upload command in distutils (though to be honest we'll probably monkey-patch it out of existence in setuptools within a year and everyone uses setuptools anyway, so maybe #3 is less unrealistic than it seems).