giseldo/neodataset huggingface dataset:
No Option for Preserving Times? (lp:#1247347)

[Original report](https://bugs.launchpad.net/bugs/1247347) created by **Lonnie Lee Best (launchpad-startport)**
```
Zentyal uses duplicity to perform backups, and I just restored one of those
backups using deja dub. I restored not the latests files, but to a previous
point in time.

After restoring the files, I was going to then check them to see if the
files were actually from the time I restored to, but without looking at the
content of particular files I was unable to tell. You see, all files
restored had time-stamps of at the time they were restored instead of the
times they had at the backup source.  See this screen-shot:

http://neartalk.com/ss/2013-11-02_03:24:37.png

Rsync has a --times argument for preserving the times associated with a
source file. I was unable to find such an argument in duplicity. Am I over
looking something, or is this a legitimate enhancement request?
```
Original tags: saucy

Story points: 8.0
Backup fails with error: "Error setting permissions: Function not implemented" (lp:#1247276)

[Original report](https://bugs.launchpad.net/bugs/1247276) created by **Will Palmer (wmpalmer)**
```
I think the tool is: deja-dup 27.3.1

Attempting to backup to a "My Passport" drive completes the "scanning"
phase as usual, begins copying files for a few moments, then fails with the
following error message:

    Error setting permissions: Function not implemented

I do not see any further details along with this error message.

I have been successfully backing up for two weeks with this tool, but this
week it gave the error message and went no further.
I have recently upgraded to Ubuntu 3.10
```

Story points: 20.0
Crash with stacktrace, error code 30 in validate_encryption_settings (lp:#1245805)

[Original report](https://bugs.launchpad.net/bugs/1245805) created by **Damien Cassou (cassou)**
```
While running duplicity through duply, I get:

[...]
Found primary backup chain with matching signature chain:
-------------------------
Chain start time: Fri Oct 25 17:41:51 2013
Chain end time: Fri Oct 25 17:41:51 2013
Number of contained backup sets: 1
Total number of contained volumes: 13
 Type of backup set:                            Time:      Num volumes:
                Full         Fri Oct 25 17:41:51 2013                13
-------------------------
No orphaned or incomplete backup sets found.
Reuse configured PASSPHRASE as SIGN_PASSPHRASE
RESTART: Volumes 13 to 473 failed to upload before termination.
         Restarting backup at volume 13.
Removing still remembered temporary file
/tmp/duplicity-H1PRj7-tempdir/mkstemp-Bvibdh-1
Traceback (most recent call last):
  File "/usr/bin/duplicity", line 1411, in <module>
    with_tempdir(main)
  File "/usr/bin/duplicity", line 1404, in with_tempdir
    fn()
  File "/usr/bin/duplicity", line 1374, in main
    full_backup(col_stats)
  File "/usr/bin/duplicity", line 509, in full_backup
    globals.backend)
  File "/usr/bin/duplicity", line 346, in write_multivol
    validate_encryption_settings(globals.restart.last_backup, mf)
  File "/usr/bin/duplicity", line 325, in validate_encryption_settings
    if vol1_filename != backup_set.volume_name_dict[1]:
KeyError: 1

09:03:40.631 Task 'BKP' failed with exit code '30'.

ProblemType: Bug
DistroRelease: Ubuntu 13.10
Package: duplicity 0.6.21-0ubuntu4
ProcVersionSignature: Ubuntu 3.11.0-12.19-generic 3.11.3
Uname: Linux 3.11.0-12-generic x86_64
NonfreeKernelModules: wl
ApportVersion: 2.12.5-0ubuntu2.1
Architecture: amd64
Date: Tue Oct 29 09:04:56 2013
InstallationDate: Installed on 2013-10-21 (7 days ago)
InstallationMedia: Ubuntu 13.10 "Saucy Salamander" - Release amd64
(20131016.1)
MarkForUpload: True
SourcePackage: duplicity
UpgradeStatus: No upgrade log present (probably fresh install)
```
Original tags: amd64 apport-bug saucy

Story points: 10.0
Connection issue restarts entire backup (lp:#1242507)

[Original report](https://bugs.launchpad.net/bugs/1242507) created by **krbvroc1 (kbass)**
```
During a nightly incremental backup there was a connection issue during the
backup. This corrupted/restarted the backup.

Scenario:

Upload of volume was OK
Upload of new signatures was OK
Upload of manifest FAILED due to 'No route to host'.

BackendException upload failed aborted.

On the next nightly incremental backup, I would expect recovery. Instead I
got:
Deleting local manifest (not authoritative at backend)

and then on version 0.6.21, I got

ERROR 30 AssertionError
. Traceback (most recent call last):
.   File "/usr/bin/duplicity", line 1411, in ?
.     with_tempdir(main)
.   File "/usr/bin/duplicity", line 1404, in with_tempdir
.     fn()
.   File "/usr/bin/duplicity", line 1286, in main
.     globals.archive_dir).set_values()
.   File "/usr/lib64/python2.4/site-packages/duplicity/collections.py",
line 691, in set_values
.     (backup_chains, self.orphaned_backup_sets,
.   File "/usr/lib64/python2.4/site-packages/duplicity/collections.py",
line 816, in get_backup_chains
.     map(add_to_sets, filename_list)
.   File "/usr/lib64/python2.4/site-packages/duplicity/collections.py",
line 806, in add_to_sets
.     if set.add_filename(filename):
.   File "/usr/lib64/python2.4/site-packages/duplicity/collections.py",
line 93, in add_filename
.     self.set_manifest(filename)
.   File "/usr/lib64/python2.4/site-packages/duplicity/collections.py",
line 123, in set_manifest
.     assert not self.remote_manifest_name, (self.remote_manifest_name,
. AssertionError: ('duplicity-
inc.20130823T053006Z.to.20130824T054019Z.manifest.part', u'duplicity-
inc.20130823T053006Z.to.20130824T054019Z.manifest.gpg')

When I tried to reproduce this with the current dev tree (rev 930), instead
of reproducing the AssertionError, I instead got:
No orphaned or incomplete backup sets found.
RESTART: The first volume failed to upload before termination.
         Restart is impossible...starting backup from beginning.

To reproduce:
What I did was set a breakpoint in backend put (upload) routine. On each
breakpoint I examine the file name being uploaded and when it was the
manifest, I caused the network connection to fail. (In my case I modified
/etc/hosts to redirect the backup domain to an IP that returns connection
refused or no route to host. After duplicity exits with the backend
exception, I restore the connection and the RESTART happens.

For a multi GB nightly incremental backup, a RESTART of the entire archive
is drastic due to one sessions internet connection issues.

I'm not familiar with the design but some thoughts:
1) When this happens, why not use the local file rather than deleting it as
non authoritative?
2) For an incremental backup, would it be possible to delete the last
incomplete increment and continue backup from there?
3) Why does it say 'No orphaned or incomplete backup sets found.' Wouldn't
this scenario of a missing manifest be an incomplete backup set?
```

Story points: 6.0
Déjà-Dup 26.0 full-backup crashes and start again over and over (lp:#1237631)

[Original report](https://bugs.launchpad.net/bugs/1237631) created by **Adrien Robin (ninoaderri)**
```
From a fresh install of Ubuntu 13.04, I started a full-backup of my data as
I used to do with Ubuntu 12.04. But at a certain point, the backup crashes
and starts from the beginning again with the pop-up asking me if I want to
encrypt the data.

The output log looks regular until the 1909th volume: for this volume,
after having been written to the disk, and after the temp file has been
deleted, duplicity tries to remove it instead of forgetting it as it was
the case for the previous volumes. This leads to a crash.

Description:    Ubuntu 13.04

deja-dup        26.0-0ubuntu1
duplicity       0.6.21-0ubuntu1.1

org.gnome.DejaDup backend 'file'
org.gnome.DejaDup delete-after 0
org.gnome.DejaDup exclude-list ['$TRASH', '$DOWNLOAD',
'/home/adrien/Sauvegardes']
org.gnome.DejaDup full-backup-period 90
org.gnome.DejaDup include-list ['$HOME']
org.gnome.DejaDup last-backup ''
org.gnome.DejaDup last-restore ''
org.gnome.DejaDup last-run ''
org.gnome.DejaDup nag-check ''
org.gnome.DejaDup periodic false
org.gnome.DejaDup periodic-period 7
org.gnome.DejaDup prompt-check '2013-10-02T14:38:22.157279Z'
org.gnome.DejaDup root-prompt true
org.gnome.DejaDup welcomed true
org.gnome.DejaDup.File icon ''
org.gnome.DejaDup.File name ''
org.gnome.DejaDup.File path 'file:///home/adrien/Sauvegardes'
org.gnome.DejaDup.File relpath@ ay []
org.gnome.DejaDup.File short-name ''
org.gnome.DejaDup.File type 'normal'
org.gnome.DejaDup.File uuid ''
org.gnome.DejaDup.Rackspace container 'PC-Adrien'
org.gnome.DejaDup.Rackspace username ''
org.gnome.DejaDup.S3 bucket ''
org.gnome.DejaDup.S3 folder 'PC-Adrien'
org.gnome.DejaDup.S3 id ''
org.gnome.DejaDup.U1 folder '/deja-dup/PC-Adrien'
```

Story points: 10.0
doesn't handle broken output pipe (lp:#1228722)

[Original report](https://bugs.launchpad.net/bugs/1228722) created by **Steven Barre (slashterix)**
```
If I pipe the output of 'duplicity list-current-files' to another program,
and that program dies, I get this error for each output line left to be
written to the pipe

# duplicity list-current-files <other options> | php myscript.php
IOError: [Errno 32] Broken pipe
Traceback (most recent call last):
  File "/usr/lib64/python2.6/logging/__init__.py", line 800, in emit
    self.flush()
  File "/usr/lib64/python2.6/logging/__init__.py", line 762, in flush
    self.stream.flush()
<repeating .... >

Duplicity should handle this error and exit, instead of continuing to dump
data to the pipe.

Duplicity version 0.6.21
Python version 2.6.6
OS Distro and version CentOS 6.4 x86_64
```

Story points: 6.0
progress exception (lp:#1227226)

[Original report](https://bugs.launchpad.net/bugs/1227226) created by **Mark Hesel (markhesel)**
```
duplicity 0.6.22
Python 2.6.4
Ubuntu 9.10 (Karmic Koala)

when using the --progress feature, and after this it is not working
probably.

root@server:~/duplicity# ./backup
Import of duplicity.backends.dpbxbackend Failed: No module named dropbox
Password for 'root@1.2.3.4':
Local and Remote metadata are synchronized, no sync needed.
Warning, found incomplete backup sets, probably left from aborted session
Last full backup date: none
No signatures found, switching to full backup.
Exception in thread Thread-2:
Traceback (most recent call last):
  File "/usr/lib/python2.6/threading.py", line 525, in __bootstrap_inner
    self.run()
  File "/usr/local/lib/python2.6/dist-packages/duplicity/progress.py", line
353, in run
    tracker.log_upload_progress()
  File "/usr/local/lib/python2.6/dist-packages/duplicity/progress.py", line
267, in log_upload_progress
    self.time_estimation = long(projection *
float(self.elapsed_sum.total_seconds()))
AttributeError: 'datetime.timedelta' object has no attribute
'total_seconds'
```

Story points: 10.0
Client Certificate support for webdavs backend (lp:#1223384)

[Original report](https://bugs.launchpad.net/bugs/1223384) created by **Nicklas Björk (nicklas-3)**
```
I have a situation where I would like to use the webdavs backend to store
Duplicity dumps. The catch is that the server is using SSL client
certificates for authentication, which does not seem to be supported by
Duplicity.

Some quick research shows that it seems to be doable using urllib2
(http://www.osmonov.com/2009/04/client-certificates-with-urllib2.html).
Would it be possible to implement this feature in Duplicity?
```

Story points: 6.0
duplicity should allow restoring a file without knowing the signing key (lp:#1221117)

[Original report](https://bugs.launchpad.net/bugs/1221117) created by **Robert Buchholz (rbu)**
```
Considering I have a backup and lost the signing key, but it was encrypted
for a master key (that I still have), I would like to be able to restore
files from that backup.

However, "duplicity restore" fails because of a failing signature
validation due to me missing the public signing key to the signature. It
should allow to override / ignore this check when specifying an option,
such as --ignore-errors
```

Story points: 10.0
should set nice level (lp:#1220396)

[Original report](https://bugs.launchpad.net/bugs/1220396) created by **Thomas Guettler (guettli-lp)**
```
If I run a backup, the whole system is slow. I think the backup process
should set a nice level (and ionice), since it is a background job. The
interactive processes (terminal, webbrowser ...) should not be slowed down
by the backup process.
```

Story points: 10.0
Function remove-older-than fails with duplicity 0.6.21 (lp:#1208791)

[Original report](https://bugs.launchpad.net/bugs/1208791) created by **Samuel Bancal (samuel-bancal)**
```
Duplicity : from PPA 0.6.21-0ubuntu0ppa21~precise1
Python : 2.7.3
Ubuntu : 12.04.2 (64bits)
Target : Ubuntu 12.04.2 (64bits) over ssh (iSCSI storage, EXT4)


On several servers, I did daily backups, followed by remove-older-than 1Y
(without --force).
Yeasterday I noticed that old backups didn't disapeared so I added --force
(I guess this information won't help ... but in case...)

Now Every time I run :
sudo duplicity remove-older-than 1Y --force -v2 --no-encryption --ssh-
options=-oIdentityFile=/home/user/.ssh/id_rsa_backups_xxx
scp://h_xxx@bkp_srv.domain.org/backup
I get an error like this :
sftp rm duplicity-inc.20120412T004301Z.to.20120413T004301Z.manifest failed:
[Errno 2] No such file (Try 2 of 5) Will retry in 10 seconds.
sftp rm duplicity-inc.20120412T004301Z.to.20120413T004301Z.manifest failed:
[Errno 2] No such file (Try 3 of 5) Will retry in 10 seconds.
sftp rm duplicity-inc.20120412T004301Z.to.20120413T004301Z.manifest failed:
[Errno 2] No such file (Try 4 of 5) Will retry in 10 seconds.
sftp rm duplicity-inc.20120412T004301Z.to.20120413T004301Z.manifest failed:
[Errno 2] No such file

The mentionned file does exist on the backup server and in the
.cache/duplicity/xxx/ local folder.
After that run, both files are removed and I can run it again to discover
the next file it attempts to remove.

I tried with both paramiko 1.7.7.1-2ubuntu1 (from Ubuntu package) and with
1.11.0 (installed with pip)

Finally I tried to downgrade duplicity to 0.6.18-0ubuntu3.1 (default
package for Ubuntu 12.04) ... I get another warning/error message (Import
of duplicity.backends.giobackend Failed: No module named gio) ... but it
works!
```

Story points: 20.0
Add support for long-term storage with restore delays (lp:#1197958)

[Original report](https://bugs.launchpad.net/bugs/1197958) created by **Julien Fastré (julien-w)**
```
Hi,

A lot of service providers are offering long-term storage service. This
kind of storage is very cheap, but restoring a file force a delay which may
last a couple of hours. I am thinking about Amazon Glacier, but also OVH
"Personal Cloud Archive" (http://www.ovh.com/fr/cloud/archives/)

My clients are very interested by using this kind of backup. I would like
to use a script to make incremental and encrypted backup, and I am thinking
about adapting Duplicity for this.

I searched within bug reports, but except bug 1039511, I did not see any
report of a discussion on the implementation of a backend adapted to those
kind of backup.

I never contributed to Duplicity, and I had a glance at the code, and it
seems to me quite easy to understand.

I see those problem:

1. Duplicity need to have access to the "manifest" files (for restoring
from another machine, or for checking if the cache need a sync before
upload). I was thinking about separating those manifest files from the data
files, adding an option --manifest-site(or something like that)=<URL AND
BACKEND FOR MANIFEST>

For instance: duplicity --manifest-file=s3+http//my_bucket/ /home/me
sftp://uid@other.host/some_dir

If the "--manifest-site" option is detected, the manifests files would be
send/retrieved to/from this place (s3+http//my_bucket/ in my example)
instead of the usual place (sftp://uid@other.host/some_dir in my example).
But I could not see in the code where this should be changed.

2. For restoring the file from such "glacier", we should take into account
the delay of restoring file. I was thinking about adapting both the script
and the backend class.

In the backend class, I was thinking about adding a function "hasDelay".
The return value would be a boolean, false by default. If the response is
false, the script would continue as usually.

If the response is true, then duplicity would execute the function
"prepareFileForGet" with filename as an option. After asking the backend
class to prepare the file, a loop would be executed every 2 minutes and to
ask the backend whether the requested files are ready for dowload
(backend.isReadyForDownload(filename)). The result would be a boolean.

If a file is ready, this file would be downloaded, and the operation
repeated until every files would be ready.


Do you think this feature would be useful ?

Do you expect other problems or collisions ?

I would be happy with comments and improvements...

Regards,
Julien Fastré
```
Original tags: amazon glacier

Story points: 12.0
New Feature Request:  list-current-files just top directories (lp:#1193410)

[Original report](https://bugs.launchpad.net/bugs/1193410) created by **Bradley (jbradley-whited)**
```
Currently, list-current-files lists everything.  It'd be nice to have an
option to just list top directories for quick inspection.

Thanks
```
Original tags: wishlist

Story points: 6.0
python-cloudfiles deprecated (lp:#1179322)

[Original report](https://bugs.launchpad.net/bugs/1179322) created by **Jonathan Krauss (jkrauss)**
```
Rackspace has deprecated python-cloudfiles in favor of their pyrax library,
which consolidates all Rackspace Cloud API functionality into a single
library.  Attached is a simple backend for pyrax, ported over from
cloudfiles.  I tested it with Duplicity 0.6.21 on both Arch Linux and
FreeBSD 8.3.0.
```

Story points: 12.0
Duplicity deletes contents of cache on S3 network error (lp:#1172170)

[Original report](https://bugs.launchpad.net/bugs/1172170) created by **Tristan Seligmann (mithrandi)**
```
Duplicity version: 0.6.18
Python version: 2.6.6
Distribution: Debian 6.0.7 ("squeeze")

I've had this happen a few times, I think, but only realised what the issue
was on the most recent attempt. If my scheduled Duplicity backup runs
during a network outage, it looks like it fails to resolve the bucket DNS
entry, concludes the bucket does not exist, and tries to create it.
Unfortunately, before trying this, it deletes every file in the cache due
to being not present on the backend. My cron output looks something like
this (with my details censored out):

Deleting local /home/[CENSORED]/.cache/duplicity/[CENSORED]/duplicity-full-
signatures.20110827T170252Z.sigtar.gz (not authoritative at backend).
[... repeated for every file in the cache ...]
Last full backup date: none
Last full backup is too old, forcing full backup
Failed to create bucket (attempt #1) '[CENSORED]' failed (reason: gaierror:
[Errno -2] Name or service not known)

Unfortunately I have an S3 lifecycle rule set up to transition objects to
Glacier that are older than a certain age, so recovering from this requires
restoring all the manifests / signatures / etc. so that Duplicity can cache
them again, which is a somewhat tedious and time-consuming manual process.
I don't have -v9 output since this was an unattended automated job run from
cron.
```

Story points: 6.0
duplicity crashed with SIGSEGV in g_file_copy() (lp:#1166019)

[Original report](https://bugs.launchpad.net/bugs/1166019) created by **Kenneth Loafman (kenneth-loafman)**
```
.

ProblemType: Crash
DistroRelease: Ubuntu 13.04
Package: duplicity 0.6.21-0ubuntu1
ProcVersionSignature: Ubuntu 3.8.0-16.26-generic 3.8.5
Uname: Linux 3.8.0-16-generic x86_64
ApportVersion: 2.9.2-0ubuntu5
Architecture: amd64
Date: Sat Apr  6 03:00:37 2013
ExecutablePath: /usr/bin/duplicity
InterpreterPath: /usr/bin/python2.7
MarkForUpload: True
ProcCmdline: /usr/bin/python /usr/bin/duplicity
--include=/home/username/.cache/deja-dup/metadata
--exclude=/home/username/photos --exclude=/home/username/Downloads
--exclude=/home/username/.local/share/Trash
--exclude=/home/username/.cache/deja-dup/tmp
--exclude=/home/username/.xsession-errors
--exclude=/home/username/.thumbnails --exclude=/home/username/.Private
--exclude=/home/username/.gvfs
--exclude=/home/username/.adobe/Flash_Player/AssetCache
--exclude=/home/username/.cache/deja-dup --exclude=/home/username/.cache
--include=/home/username --exclude=/sys --exclude=/run --exclude=/proc
--exclude=/var/tmp --exclude=/tmp --exclude=** --gio --volsize=25 /
ftp://anonymous@lacie-2big/Public/backup --no-encryption --verbosity=9
--gpg-options=--no-use-agent --archive-dir=/home/username/.cache/deja-dup
--tempdir=/home/username/.cache/deja-dup/tmp --log-fd=21
ProcEnviron:
 PATH=(custom, user)
 XDG_RUNTIME_DIR=<set>
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SegvAnalysis:
 Segfault happened at: 0x7f60273fc175 <g_file_copy+389>:        mov
(%rax),%eax
 PC (0x7f60273fc175) ok
 source "(%rax)" (0x00000000) not located in a known VMA region (needed
readable region)!
 destination "%eax" ok
SegvReason: reading NULL VMA
Signal: 11
SourcePackage: duplicity
StacktraceTop:
 g_file_copy () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
 ffi_call_unix64 () from /usr/lib/x86_64-linux-gnu/libffi.so.6
 ffi_call () from /usr/lib/x86_64-linux-gnu/libffi.so.6
 g_callable_info_invoke () from /usr/lib/libgirepository-1.0.so.1
 g_function_info_invoke () from /usr/lib/libgirepository-1.0.so.1
Title: duplicity crashed with SIGSEGV in g_file_copy()
UpgradeStatus: Upgraded to raring on 2012-10-19 (168 days ago)
UserGroups: adm admin cdrom dialout libvirtd lpadmin mythtv plugdev
sambashare
```
Original tags: amd64 apport-crash apport-failed-retrace raring

Story points: 20.0
AttributeError: 'list' object has no attribute 'startswith' when using verify (lp:#1165263)

[Original report](https://bugs.launchpad.net/bugs/1165263) created by **iceflatline (iceflatline)**
```
I am encountering the following error when running the following verify
command on FreeBSD 9.1-RELEASE:

/usr/local/bin/duplicity verify --include /mnt/files/backup/ --exclude '**'
scp://backup@192.168.20.6//mnt/files/weekly/ /mnt/files/

Traceback (most recent call last):
  File "/usr/local/bin/duplicity", line 1411, in <module>
    with_tempdir(main)
  File "/usr/local/bin/duplicity", line 1404, in with_tempdir
    fn()
  File "/usr/local/bin/duplicity", line 1257, in main
    action = commandline.ProcessCommandLine(sys.argv[1:])
  File "/usr/local/lib/python2.7/site-packages/duplicity/commandline.py",
line 1013, in ProcessCommandLine
    backup, local_pathname = set_backend(args[0], args[1])
  File "/usr/local/lib/python2.7/site-packages/duplicity/commandline.py",
line 906, in set_backend
    globals.backend = backend.get_backend(bend)
  File "/usr/local/lib/python2.7/site-packages/duplicity/backend.py", line
161, in get_backend
    return _backends[pu.scheme](pu)
  File "/usr/local/lib/python2.7/site-
packages/duplicity/backends/_ssh_paramiko.py", line 159, in __init__
    self.config['identityfile'])
  File "/usr/local/lib/python2.7/posixpath.py", line 252, in expanduser
    if not path.startswith('~'):
AttributeError: 'list' object has no attribute 'startswith'
```

Story points: 8.0