Please unblock s3cmd/0.9.8.3-1 for Lenny - it is essentially single-bugfix release. debdiff is attached. --
Attachment:
pgpnEm6WD96Hv.pgp
Description: PGP signature
diff -Nru s3cmd-0.9.8.2/debian/changelog s3cmd-0.9.8.3/debian/changelog --- s3cmd-0.9.8.2/debian/changelog 2008-09-12 15:54:55.000000000 +0700 +++ s3cmd-0.9.8.3/debian/changelog 2008-09-12 15:54:55.000000000 +0700 @@ -1,3 +1,9 @@ +s3cmd (0.9.8.3-1) unstable; urgency=low + + * New upstream release. + + -- Mikhail Gusarov <dottedmag@dottedmag.net> Sat, 06 Sep 2008 19:58:37 +0700 + s3cmd (0.9.8.2-1) unstable; urgency=low * New upstream release. diff -Nru s3cmd-0.9.8.2/NEWS s3cmd-0.9.8.3/NEWS --- s3cmd-0.9.8.2/NEWS 2008-07-03 19:26:14.000000000 +0700 +++ s3cmd-0.9.8.3/NEWS 2008-07-29 08:29:43.000000000 +0700 @@ -1,3 +1,8 @@ +s3cmd 0.9.8.3 - 2008-07-29 +============= +* Bugfix release. Avoid running out-of-memory in MD5'ing + large files. + s3cmd 0.9.8.2 - 2008-06-27 ============= * Bugfix release. Re-upload file if Amazon doesn't send ETag diff -Nru s3cmd-0.9.8.2/PKG-INFO s3cmd-0.9.8.3/PKG-INFO --- s3cmd-0.9.8.2/PKG-INFO 2008-07-03 19:32:34.000000000 +0700 +++ s3cmd-0.9.8.3/PKG-INFO 2008-07-29 08:37:47.000000000 +0700 @@ -1,6 +1,6 @@ Metadata-Version: 1.0 Name: s3cmd -Version: 0.9.8.2 +Version: 0.9.8.3 Summary: S3cmd is a tool for managing Amazon S3 storage space. Home-page: http://s3tools.logix.cz Author: Michal Ludvig diff -Nru s3cmd-0.9.8.2/S3/PkgInfo.py s3cmd-0.9.8.3/S3/PkgInfo.py --- s3cmd-0.9.8.2/S3/PkgInfo.py 2008-07-03 19:26:21.000000000 +0700 +++ s3cmd-0.9.8.3/S3/PkgInfo.py 2008-07-29 08:29:56.000000000 +0700 @@ -1,5 +1,5 @@ package = "s3cmd" -version = "0.9.8.2" +version = "0.9.8.3" url = "http://s3tools.logix.cz" license = "GPL version 2" short_description = "S3cmd is a tool for managing Amazon S3 storage space." diff -Nru s3cmd-0.9.8.2/S3/Utils.py s3cmd-0.9.8.3/S3/Utils.py --- s3cmd-0.9.8.2/S3/Utils.py 2008-06-04 18:00:08.000000000 +0700 +++ s3cmd-0.9.8.3/S3/Utils.py 2008-07-22 07:18:29.000000000 +0700 @@ -139,7 +139,12 @@ def hash_file_md5(filename): h = md5.new() f = open(filename, "rb") - h.update(f.read()) + while True: + # Hash 32kB chunks + data = f.read(32*1024) + if not data: + break + h.update(data) f.close() return h.hexdigest() diff -Nru s3cmd-0.9.8.2/s3cmd.1 s3cmd-0.9.8.3/s3cmd.1 --- s3cmd-0.9.8.2/s3cmd.1 2008-06-23 11:44:56.000000000 +0700 +++ s3cmd-0.9.8.3/s3cmd.1 2008-07-07 16:49:25.000000000 +0700 @@ -162,8 +162,8 @@ to corresponding paths under s3://test-bucket/backup on the remote side. For example: .nf -/local/path\fB/file1.ext\fR -> s3://test-bucket/backup\fB/file1.ext\fR -/local/path\fB/dir123/file2.bin\fR -> s3://test-bucket/backup\fB/dir123/file2.bin\fR +/local/path\fB/file1.ext\fR \-> s3://test-bucket/backup\fB/file1.ext\fR +/local/path\fB/dir123/file2.bin\fR \-> s3://test-bucket/backup\fB/dir123/file2.bin\fR .fi To retrieve the files back from S3 use inverted syntax: @@ -172,13 +172,13 @@ .fi that will download files: .nf -s3://test-bucket/backup\fB/file1.ext\fR -> /tmp/restore\fB/file1.ext\fR -s3://test-bucket/backup\fB/dir123/file2.bin\fR -> /tmp/restore\fB/dir123/file2.bin\fR +s3://test-bucket/backup\fB/file1.ext\fR \-> /tmp/restore\fB/file1.ext\fR +s3://test-bucket/backup\fB/dir123/file2.bin\fR \-> /tmp/restore\fB/dir123/file2.bin\fR .fi For the purpose of \fB\-\-exclude\fR and \fB\-\-exclude\-from\fR matching the file name \fIalways\fR begins with \fB/\fR (slash) and has the local or remote common part removed. -For instance in the previous example the file names tested against --exclude list +For instance in the previous example the file names tested against \-\-exclude list will be \fB/\fRfile1.ext and \fB/\fRdir123/file2.bin, that is both with the leading slash regardless whether you specified s3://test-bucket/backup or s3://test-bucket/backup/ (note the trailing slash) on the command line.