summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSachi King <nakato@nakato.io>2016-07-21 17:15:34 +1000
committerSachi King <nakato@nakato.io>2016-08-26 14:28:38 +1000
commita432bc2930ad0c5463163654bc18a18f8e2b417e (patch)
treea12e2bb307d66b2f90d2815be797fad9e19d3e52
parent3b559e389a426228edd5a632b304e110f255784a (diff)
downloadpbr-a432bc2930ad0c5463163654bc18a18f8e2b417e.tar.gz
Don't ignore data-files
We're currently ignoring data-files, and it looks like the problem would sometimes be present starting with 2796f9, 0.5.7, and always be present from 04984a, 0.5.15. This normalises all config keys from - to _ as soon as we read the config, which means future access and modification does not need to concern itself with the possibility of the key being a '-' instead '_'. This should make it more difficult for code accessing/modifying values in the config to clobber user set values or be unaware of them, like in the case of the files hook. As well, support download-url, but properly expose it as download_url. Co-Authored-By: Julien Danjou <julien@danjou.info> Change-Id: I062774c706b8f7339dda46689a226b80ae6ac277
-rw-r--r--pbr/tests/test_packaging.py11
-rw-r--r--pbr/tests/testpackage/setup.cfg2
-rw-r--r--pbr/util.py6
3 files changed, 15 insertions, 4 deletions
diff --git a/pbr/tests/test_packaging.py b/pbr/tests/test_packaging.py
index f532b76..b84cc9a 100644
--- a/pbr/tests/test_packaging.py
+++ b/pbr/tests/test_packaging.py
@@ -304,6 +304,17 @@ class TestPackagingInGitRepoWithCommit(base.BaseTestCase):
self.expectThat(stdout, matchers.Contains('Generating ChangeLog'))
+class TestExtrafileInstallation(base.BaseTestCase):
+ def test_install_glob(self):
+ stdout, _, _ = self.run_setup(
+ 'install', '--root', self.temp_dir + 'installed',
+ allow_fail=False)
+ self.expectThat(
+ stdout, matchers.Contains('copying data_files/a.txt'))
+ self.expectThat(
+ stdout, matchers.Contains('copying data_files/b.txt'))
+
+
class TestPackagingInGitRepoWithoutCommit(base.BaseTestCase):
def setUp(self):
diff --git a/pbr/tests/testpackage/setup.cfg b/pbr/tests/testpackage/setup.cfg
index c4ba378..a6d127a 100644
--- a/pbr/tests/testpackage/setup.cfg
+++ b/pbr/tests/testpackage/setup.cfg
@@ -30,7 +30,7 @@ keywords = packaging, distutils, setuptools
[files]
packages = pbr_testpackage
package-data = testpackage = package_data/*.txt
-data-files = testpackage/data_files = data_files/*.txt
+data-files = testpackage/data_files = data_files/*
extra-files = extra-file.txt
[entry_points]
diff --git a/pbr/util.py b/pbr/util.py
index daad138..30853c6 100644
--- a/pbr/util.py
+++ b/pbr/util.py
@@ -105,7 +105,7 @@ D1_D2_SETUP_ARGS = {
"description": ("metadata", "summary"),
"keywords": ("metadata",),
"long_description": ("metadata", "description"),
- "download-url": ("metadata",),
+ "download_url": ("metadata",),
"classifiers": ("metadata", "classifier"),
"platforms": ("metadata", "platform"), # **
"license": ("metadata",),
@@ -212,6 +212,8 @@ def cfg_to_args(path='setup.cfg', script_args=()):
config = {}
for section in parser.sections():
config[section] = dict(parser.items(section))
+ for k in config[section]:
+ config[section][k.replace('-', '_')] = config[section].pop(k)
# Run setup_hooks, if configured
setup_hooks = has_get_option(config, 'global', 'setup_hooks')
@@ -649,8 +651,6 @@ def run_command_hooks(cmd_obj, hook_kind):
def has_get_option(config, section, option):
if section in config and option in config[section]:
return config[section][option]
- elif section in config and option.replace('_', '-') in config[section]:
- return config[section][option.replace('_', '-')]
else:
return False