]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Update build hooks.
authorRobert Collins <rbtcollins@hp.com>
Tue, 12 May 2015 19:49:15 +0000 (07:49 +1200)
committerRobert Collins <rbtcollins@hp.com>
Tue, 12 May 2015 22:58:08 +0000 (10:58 +1200)
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

neutron/hooks.py [deleted file]
setup.cfg
setup.py

diff --git a/neutron/hooks.py b/neutron/hooks.py
deleted file mode 100644 (file)
index e01e343..0000000
+++ /dev/null
@@ -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
index a5b18a43eca28280ec8ed0b83b5048424117c745..081c9723f83d735e67f9db43524c8b663b40f8ac 100644 (file)
--- a/setup.cfg
+++ b/setup.cfg
@@ -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
index 736375744d94f6f122f98fab48b8fc77b13d8bec..09b206ed561892776f7f948070a723ac6c23363a 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -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']
+    })