diff --git a/.gitignore b/.gitignore index 94ed4e3..52a0571 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -boto-1.9b.tar.gz +boto-2.0.tar.gz diff --git a/python-boto-1.9b-image.patch b/python-boto-1.9b-image.patch deleted file mode 100644 index 1c93a77..0000000 --- a/python-boto-1.9b-image.patch +++ /dev/null @@ -1,42 +0,0 @@ -Don't require Name param on RegisterImage (even though EC2 docs say it is required) -and change Image to ImageLocation. Fixes issue 323: - - - http://code.google.com/p/boto/issues/detail?id=323 - - http://code.google.com/p/boto/source/detail?r=1448 - ---- boto-1.9b/boto/ec2/connection.py 2009-12-21 14:59:03.000000000 +0100 -+++ boto-1.9b/boto/ec2/connection.py.image 2010-02-09 01:36:11.000000000 +0100 -@@ -176,11 +176,11 @@ - except IndexError: # None of those images available - return None - -- def register_image(self, name, description=None, image_location=None, -+ def register_image(self, name=None, description=None, image_location=None, - architecture=None, kernel_id=None, ramdisk_id=None, - root_device_name=None, block_device_map=None): - """ -- Register an image. -+ Register an image. Valid only for EBS-based images. - - :type name: string - :param name: The name of the AMI. -@@ -210,7 +210,9 @@ - :rtype: string - :return: The new image id - """ -- params = {'Name': name} -+ params = {} -+ if name: -+ params['Name'] = name - if description: - params['Description'] = description - if architecture: -@@ -220,7 +222,7 @@ - if ramdisk_id: - params['RamdiskId'] = ramdisk_id - if image_location: -- params['Location'] = image_location -+ params['ImageLocation'] = image_location - if root_device_name: - params['RootDeviceName'] = root_device_name - if block_device_map: diff --git a/python-boto-1.9b-prefix.patch b/python-boto-1.9b-prefix.patch deleted file mode 100644 index 9f8eb7f..0000000 --- a/python-boto-1.9b-prefix.patch +++ /dev/null @@ -1,15 +0,0 @@ -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: diff --git a/python-boto-1.9b-python24.patch b/python-boto-1.9b-python24.patch deleted file mode 100644 index 3b593d2..0000000 --- a/python-boto-1.9b-python24.patch +++ /dev/null @@ -1,121 +0,0 @@ -Patch by Robert Scheck 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 diff --git a/python-boto-1.9b-python27.patch b/python-boto-1.9b-python27.patch deleted file mode 100644 index 2cd3963..0000000 --- a/python-boto-1.9b-python27.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 6760075073c34d6dddb7e13b80dfa8d09f0f4f79 Mon Sep 17 00:00:00 2001 -From: Mitch.Garnaat -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 - diff --git a/python-boto.spec b/python-boto.spec index 2388899..9a4a9a8 100644 --- a/python-boto.spec +++ b/python-boto.spec @@ -3,17 +3,13 @@ Summary: A simple lightweight interface to Amazon Web Services Name: python-boto -Version: 1.9b -Release: 6%{?dist} +Version: 2.0 +Release: 1%{?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 +BuildRequires: python-devel >= 2.5, python-setuptools-devel BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -26,10 +22,6 @@ 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 @@ -43,17 +35,26 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) -%doc README +%{_bindir}/bundle_image +%{_bindir}/cfadmin +%{_bindir}/cq %{_bindir}/elbadmin %{_bindir}/fetch_file +%{_bindir}/kill_instance %{_bindir}/launch_instance %{_bindir}/list_instances +%{_bindir}/lss3 +%{_bindir}/pyami_sendmail +%{_bindir}/route53 %{_bindir}/s3put %{_bindir}/sdbadmin %{_bindir}/taskadmin %{python_sitelib}/* %changelog +* Mon Aug 15 2011 Robert Scheck 2.0-1 +- Upgrade to 2.0 (#723088) + * Sun Jan 02 2011 Robert Scheck 1.9b-6 - Added a patch for python 2.4 support (#656446, #661233) diff --git a/sources b/sources index 15ceac8..1836b6f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -4fc2fd7b70a971b1363f8465aafe7091 boto-1.9b.tar.gz +e238262c5ff417a2b59a8b24ae06b9ce boto-2.0.tar.gz