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:
Embargoed:
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.