** Description changed:

+ [Impact]
+ 
+ Any user of the gio backend in duplicity (used by Deja Dup) backing up
+ to a directory with utf8 characters in it is unable to complete a single
+ backup.
+ 
+ [Test Case]
+ 
+ mkdir /tmp/source
+ echo test > /tmp/source
+ mkdir /tmp/Ж
+ duplicity --gio --no-encryption /tmp/source file:///tmp/Ж
+ 
+ [Regression Potential]
+ 
+ The patch to fix this mostly affects various exception code paths.  But
+ each one is pretty simple change (just upgrading ascii to unicode).
+ 
+ [Original Report]
+ 
  After upgrading to Ubuntu 14.04 from 13.10, Duplicity cannot backup
  files. The location it will backup and the location to backup have both
  Russian characters in path. I believe this is the reason of the problem.
  
  After failure, duplicity shows this log:
  ------------------------------
  Traceback (most recent call last):
-   File "/usr/bin/duplicity", line 1494, in <module>
-     with_tempdir(main)
-   File "/usr/bin/duplicity", line 1488, in with_tempdir
-     fn()
-   File "/usr/bin/duplicity", line 1337, in main
-     do_backup(action)
-   File "/usr/bin/duplicity", line 1470, in do_backup
-     incremental_backup(sig_chain)
-   File "/usr/bin/duplicity", line 637, in incremental_backup
-     globals.backend)
-   File "/usr/bin/duplicity", line 424, in write_multivol
-     (tdp, dest_filename, vol_num)))
-   File "/usr/lib/python2.7/dist-packages/duplicity/asyncscheduler.py", line 
145, in schedule_task
-     return self.__run_synchronously(fn, params)
-   File "/usr/lib/python2.7/dist-packages/duplicity/asyncscheduler.py", line 
171, in __run_synchronously
-     ret = fn(*params)
-   File "/usr/bin/duplicity", line 423, in <lambda>
-     async_waiters.append(io_scheduler.schedule_task(lambda tdp, 
dest_filename, vol_num: put(tdp, dest_filename, vol_num),
-   File "/usr/bin/duplicity", line 314, in put
-     backend.put(tdp, dest_filename)
-   File "/usr/lib/python2.7/dist-packages/duplicity/backends/giobackend.py", 
line 145, in put
-     self.copy_file('put', source_file, target_file)
-   File "/usr/lib/python2.7/dist-packages/duplicity/backend.py", line 330, in 
iterate
-     return fn(*args, **kwargs)
-   File "/usr/lib/python2.7/dist-packages/duplicity/backends/giobackend.py", 
line 130, in copy_file
-     log.Info(_("Writing %s") % target.get_parse_name())
+   File "/usr/bin/duplicity", line 1494, in <module>
+     with_tempdir(main)
+   File "/usr/bin/duplicity", line 1488, in with_tempdir
+     fn()
+   File "/usr/bin/duplicity", line 1337, in main
+     do_backup(action)
+   File "/usr/bin/duplicity", line 1470, in do_backup
+     incremental_backup(sig_chain)
+   File "/usr/bin/duplicity", line 637, in incremental_backup
+     globals.backend)
+   File "/usr/bin/duplicity", line 424, in write_multivol
+     (tdp, dest_filename, vol_num)))
+   File "/usr/lib/python2.7/dist-packages/duplicity/asyncscheduler.py", line 
145, in schedule_task
+     return self.__run_synchronously(fn, params)
+   File "/usr/lib/python2.7/dist-packages/duplicity/asyncscheduler.py", line 
171, in __run_synchronously
+     ret = fn(*params)
+   File "/usr/bin/duplicity", line 423, in <lambda>
+     async_waiters.append(io_scheduler.schedule_task(lambda tdp, 
dest_filename, vol_num: put(tdp, dest_filename, vol_num),
+   File "/usr/bin/duplicity", line 314, in put
+     backend.put(tdp, dest_filename)
+   File "/usr/lib/python2.7/dist-packages/duplicity/backends/giobackend.py", 
line 145, in put
+     self.copy_file('put', source_file, target_file)
+   File "/usr/lib/python2.7/dist-packages/duplicity/backend.py", line 330, in 
iterate
+     return fn(*args, **kwargs)
+   File "/usr/lib/python2.7/dist-packages/duplicity/backends/giobackend.py", 
line 130, in copy_file
+     log.Info(_("Writing %s") % target.get_parse_name())
  UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 36: 
ordinal not in range(128)
  
  -------------------------------
  I believe the related script shall be fixed with "u" prefix, as explained 
here:
  http://stackoverflow.com/questions/9644099/python-ascii-codec-cant-decode-byte
  
  Ozgur
  
  ProblemType: Bug
  DistroRelease: Ubuntu 14.04
  Package: duplicity 0.6.23-1ubuntu4
  ProcVersionSignature: Ubuntu 3.13.0-24.46-generic 3.13.9
  Uname: Linux 3.13.0-24-generic i686
  ApportVersion: 2.14.1-0ubuntu3
  Architecture: i386
  CurrentDesktop: Unity
  Date: Tue Apr 29 01:37:39 2014
  SourcePackage: duplicity
  UpgradeStatus: Upgraded to trusty on 2014-04-18 (10 days ago)

** Description changed:

  [Impact]
  
  Any user of the gio backend in duplicity (used by Deja Dup) backing up
  to a directory with utf8 characters in it is unable to complete a single
  backup.
  
  [Test Case]
  
  mkdir /tmp/source
- echo test > /tmp/source
+ echo test > /tmp/source/test
  mkdir /tmp/Ж
  duplicity --gio --no-encryption /tmp/source file:///tmp/Ж
  
  [Regression Potential]
  
  The patch to fix this mostly affects various exception code paths.  But
  each one is pretty simple change (just upgrading ascii to unicode).
  
  [Original Report]
  
  After upgrading to Ubuntu 14.04 from 13.10, Duplicity cannot backup
  files. The location it will backup and the location to backup have both
  Russian characters in path. I believe this is the reason of the problem.
  
  After failure, duplicity shows this log:
  ------------------------------
  Traceback (most recent call last):
    File "/usr/bin/duplicity", line 1494, in <module>
      with_tempdir(main)
    File "/usr/bin/duplicity", line 1488, in with_tempdir
      fn()
    File "/usr/bin/duplicity", line 1337, in main
      do_backup(action)
    File "/usr/bin/duplicity", line 1470, in do_backup
      incremental_backup(sig_chain)
    File "/usr/bin/duplicity", line 637, in incremental_backup
      globals.backend)
    File "/usr/bin/duplicity", line 424, in write_multivol
      (tdp, dest_filename, vol_num)))
    File "/usr/lib/python2.7/dist-packages/duplicity/asyncscheduler.py", line 
145, in schedule_task
      return self.__run_synchronously(fn, params)
    File "/usr/lib/python2.7/dist-packages/duplicity/asyncscheduler.py", line 
171, in __run_synchronously
      ret = fn(*params)
    File "/usr/bin/duplicity", line 423, in <lambda>
      async_waiters.append(io_scheduler.schedule_task(lambda tdp, 
dest_filename, vol_num: put(tdp, dest_filename, vol_num),
    File "/usr/bin/duplicity", line 314, in put
      backend.put(tdp, dest_filename)
    File "/usr/lib/python2.7/dist-packages/duplicity/backends/giobackend.py", 
line 145, in put
      self.copy_file('put', source_file, target_file)
    File "/usr/lib/python2.7/dist-packages/duplicity/backend.py", line 330, in 
iterate
      return fn(*args, **kwargs)
    File "/usr/lib/python2.7/dist-packages/duplicity/backends/giobackend.py", 
line 130, in copy_file
      log.Info(_("Writing %s") % target.get_parse_name())
  UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 36: 
ordinal not in range(128)
  
  -------------------------------
  I believe the related script shall be fixed with "u" prefix, as explained 
here:
  http://stackoverflow.com/questions/9644099/python-ascii-codec-cant-decode-byte
  
  Ozgur
  
  ProblemType: Bug
  DistroRelease: Ubuntu 14.04
  Package: duplicity 0.6.23-1ubuntu4
  ProcVersionSignature: Ubuntu 3.13.0-24.46-generic 3.13.9
  Uname: Linux 3.13.0-24-generic i686
  ApportVersion: 2.14.1-0ubuntu3
  Architecture: i386
  CurrentDesktop: Unity
  Date: Tue Apr 29 01:37:39 2014
  SourcePackage: duplicity
  UpgradeStatus: Upgraded to trusty on 2014-04-18 (10 days ago)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1313966

Title:
  duplicity cannot back up files from Russian file directory

To manage notifications about this bug go to:
https://bugs.launchpad.net/duplicity/+bug/1313966/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to