Update build hooks.

The pbr setup_hook has not been needed for a while, so remove it.  The
neutron hook has been broken for a while: it places a setup_requires
build dependency on everything in neutron/__init__.py, which is
non-empty, but setup_requires is handled by easy install so we try
very hard to avoid it. Instead, we can use environment markers to
selectively include the win32 dependencies without requiring that
neutron be importable during setup.py execution. This is unusual
in OpenStack and will eventually be moved to a regular
requirements.txt dependency with the same marker - once we've finished
the integration work to make markers work properly in
requirements.txt.

Change-Id: Icdc403a3ccf06daeccf2a907a7bfeafd8dbbb5dd
This commit is contained in:
Robert Collins 2015-05-13 07:49:15 +12:00
parent 0425d27eea
commit 276028cca2
3 changed files with 6 additions and 33 deletions

View File

@ -1,27 +0,0 @@
# Copyright 2013 Hewlett-Packard Development Company, L.P.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import sys
def setup_hook(config):
"""Filter config parsed from a setup.cfg to inject our defaults."""
metadata = config['metadata']
requires = metadata.get('requires_dist', '').split('\n')
if sys.platform == 'win32':
requires.append('pywin32')
requires.append('wmi')
metadata['requires_dist'] = "\n".join(requires)
config['metadata'] = metadata

View File

@ -86,11 +86,6 @@ data_files =
scripts =
bin/neutron-rootwrap-xen-dom0
[global]
setup-hooks =
pbr.hooks.setup_hook
neutron.hooks.setup_hook
[entry_points]
console_scripts =
neutron-db-manage = neutron.db.migration.cli:main

View File

@ -27,4 +27,9 @@ except ImportError:
setuptools.setup(
setup_requires=['pbr'],
pbr=True)
pbr=True,
# TODO(lifeless): Once pbr supports markers in requirements.txt, move this
# there, so that update.py can see it.
extras_require={
':sys_platform=="win32"': ['pywin32', 'wmi']
})