Update patch
[openstack-build/ceilometer-build.git] / rpm / SOURCES / openstack-ceilometer-newdeps.patch
1 diff -Naur ceilometer-2013.2.b1.orig/ceilometer/__init__.py ceilometer-2013.2.b1/ceilometer/__init__.py
2 --- ceilometer-2013.2.b1.orig/ceilometer/__init__.py    2013-05-30 15:09:28.000000000 +0000
3 +++ ceilometer-2013.2.b1/ceilometer/__init__.py 2013-05-31 16:05:56.366704819 +0000
4 @@ -13,3 +13,25 @@
5  # License for the specific language governing permissions and limitations
6  # under the License.
7  #
8 +
9 +import sys
10 +import pkg_resources
11 +
12 +# If there is a conflicting non egg module,
13 +# i.e. an older standard system module installed,
14 +# then replace it with this requirement
15 +def replace_dist(requirement):
16 +    try:
17 +        return pkg_resources.require(requirement)
18 +    except pkg_resources.VersionConflict:
19 +        e = sys.exc_info()[1]
20 +        dist=e.args[0]
21 +        req=e.args[1]
22 +        if dist.key == req.key and not dist.location.endswith('.egg'):
23 +            del pkg_resources.working_set.by_key[dist.key]
24 +            # We assume there is no need to adjust sys.path
25 +            # and the associated pkg_resources.working_set.entries
26 +            return pkg_resources.require(requirement)
27 +
28 +replace_dist("WebOb >= 1.2")
29 +replace_dist("SQLAlchemy >= 0.7.3")
30 diff -Naur ceilometer-2013.2.b1.orig/ceilometer/storage/sqlalchemy/migration.py ceilometer-2013.2.b1/ceilometer/storage/sqlalchemy/migration.py
31 --- ceilometer-2013.2.b1.orig/ceilometer/storage/sqlalchemy/migration.py        2013-05-30 15:09:28.000000000 +0000
32 +++ ceilometer-2013.2.b1/ceilometer/storage/sqlalchemy/migration.py     2013-05-31 16:03:43.209551099 +0000
33 @@ -52,7 +52,13 @@
34  
35  
36  # NOTE(jkoelker) Delay importing migrate until we are patched
37 -from migrate import exceptions as versioning_exceptions
38 +try:
39 +    # Try the more specific path first (migrate <= 0.6)
40 +    from migrate.versioning import exceptions as versioning_exceptions
41 +except ImportError:
42 +    # Use the newer path (migrate >= 0.7)
43 +    from migrate import exceptions as versioning_exceptions
44 +
45  from migrate.versioning import api as versioning_api
46  from migrate.versioning.repository import Repository
47