Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.

Bug 453069

Summary: Incremental backups are broken with python 2.3
Product: [Fedora] Fedora EPEL Reporter: Nathan G. Grennan <redhat-bugzilla>
Component: duplicityAssignee: Robert Scheck <redhat-bugzilla>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: el4   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-06-28 09:21:25 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
Patch to fix python 2.3 incompatibility none

Description Nathan G. Grennan 2008-06-27 02:47:39 UTC
Description of problem:
Duplicity claims compatibility with python 2.3, but then uses a function in a
way that only works in python 2.4. This breaks incremental backups.


Version-Release number of selected component (if applicable):


How reproducible:
Everytime

Steps to Reproduce:
1. Install duplicity on a system with python 2.3, like CentOS 4
2. Run /usr/bin/duplicity incremental / scp://user@host//path
3. 
  
Actual results:
Traceback (most recent call last):
  File "/usr/bin/duplicity", line 463, in ?
    with_tempdir(main)
  File "/usr/bin/duplicity", line 458, in with_tempdir
    fn()
  File "/usr/bin/duplicity", line 393, in main
    last_full_time = col_stats.get_last_full_backup_time()
  File "/usr/lib/python2.3/site-packages/duplicity/collections.py", line 769, in
get_last_full_backup_time
    return self.get_nth_last_full_backup_time(1)
  File "/usr/lib/python2.3/site-packages/duplicity/collections.py", line 774, in
get_nth_last_full_backup_time
    chain = self.get_nth_last_backup_chain(n)
  File "/usr/lib/python2.3/site-packages/duplicity/collections.py", line 800, in
get_nth_last_backup_chain
    key = lambda chain: chain.get_first().time)
TypeError: sort() takes no keyword arguments


Expected results:
Works

Additional info:
The url below includes a patch that is supposed to fix this issue.

http://lists.gnu.org/archive/html/duplicity-talk/2008-05/msg00036.html

Comment 1 Nathan G. Grennan 2008-06-27 03:14:22 UTC
Created attachment 310408 [details]
Patch to fix python 2.3 incompatibility

I had trouble applying the patch from the mailing list. So I pulled it down
from cvs, and compared collections.py files. This patch is the result.

Comment 2 Nathan G. Grennan 2008-06-27 03:20:15 UTC
I added the patch to the 0.4.11-1 src.rpm, and compiled it. I think tested it in
the same case above where it broke, and it works.

Comment 3 Robert Scheck 2008-06-27 11:24:27 UTC
Thanks for pointing that out, I'll include the patch now.

Comment 4 Robert Scheck 2008-06-28 09:21:25 UTC
39427 (duplicity): Build on target fedora-4-epel succeeded. Build logs may be 
found at http://buildsys.fedoraproject.org/logs/fedora-4-epel/39427-duplicity-
0.4.11-2.el4/

As long the package is not in EPEL 4 testing repository, you can grab it from
the URL above. It should reach EPEL 4 testing at least on Monday.