From dfc1db8b6dd7fd8b41d689ff8f5b57496f425216 Mon Sep 17 00:00:00 2001 From: Jeremy Stanley Date: Mon, 6 Jan 2025 20:11:29 +0000 Subject: [PATCH] Evacuate most metadata out of setup.cfg Lots of tools assume the existence of a pyproject.toml means package metadata will be specified there. Do that, and leave a minimal setup.cfg behind that just keeps the one key PBR crashes without. Change-Id: I3f4fba1ee5be8416db67f396492d5d6dd04983a7 --- pyproject.toml | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++ setup.cfg | 54 +++------------------------------------------ 2 files changed, 62 insertions(+), 51 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 2a38d6b..1aabfab 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,3 +1,62 @@ [build-system] requires = ["pbr>=6.1.1"] build-backend = "pbr.build" + +[project] +authors = [ + {email = "service-discuss@lists.opendev.org"}, + {name = "OpenDev Contributors"}, +] +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Environment :: Console", + "Intended Audience :: Developers", + "Intended Audience :: Information Technology", + "License :: OSI Approved :: Apache Software License", + "Operating System :: MacOS :: MacOS X", + "Operating System :: POSIX :: Linux", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: Implementation :: CPython", + "Topic :: Software Development :: Quality Assurance", + "Topic :: Software Development :: Testing", + "Topic :: System :: Archiving :: Packaging", + "Topic :: Utilities", +] +description = "Binary dependency utility" +dynamic = ["dependencies", "version"] +keywords = [ + "binary", + "commandline", + "dependency", + "distribution", + "distro", + "package", +] +# TODO: Add 'license-expression = "Apache-2.0"' here and drop the License +# classifier once https://github.com/pypa/setuptools/issues/4629 is resolved. +maintainers = [ + {email = "service-discuss@lists.opendev.org"}, + {name = "OpenDev Contributors"}, +] +name = "bindep" +readme = {charset = "UTF-8", content-type = "text/x-rst", file = "README.rst"} +requires-python = ">=3.6" + +[project.scripts] +bindep = "bindep.__main__:main" + +[project.urls] +"Browse Source" = "https://opendev.org/opendev/bindep" +"Bug Reporting" = "https://storyboard.openstack.org/#!/project/opendev/bindep" +"Documentation" = "https://docs.opendev.org/opendev/bindep" +"Git Clone URL" = "https://opendev.org/opendev/bindep" +"License Texts" = "https://opendev.org/opendev/bindep/src/branch/master/LICENSE" +"Release Notes" = "https://docs.opendev.org/opendev/bindep/latest/releasenotes.html" diff --git a/setup.cfg b/setup.cfg index 25bda33..4910217 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,60 +1,12 @@ +# TODO: Drop this section once PBR can read project names from pyproject.toml [metadata] name = bindep -summary = Binary dependency utility -long_description = file: README.rst -long_description_content_type = text/x-rst; charset=UTF-8 -author = OpenDev Contributors -author_email = service-discuss@lists.opendev.org -url = https://docs.opendev.org/opendev/bindep -project_urls = - Browse Source = https://opendev.org/opendev/bindep - Bug Reporting = https://storyboard.openstack.org/#!/project/opendev/bindep - Documentation = https://docs.opendev.org/opendev/bindep - Git Clone URL = https://opendev.org/opendev/bindep - License Texts = https://opendev.org/opendev/bindep/src/branch/master/LICENSE - Release Notes = https://docs.opendev.org/opendev/bindep/latest/releasenotes.html -keywords = binary dependency distribution distro package commandline -license = Apache License, Version 2.0 -license_files = - AUTHORS - LICENSE -classifier = - Development Status :: 5 - Production/Stable - Environment :: Console - Intended Audience :: Developers - Intended Audience :: Information Technology - License :: OSI Approved :: Apache Software License - Operating System :: MacOS :: MacOS X - Operating System :: POSIX :: Linux - Programming Language :: Python :: 3 - Programming Language :: Python :: 3.6 - Programming Language :: Python :: 3.7 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 - Programming Language :: Python :: 3.10 - Programming Language :: Python :: 3.11 - Programming Language :: Python :: 3.12 - Programming Language :: Python :: 3.13 - Programming Language :: Python :: Implementation :: CPython - Topic :: Software Development :: Quality Assurance - Topic :: Software Development :: Testing - Topic :: System :: Archiving :: Packaging - Topic :: Utilities -python_requires = >=3.6 +# TODO: Drop this section once we no longer support Python 3.6 [options] py_modules = bindep -[pbr] -warnerrors = True - +# TODO: Drop this section once we no longer support Python 3.6 [entry_points] console_scripts = bindep = bindep.__main__:main - -[flake8] -# E123, E125 skipped as they are invalid PEP-8. -show-source = True -ignore = E123,E125,E129,H,W503,W504 -builtins = _ -exclude=.venv,.git,.nox,.tox,dist,doc,*lib/python*,*egg,build