diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6af3ac7958..b348056b7d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -7,10 +7,10 @@ jobs: strategy: matrix: python: + - pypy3 - 3.6 - 3.9 - 3.10.0-alpha - 3.10.99 - - pypy3 platform: [ubuntu-latest, macos-latest, windows-latest] runs-on: ${{ matrix.platform }} steps: diff --git a/.gitignore b/.gitignore index 90ae80505e..dc14826ec8 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ docs/build include lib distribute.egg-info +foo.egg-info setuptools.egg-info .coverage .eggs diff --git a/changelog.d/1988-change.rst b/changelog.d/1988-change.rst new file mode 100644 index 0000000000..4f10463930 --- /dev/null +++ b/changelog.d/1988-change.rst @@ -0,0 +1,2 @@ +Deprecated the ``bdist_rpm`` command. Binary packages should be built as wheels instead. +-- by :user:`hugovk` diff --git a/setuptools/command/bdist_rpm.py b/setuptools/command/bdist_rpm.py index 0eb1b9c254..98bf5dea84 100644 --- a/setuptools/command/bdist_rpm.py +++ b/setuptools/command/bdist_rpm.py @@ -1,4 +1,7 @@ import distutils.command.bdist_rpm as orig +import warnings + +from setuptools import SetuptoolsDeprecationWarning class bdist_rpm(orig.bdist_rpm): @@ -11,6 +14,12 @@ class bdist_rpm(orig.bdist_rpm): """ def run(self): + warnings.warn( + "bdist_rpm is deprecated and will be removed in a future " + "version. Use bdist_wheel (wheel packages) instead.", + SetuptoolsDeprecationWarning, + ) + # ensure distro name is up-to-date self.run_command('egg_info') diff --git a/setuptools/tests/test_bdist_deprecations.py b/setuptools/tests/test_bdist_deprecations.py new file mode 100644 index 0000000000..28482fd027 --- /dev/null +++ b/setuptools/tests/test_bdist_deprecations.py @@ -0,0 +1,27 @@ +"""develop tests +""" +import mock +import sys + +import pytest + +from setuptools.dist import Distribution +from setuptools import SetuptoolsDeprecationWarning + + +@pytest.mark.skipif(sys.platform == 'win32', reason='non-Windows only') +@mock.patch('distutils.command.bdist_rpm.bdist_rpm') +def test_bdist_rpm_warning(distutils_cmd): + dist = Distribution( + dict( + script_name='setup.py', + script_args=['bdist_rpm'], + name='foo', + py_modules=['hi'], + ) + ) + dist.parse_command_line() + with pytest.warns(SetuptoolsDeprecationWarning): + dist.run_commands() + + distutils_cmd.run.assert_called_once()