Merge remote branch 'origin/master' into el6

Conflicts:
	python-boto.spec
f38
Robert Scheck 14 years ago
commit 63fa42562a

@ -0,0 +1,15 @@
The build_list_parameters function only contains half of the fix applied by upstream
commit 79f6a6cc7b2420440091. Specifically, line 78 refers to a function parameter that
was renamed. More details at: https://bugzilla.redhat.com/show_bug.cgi?id=647005
--- boto-1.9b/boto/ec2/blockdevicemapping.py 2009-12-16 17:21:40.000000000 +0100
+++ boto-1.9b/boto/ec2/blockdevicemapping.py.prefix 2010-11-18 21:59:07.000000000 +0100
@@ -75,7 +75,7 @@
def build_list_params(self, params, prefix=''):
i = 1
for dev_name in self:
- pre = '%sBlockDeviceMapping.%d' % (pre, i)
+ pre = '%sBlockDeviceMapping.%d' % (prefix, i)
params['%s.DeviceName' % pre] = dev_name
ebs = self[dev_name]
if ebs.snapshot_id:

@ -0,0 +1,121 @@
Patch by Robert Scheck <robert@fedoraproject.org> for boto >= 1.9b, which replaces
ternary operator and with-statement context usages by python 2.4 compatible stuff.
It also works around PEP 341 (Unifying try-except and try-finally).
--- boto-1.9b/boto/manage/server.py 2009-12-13 16:32:54.000000000 +0100
+++ boto-1.9b/boto/manage/server.py.python24 2011-01-02 23:36:53.000000000 +0100
@@ -22,7 +22,6 @@
"""
High-level abstraction of an EC2 server
"""
-from __future__ import with_statement
import boto.ec2
from boto.mashups.iobject import IObject
from boto.pyami.config import BotoConfigPath, Config
@@ -328,7 +327,10 @@
for instance in instances:
s = cls()
s.ec2 = ec2
- s.name = params.get('name') + '' if i==0 else str(i)
+ if i == 0:
+ s.name = params.get('name') + ''
+ else:
+ s.name = str(i)
s.description = params.get('description')
s.region_name = region.name
s.instance_id = instance.id
@@ -522,8 +524,11 @@
self._cmdshell = None
def run(self, command):
- with closing(self.get_cmdshell()) as cmd:
+ try:
+ cmd = self.get_cmdshell()
status = cmd.run(command)
+ finally:
+ cmd.close()
return status
def get_bundler(self, uname='root'):
--- boto-1.9b/boto/manage/volume.py 2009-11-24 04:47:51.000000000 +0100
+++ boto-1.9b/boto/manage/volume.py.python24 2011-01-02 23:55:51.000000000 +0100
@@ -19,7 +19,6 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
-from __future__ import with_statement
from boto.sdb.db.model import Model
from boto.sdb.db.property import *
from boto.manage.server import Server
@@ -232,28 +231,33 @@
def wait(self):
if self.server == None:
raise ValueError, 'server attribute must be set to run this command'
- with closing(self.server.get_cmdshell()) as cmd:
+ try:
# wait for the volume device to appear
cmd = self.server.get_cmdshell()
while not cmd.exists(self.device):
boto.log.info('%s still does not exist, waiting 10 seconds' % self.device)
time.sleep(10)
+ finally:
+ cmd.close()
def format(self):
if self.server == None:
raise ValueError, 'server attribute must be set to run this command'
status = None
- with closing(self.server.get_cmdshell()) as cmd:
+ try:
+ cmd = self.server.get_cmdshell()
if not self.checkfs(cmd):
boto.log.info('make_fs...')
status = cmd.run('mkfs -t xfs %s' % self.device)
+ finally:
+ cmd.close()
return status
def mount(self):
if self.server == None:
raise ValueError, 'server attribute must be set to run this command'
boto.log.info('handle_mount_point')
- with closing(self.server.get_cmdshell()) as cmd:
+ try:
cmd = self.server.get_cmdshell()
if not cmd.isdir(self.mount_point):
boto.log.info('making directory')
@@ -276,6 +280,8 @@
# Mount up our new EBS volume onto mount_point
cmd.run("mount %s %s" % (self.device, self.mount_point))
cmd.run('xfs_growfs %s' % self.mount_point)
+ finally:
+ cmd.close()
def make_ready(self, server):
self.server = server
@@ -298,15 +304,16 @@
# if this volume is attached to a server
# we need to freeze the XFS file system
try:
- self.freeze()
- if self.server == None:
- snapshot = self.get_ec2_connection().create_snapshot(self.volume_id)
- else:
- snapshot = self.server.ec2.create_snapshot(self.volume_id)
- boto.log.info('Snapshot of Volume %s created: %s' % (self.name, snapshot))
- except Exception, e:
- boto.log.info('Snapshot error')
- boto.log.info(traceback.format_exc())
+ try:
+ self.freeze()
+ if self.server == None:
+ snapshot = self.get_ec2_connection().create_snapshot(self.volume_id)
+ else:
+ snapshot = self.server.ec2.create_snapshot(self.volume_id)
+ boto.log.info('Snapshot of Volume %s created: %s' % (self.name, snapshot))
+ except Exception, e:
+ boto.log.info('Snapshot error')
+ boto.log.info(traceback.format_exc())
finally:
status = self.unfreeze()
return status

@ -0,0 +1,27 @@
From 6760075073c34d6dddb7e13b80dfa8d09f0f4f79 Mon Sep 17 00:00:00 2001
From: Mitch.Garnaat <Mitch.Garnaat@604d75c7-a419-0410-a38f-bde1a0bd1dbf>
Date: Tue, 6 Jul 2010 22:33:07 +0000
Subject: [PATCH] Kludge the existing kludge to handle httplib differences. Fixes issue 408.
---
boto/connection.py | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/boto/connection.py b/boto/connection.py
index c5779e2..71942f1 100644
--- a/boto/connection.py
+++ b/boto/connection.py
@@ -252,8 +252,9 @@ class AWSAuthConnection(object):
# versions, it would append ":443" to the hostname sent
# in the Host header and so we needed to make sure we
# did the same when calculating the V2 signature. In 2.6
+ # (and higher!)
# it no longer does that. Hence, this kludge.
- if sys.version[:3] == "2.6" and port == 443:
+ if sys.version[:3] in ('2.6', '2.7') and port == 443:
signature_host = self.host
else:
signature_host = '%s:%d' % (self.host, port)
--
1.7.3.1

@ -1,15 +1,18 @@
%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%define pkgname boto
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%global pkgname boto
Summary: A simple lightweight interface to Amazon Web Services
Name: python-boto
Version: 1.9b
Release: 2%{?dist}
Release: 6%{?dist}
License: MIT
Group: Development/Languages
URL: http://code.google.com/p/%{pkgname}/
Source: http://boto.googlecode.com/files/%{pkgname}-%{version}.tar.gz
Patch0: python-boto-1.9b-image.patch
Patch1: python-boto-1.9b-prefix.patch
Patch2: python-boto-1.9b-python27.patch
Patch3: python-boto-1.9b-python24.patch
BuildRequires: python-devel, python-setuptools-devel
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@ -24,6 +27,9 @@ use, lightweight wrapper around the Amazon services.
%prep
%setup -q -n %{pkgname}-%{version}
%patch0 -p1 -b .image
%patch1 -p1 -b .prefix
%patch2 -p1 -b .python27
%patch3 -p1 -b .python24
%build
%{__python} setup.py build
@ -48,6 +54,18 @@ rm -rf $RPM_BUILD_ROOT
%{python_sitelib}/*
%changelog
* Sun Jan 02 2011 Robert Scheck <robert@fedoraproject.org> 1.9b-6
- Added a patch for python 2.4 support (#656446, #661233)
* Thu Dec 02 2010 Lubomir Rintel <lubo.rintel@gooddata.com> 1.9b-5
- Apply a patch for python 2.7 support (#659248)
* Thu Nov 18 2010 Robert Scheck <robert@fedoraproject.org> 1.9b-4
- Added patch to fix parameter of build_list_params() (#647005)
* Wed Jul 21 2010 David Malcolm <dmalcolm@redhat.com> - 1.9b-3
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
* Tue Feb 09 2010 Robert Scheck <robert@fedoraproject.org> 1.9b-2
- Backported upstream patch for image registration (#561216)

Loading…
Cancel
Save