[openstack-heat/el6] Fix dependencies for EPEL

Jeff Peeler jpeeler at fedoraproject.org
Tue Apr 2 22:35:41 UTC 2013


commit 5641250de8b935490f4e18e93873919318683746
Author: Jeff Peeler <jpeeler at redhat.com>
Date:   Tue Apr 2 18:08:48 2013 -0400

    Fix dependencies for EPEL

 heat-newdeps.patch  |   41 +++++++++++++++++++++++++++++++++++++++++
 openstack-heat.spec |   26 +++++++++++++++++++++-----
 2 files changed, 62 insertions(+), 5 deletions(-)
---
diff --git a/heat-newdeps.patch b/heat-newdeps.patch
new file mode 100644
index 0000000..b40a313
--- /dev/null
+++ b/heat-newdeps.patch
@@ -0,0 +1,41 @@
+diff --git a/heat/common/__init__.py b/heat/common/__init__.py
+index e8e4035..0db8b7e 100644
+--- a/heat/common/__init__.py
++++ b/heat/common/__init__.py
+@@ -12,3 +12,36 @@
+ #    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
++import pkg_resources
++
++# If there is a conflicting non egg module,
++# i.e. an older standard system module installed,
++# then replace it with this requirement
++def replace_dist(requirement):
++    try:
++       return pkg_resources.require(requirement)
++    except pkg_resources.VersionConflict:
++        e = sys.exc_info()[1]
++        dist = e.args[0]
++        req = e.args[1]
++        if dist.key == req.key and not dist.location.endswith('.egg'):
++            del pkg_resources.working_set.by_key[dist.key]
++            # We assume there is no need to adjust sys.path
++            # and the associated pkg_resources.working_set.entries
++            try:
++                return pkg_resources.require(requirement)
++            except pkg_resources.DistributionNotFound:
++                print 'Not found, skipping', requirement
++                return {}
++
++replace_dist("WebOb >= 1.0")
++replace_dist("SQLAlchemy >= 0.6.3")
++replace_dist("Routes >= 1.12.3")
++replace_dist("PasteDeploy >= 1.5")
++# This hack is needed because replace_dist() results in
++# the standard paste module path being at the start of __path__.
++# TODO: See can we get pkg_resources to do the right thing directly
++import paste
++paste.__path__.insert(0, paste.__path__.pop(-1))
diff --git a/openstack-heat.spec b/openstack-heat.spec
index 1da1631..b998409 100644
--- a/openstack-heat.spec
+++ b/openstack-heat.spec
@@ -10,7 +10,7 @@
 Name:		openstack-heat
 Summary:	OpenStack Orchestration (heat)
 Version:	2013.1
-Release:	0.9.%{release_letter}%{milestone}%{?dist}
+Release:	1.0.%{release_letter}%{milestone}%{?dist}
 License:	ASL 2.0
 Group:		System Environment/Base
 URL:		http://www.openstack.org
@@ -24,10 +24,18 @@ Source3:	openstack-heat-api-cfn.init
 Source4:	openstack-heat-engine.init
 Source5:	openstack-heat-api-cloudwatch.init
 
+# EPEL specific patch, not upstream
+Patch100: heat-newdeps.patch
+
 BuildArch: noarch
 BuildRequires: python2-devel
 BuildRequires: python-setuptools
 BuildRequires: python-sphinx10
+# These are required to build due to the requirements check added
+BuildRequires: python-paste-deploy1.5
+BuildRequires: python-routes1.12
+BuildRequires: python-sqlalchemy0.7
+BuildRequires: python-webob1.0
 
 Requires: %{name}-common = %{version}-%{release}
 Requires: %{name}-engine = %{version}-%{release}
@@ -39,6 +47,8 @@ Requires: %{name}-cli = %{version}-%{release}
 %prep
 %setup -q -n heat-%{version}.%{release_letter}%{milestone}
 
+%patch100 -p1
+
 %build
 %{__python} setup.py build
 
@@ -99,7 +109,6 @@ Requires: python-httplib2
 Requires: python-iso8601
 Requires: python-kombu
 Requires: python-lxml
-Requires: python-paste
 Requires: python-cinderclient
 Requires: python-keystoneclient
 Requires: python-memcached
@@ -107,13 +116,15 @@ Requires: python-novaclient
 Requires: python-oslo-config
 Requires: python-quantumclient
 Requires: python-swiftclient
-Requires: python-routes
-Requires: python-sqlalchemy
 Requires: python-migrate
 Requires: python-qpid
-Requires: python-webob
 Requires: PyYAML
 
+Requires: python-paste-deploy1.5
+Requires: python-routes1.12
+Requires: python-sqlalchemy0.7
+Requires: python-webob1.0
+
 Requires(pre): shadow-utils
 
 %description common
@@ -308,6 +319,11 @@ Heat client tools accessible from the CLI
 %{_mandir}/man1/heat-watch.1.gz
 
 %changelog
+* Tue Apr  2 2013 Jeff Peeler <jpeeler at redhat.com> 2013.1-1.0.rc2
+- added epel patch for dependencies
+- added new buildrequires due to above patch
+- changed requires to more recent versions
+
 * Mon Apr  1 2013 Jeff Peeler <jpeeler at redhat.com> 2013.1-0.9.rc2
 - add /var/run/heat so PID directory has correct permissions
 


More information about the scm-commits mailing list