[Python-apps-commits] r11235 - in packages/s3cmd/trunk/debian/patches (3 files)

dottedmag at users.alioth.debian.org dottedmag at users.alioth.debian.org
Tue Sep 2 17:12:57 UTC 2014


    Date: Tuesday, September 2, 2014 @ 17:12:56
  Author: dottedmag
Revision: 11235

New patches for #750561, #669002

Added:
  packages/s3cmd/trunk/debian/patches/do-not-loop-in-rb.patch
  packages/s3cmd/trunk/debian/patches/return-non-zero-code-from-put-command.patch
Modified:
  packages/s3cmd/trunk/debian/patches/series

Added: packages/s3cmd/trunk/debian/patches/do-not-loop-in-rb.patch
===================================================================
--- packages/s3cmd/trunk/debian/patches/do-not-loop-in-rb.patch	                        (rev 0)
+++ packages/s3cmd/trunk/debian/patches/do-not-loop-in-rb.patch	2014-09-02 17:12:56 UTC (rev 11235)
@@ -0,0 +1,43 @@
+From 8f975805851603697973eb66e63b69e89d8582c0 Mon Sep 17 00:00:00 2001
+From: Mikhail Gusarov <dottedmag at dottedmag.net>
+Date: Tue, 2 Sep 2014 19:03:23 +0200
+Subject: [PATCH] Do not loop endlessly if removal of bucket content fails
+
+Only remove contents from bucket once and then stop if
+bucket cannot be removed due to some reason.
+
+Debian bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=750561
+---
+ s3cmd | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/s3cmd b/s3cmd
+index 90d29cb..b8d9110 100755
+--- a/s3cmd
++++ b/s3cmd
+@@ -277,7 +277,7 @@ def cmd_expiration_set(args):
+     return EX_OK
+ 
+ def cmd_bucket_delete(args):
+-    def _bucket_delete_one(uri):
++    def _bucket_delete_one(uri, retry=True):
+         try:
+             response = s3.bucket_delete(uri.bucket())
+             output(u"Bucket '%s' removed" % uri.uri())
+@@ -287,11 +287,11 @@ def cmd_bucket_delete(args):
+                     return EX_OK
+                 else:
+                     return EX_USAGE
+-            if e.info['Code'] == 'BucketNotEmpty' and (cfg.force or cfg.recursive):
++            if e.info['Code'] == 'BucketNotEmpty' and retry and (cfg.force or cfg.recursive):
+                 warning(u"Bucket is not empty. Removing all the objects from it first. This may take some time...")
+                 rc = subcmd_batch_del(uri_str = uri.uri())
+                 if rc == EX_OK:
+-                    return _bucket_delete_one(uri)
++                    return _bucket_delete_one(uri, False)
+                 else:
+                     output(u"Bucket was not removed")
+             elif S3.codes.has_key(e.info["Code"]):
+-- 
+1.9.2
+

Added: packages/s3cmd/trunk/debian/patches/return-non-zero-code-from-put-command.patch
===================================================================
--- packages/s3cmd/trunk/debian/patches/return-non-zero-code-from-put-command.patch	                        (rev 0)
+++ packages/s3cmd/trunk/debian/patches/return-non-zero-code-from-put-command.patch	2014-09-02 17:12:56 UTC (rev 11235)
@@ -0,0 +1,47 @@
+From 361afc19c34424ef08704afcb0b94c8374f58e87 Mon Sep 17 00:00:00 2001
+From: Mikhail Gusarov <dottedmag at dottedmag.net>
+Date: Tue, 2 Sep 2014 18:39:18 +0200
+Subject: [PATCH] Return non-zero code from 'put' command if some files failed
+ to upload
+
+Debian bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=669002
+---
+ s3cmd | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/s3cmd b/s3cmd
+index 90d29cb..b1af648 100755
+--- a/s3cmd
++++ b/s3cmd
+@@ -361,6 +361,7 @@ def cmd_object_put(args):
+         return EX_OK
+ 
+     seq = 0
++    ret = EX_OK
+     for key in local_list:
+         seq += 1
+ 
+@@ -380,9 +381,11 @@ def cmd_object_put(args):
+             response = s3.object_put(full_name, uri_final, extra_headers, extra_label = seq_label)
+         except S3UploadError, e:
+             error(u"Upload of '%s' failed too many times. Skipping that file." % full_name_orig)
++            ret = EX_SOMEFAILED
+             continue
+         except InvalidFileError, e:
+             warning(u"File can not be uploaded: %s" % e)
++            ret = EX_SOMEFAILED
+             continue
+         if response is not None:
+             speed_fmt = formatSize(response["speed"], human_readable = True, floating_point = True)
+@@ -396,7 +399,7 @@ def cmd_object_put(args):
+         if Config().encrypt and full_name != full_name_orig:
+             debug(u"Removing temporary encrypted file: %s" % unicodise(full_name))
+             os.remove(full_name)
+-    return EX_OK
++    return ret
+ 
+ def cmd_object_get(args):
+     cfg = Config()
+-- 
+1.9.2
+

Modified: packages/s3cmd/trunk/debian/patches/series
===================================================================
--- packages/s3cmd/trunk/debian/patches/series	2014-09-02 16:15:51 UTC (rev 11234)
+++ packages/s3cmd/trunk/debian/patches/series	2014-09-02 17:12:56 UTC (rev 11235)
@@ -1,2 +1,4 @@
 do-not-check-elementtree-at-build-time.patch
 fix-manpage-typos.patch
+return-non-zero-code-from-put-command.patch
+do-not-loop-in-rb.patch




More information about the Python-apps-commits mailing list