summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.pre-commit-config.yaml10
-rw-r--r--pbr/tests/test_packaging.py1
-rw-r--r--pbr/util.py87
-rw-r--r--test-requirements.txt5
4 files changed, 55 insertions, 48 deletions
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index a8c2b27..2f6ad7b 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -27,9 +27,13 @@ repos:
- id: debug-statements
- id: check-yaml
files: .*\.(yaml|yml)$
- - repo: https://gitlab.com/pycqa/flake8
- rev: 181bb46098dddf7e2d45319ea654b4b4d58c2840 # 3.8.3
+ - repo: local
hooks:
- id: flake8
+ name: flake8
additional_dependencies:
- - hacking==4.0.0
+ - hacking>=4.0.0,<4.1.0
+ language: python
+ entry: flake8
+ files: '^.*\.py$'
+ exclude: '^(doc|releasenotes|tools)/.*$'
diff --git a/pbr/tests/test_packaging.py b/pbr/tests/test_packaging.py
index 3a70319..9e95a86 100644
--- a/pbr/tests/test_packaging.py
+++ b/pbr/tests/test_packaging.py
@@ -135,7 +135,6 @@ class GPGKeyFixture(fixtures.Fixture):
Name-Comment: N/A
Name-Email: example@example.com
Expire-Date: 2d
- Preferences: (setpref)
%commit
""")
diff --git a/pbr/util.py b/pbr/util.py
index 6e8d231..d821183 100644
--- a/pbr/util.py
+++ b/pbr/util.py
@@ -92,47 +92,50 @@ _VERSION_SPEC_RE = re.compile(r'\s*(.*?)\s*\((.*)\)\s*$')
# Mappings from setup() keyword arguments to setup.cfg options;
# The values are (section, option) tuples, or simply (section,) tuples if
# the option has the same name as the setup() argument
-D1_D2_SETUP_ARGS = {
- "name": ("metadata",),
- "version": ("metadata",),
- "author": ("metadata",),
- "author_email": ("metadata",),
- "maintainer": ("metadata",),
- "maintainer_email": ("metadata",),
- "url": ("metadata", "home_page"),
- "project_urls": ("metadata",),
- "description": ("metadata", "summary"),
- "keywords": ("metadata",),
- "long_description": ("metadata", "description"),
- "long_description_content_type": ("metadata", "description_content_type"),
- "download_url": ("metadata",),
- "classifiers": ("metadata", "classifier"),
- "platforms": ("metadata", "platform"), # **
- "license": ("metadata",),
+D1_D2_SETUP_ARGS = (
+ ('name', ('metadata',)),
+ ('version', ('metadata',)),
+ ('author', ('metadata',)),
+ ('author_email', ('metadata',)),
+ ('maintainer', ('metadata',)),
+ ('maintainer_email', ('metadata',)),
+ ('url', ('metadata', 'home_page')),
+ ('project_urls', ('metadata',)),
+ ('description', ('metadata', 'summary')),
+ ('keywords', ('metadata',)),
+ ('long_description', ('metadata', 'description')),
+ (
+ 'long_description_content_type',
+ ('metadata', 'description_content_type'),
+ ),
+ ('download_url', ('metadata',)),
+ ('classifiers', ('metadata', 'classifier')),
+ ('platforms', ('metadata', 'platform')), # **
+ ('license', ('metadata',)),
# Use setuptools install_requires, not
# broken distutils requires
- "install_requires": ("metadata", "requires_dist"),
- "setup_requires": ("metadata", "setup_requires_dist"),
- "python_requires": ("metadata",),
- "requires_python": ("metadata", "python_requires"),
- "provides": ("metadata", "provides_dist"), # **
- "provides_extras": ("metadata",),
- "obsoletes": ("metadata", "obsoletes_dist"), # **
- "package_dir": ("files", 'packages_root'),
- "packages": ("files",),
- "package_data": ("files",),
- "namespace_packages": ("files",),
- "data_files": ("files",),
- "scripts": ("files",),
- "py_modules": ("files", "modules"), # **
- "cmdclass": ("global", "commands"),
+ ('install_requires', ('metadata', 'requires_dist')),
+ ('setup_requires', ('metadata', 'setup_requires_dist')),
+ ('python_requires', ('metadata',)),
+ ('python_requires', ('metadata', 'requires_python')),
+ ('provides', ('metadata', 'provides_dist')), # **
+ ('provides_extras', ('metadata',)),
+ ('obsoletes', ('metadata', 'obsoletes_dist')), # **
+ ('package_dir', ('files', 'packages_root')),
+ ('packages', ('files',)),
+ ('package_data', ('files',)),
+ ('namespace_packages', ('files',)),
+ ('data_files', ('files',)),
+ ('scripts', ('files',)),
+ ('py_modules', ('files', 'modules')), # **
+ ('cmdclass', ('global', 'commands')),
# Not supported in distutils2, but provided for
# backwards compatibility with setuptools
- "zip_safe": ("backwards_compat", "zip_safe"),
- "tests_require": ("backwards_compat", "tests_require"),
- "dependency_links": ("backwards_compat",),
- "include_package_data": ("backwards_compat",),
-}
+ ('zip_safe', ('backwards_compat', 'zip_safe')),
+ ('tests_require', ('backwards_compat', 'tests_require')),
+ ('dependency_links', ('backwards_compat',)),
+ ('include_package_data', ('backwards_compat',)),
+)
# setup() arguments that can have multiple values in setup.cfg
MULTI_FIELDS = ("classifiers",
@@ -312,14 +315,14 @@ def setup_cfg_to_setup_kwargs(config, script_args=()):
# parse env_markers.
all_requirements = {}
- for arg in D1_D2_SETUP_ARGS:
- if len(D1_D2_SETUP_ARGS[arg]) == 2:
+ for arg, alias in D1_D2_SETUP_ARGS:
+ if len(alias) == 2:
# The distutils field name is different than distutils2's.
- section, option = D1_D2_SETUP_ARGS[arg]
+ section, option = alias
- elif len(D1_D2_SETUP_ARGS[arg]) == 1:
+ elif len(alias) == 1:
# The distutils field name is the same thant distutils2's.
- section = D1_D2_SETUP_ARGS[arg][0]
+ section = alias[0]
option = arg
in_cfg_value = has_get_option(config, section, option)
diff --git a/test-requirements.txt b/test-requirements.txt
index caca8d1..4d586e4 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4,8 +4,9 @@
wheel>=0.32.0 # MIT
fixtures>=3.0.0 # Apache-2.0/BSD
-hacking>=1.1.0,<4.0.0 # Apache-2.0
-mock>=2.0.0 # BSD
+hacking>=1.1.0,<4.0.0;python_version>='3.6' # Apache-2.0
+mock>=2.0.0,<4.0.0;python_version=='2.7' # BSD
+mock>=2.0.0;python_version>='3.6' # BSD
six>=1.12.0 # MIT
stestr>=2.1.0,<3.0;python_version=='2.7' # Apache-2.0
stestr>=2.1.0;python_version>='3.0' # Apache-2.0