[Bug 141327] [UFVe] Please sync duplicity from Debian unstable

dAniel hAhler launchpad at thequod.de
Thu Sep 20 20:26:45 BST 2007

Public bug reported:

Binary package hint: duplicity

Duplicity has been unmaintained quite some time, but rsync.net has sponsored a maintainer.
The result is duplicity 0.4.3 with a lot of fixes and minor improvements, which have been tested by a lot of people in a long RC-phase.

The Debian maintainer, Alexander Zangerl, has kindly improved the debian
directory/build process, so that the remaining Ubuntu changes can be
dropped now!

The upstream changelog since 0.4.2 follows. (Please note that 0.4.3 has been released upstream (despite the missing day in the changelog)).
New in v0.4.3 (2007/08/??)
All the changes in RC1 through RC12 plus:

Move get_password() to Backend class to standardize.

Fix problem with ftpBackend to create target directory 
if needed.  Note: this creates only one level.

Dropped ssh-command and added ssh-options to allow users
to add options to the scp and sftp commmands.

Removed use of tempfile.TemporaryFile().  This fixes the
restore problem on Windows that was due to Python bug
1776696 reported on Sourceforge.

Fixed Debian Bug#437694: Make bzip2 compression optional.
The default is not to do bzip2 compression.  To use bzip2
add the following command line option:
--gpg-options='--compress-algo=bzip2 --bzip2-compress-level=9'
Note: do not add spaces in the string value.

Fixed bug 20764 - unable to use port in ssh backend.

Remove ssh_command option, add ssh_options.  This adds
options to the scp and sftp commands that are used by
the ssh backend.

Change ssh backend to send 'quit' instead of EOF when
using sftp.  This allows it to run under cron as long
as the password is supplied non-interactively. 

Change ssh backend to not pass :port part of URL to
scp or sftp.  We already supply -oPort=xx for port.

New in v0.4.3.RC12 (2007/08/09)
Fix index out of range in Bug 20730, triggered when there
is only one incremental in the list.

Changed the file:, ftp:, and ssh: backends so that
the target directory will be created at start.

Changed the ftp: backend so that empty target dirs
do not error out.

New in v0.4.3.RC11 (2007/07/20)
Duplicity is now covered under GPL version 3 (or later).

Duplicity now correctly processes scp URL's of the form:
where the directory spec is empty.  This fixes a bug where the
user could not write into the home directory on the target.

The SSH/SCP backend has had an overhaul.  It now requires the
python-pexpect module.  Normally this can be obtained from your
distro's repository, but if you want, you can download pexpect
from http://pexpect.sourceforge.net.

The SSH/SCP backend work was done to allow the user to use password
authentication rather than public-key.  You may now enter a password,
either through the FTP_PASSWORD environment variable, or at the
console.  To activate this feature you will need to use the option
--ssh-askpass on the command line.  The default is public-key, which 
does *not* look for a password from either source.

Various fixes to the man page for --ssh-askpass, --remove-older-than,
and --archive-dir.

New in v0.4.3.RC10 (2007/07/14)
Add support for:

Removed -m option on FTP put command.  This means that the remote
directory must exist prior to backup.

Changed ftpBackend from -f option back to commandline.  Various
versions of ncftp* interact differently when both -f and commandline
options are supplied.

The FTP password is munged in all log operations.

Added logging of filenames in the bucket when -v9 is used on
Amazon S3.

New in v0.4.3.RC9 (2007/07/09)
Change to a max block size of 2048 bytes for rsync difference buffer.
This may slow things down for truly large files, but will give much
smaller deltas on files with numerous small changes, such as database

New S3 backend, Boto, from Eric Evans, replaces bitBucket.  Boto can
be obtained from http://code.google.com/p/boto/.  I did not make this
a requirement for setup since its not in the normal repositories.

New FTP backend from Thorsten Schnebeck that uses ncftp instead of
Pythons ftplib.  This seems to be much more solid.  I added the -f
option with a secure temp file to contain host, user, and password,
rather than having them on the command line.  I also added the -m
option to the put command to create the target directory and the -t
option to make sure it times out if there is a network problem.

The Backend class now contains a popen_persist function that acts like
run_command_persist.  Both use the new num_retries global.

Added a commandline option, '--num-retries=<int>', to set the number
of retries.  The default is 5.

New in v0.4.3.RC8 (2007/06/27)
Bug 20282 - Thomas Tuttle:
An out of range index when checking past history in the backup
sets caused a failure when trying to access later.

Bug 20149 - dAniel hAhler:
dAniel submitted a second patch for this for further cleanup.
The new patch prefers the latest intact backup set.

Bug 20039 - Andreas Schildbach: --and--
Patch 6030 - Alexander Zangerl <az at debian.org>:
Duplicity now uses bzip2 for compression.  This matches the way
the Debian distribution handles it.  I'll think about adding an
option to override later, if its needed.

New in v0.4.3.RC7 (2007/06/19)
Bug 20179 - dAniel hAhler: 
When errors cause login to fail in FTP, reset and try again.

Patch 6015 -dAniel hAhler:
Better display of traceback when ftpBackend errors out.

Patch 6029 - Alexander Zangerl <az at debian.org>:
archive-dir together with incremental backup results in crash. the
patch is simple, the code in 0.4.2 did attempt to access strings as

Patch 6031 - Alexander Zangerl <az at debian.org>:
there's some problems with unattended encrypted dumps, if the user
doesn't want to hand duplicity the gpg passphrase and attempts to work
around this by using a local archive dir.  the patch makes it look at
a manifest in a local archive dir if gpg doesn't manage to decrypt a
remote one (no surprise without a passphrase).

Patch 6032 - Alexander Zangerl <az at debian.org>:
a new feature patch: i've recently gotten annoyed with having
gazillions of 5mb files and therefore added a --volsize option to
allow the user setting the chunk size. the patch is simple and
contains a manpage update as well.

Patch 6033 - Alexander Zangerl <az at debian.org>:
let's add a --help terse usage message and don't just direct the user
to the manual. this should come handy if somebody needs to restore
stuff without having the manual available.

New in v0.4.3.RC6 (2007/06/13)
Bug 20149 - dAniel hAhler: When errors cause an incomplete backup set,
flag the error with a message, rather than erroring out.  The user
then knows to run --cleanup.

Patch 5998 - Kuang-che Wu: Cache uid and gid lookup to speed

Patch 5993 - daacyy302 at sneakemail.com: Make Amazon S3 backend 
incrementally more robust for recovery.

New in v0.4.3.RC5 (2007/06/04)
GnuPG fails when trying to access stdin on an empty passphrase.
Changes allow empty passphrase on public-key encryption and now
respond gracefully on empty passphrase for symmetric encryption.

dAniel hAhler submitted a patch to change "Error initializing file
foo" (log level 2), where foo was a socket, to "Skipping socket foo"
(log level 7).  https://savannah.nongnu.org/patch/?5985

Change logging to flush after every write, unbuffering stdout and
stderr, thus producing logs that are coherent.

New in v0.4.3.RC4 (2007/06/02)
More fixes on FTP.  dAniel hAhler supplied a new patch for FTP that
cleans up the error handling and reduces the retry time to zero on the
first retry.

New in v0.4.3.RC3 (2007/05/31)
Fixed connection problem in FTP where it was not quitting on
connection reset and just logging in again.  This created many stale
logins on the remote system.

Changed attribution of a couple of patches to dAniel hAhler, who
actually wrote the patches, not just found them.

New in v0.4.3.RC2 (2007/05/30)
Fixed bug in tarfile.py that was causing ValueError exception.  Thanks
to dAniel hAhler for the patch that fixed the problem.  Refer to:

New in v0.4.3.RC1 (2007/05/26)
Applied patches:

Fixed bugs:

ProFTPD resets the connection after returning 226 when NLSTing an 
empty directory, so changed code to allow that exception.

ftpBackend now asks for a password if FTP_PASSWORD does not exist.

rsyncBackend was using full URL in the commandline and failing.
It now uses only server:path/, leaving off rsync://.

Added --sftp-command option, now that the scp backend uses sftp for
listing and deleting files.

Brian Sutherland has contributed a new backend for Amazon's S3 data
storage service.

Added some patches compiled by Andre Beckedorf:

    Tolerate more errors when listing an ftp directory (errors
    indicate an empty dir).

    Retry ftp commands when upon temporary error.  (Thanks to to
    Stefan Schimanski and dAniel hAhler for their patches.)

** Affects: duplicity (Ubuntu)
     Importance: Undecided
         Status: New

[UFVe] Please sync duplicity from Debian unstable
You received this bug notification because you are a member of Ubuntu
Package Archive Administrators, which is a direct subscriber.

More information about the ubuntu-archive mailing list