glusterfs/openstack-swift-newdeps.patch
Kaleb S. KEITHLEY 4d2de6ced0 glusterfs-3.3.0-4, add UFO - Unified File and Object.
UFO is openstack-swift (currently essex, 1.4.8), patched to add hooks
for GlusterFS plug-ins.
N.B. Gluster's changes to swift have been submitted to upstream, and
when a new version of swift containing the hooks is released then
this patched version will be removed from the GlusterFS packaging.
2012-08-10 11:02:39 -04:00

37 lines
1.3 KiB
Diff

diff -ru swift-1.4.4-ORIG/swift/__init__.py swift-1.4.4/swift/__init__.py
--- swift-1.4.4-ORIG/swift/__init__.py 2011-11-24 14:59:50.000000000 +0100
+++ swift-1.4.4/swift/__init__.py 2012-01-04 00:09:10.122030579 +0100
@@ -1,3 +1,32 @@
+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
+ return pkg_resources.require(requirement)
+
+replace_dist("WebOb >= 1.0")
+
+replace_dist("PasteDeploy >= 1.5.0")
+# 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))
+
+
import gettext