From Fedora Project Wiki


Python3-rdiff-backup

Summary

rdiff-backup is a python based backup tool. While development stopped for many years, it's now resumed upstream and a python3 port has been (almost) completed. Unfortunately, the python2 and python3 versions will not interoperate, although backups made with either version are compatible. Because of this we want to push the new python3 based rdiff-backup to all supported releases when Fedora 32 is released.

Owner

  • Name: Kevin Fenzi and Frank Crawford
  • Email: <your email address so we can contact you, invite you to meetings, etc. Please provide your Bugzilla email address if it is different from your email in FAS>

Current status

Detailed Description

We want to move to the upstream supported python3 version, but we want to make sure people with mixed infrastructures are able to upgrade all their hosts with the new version so they continue to interoperate, as there are numerous incompatibilities between the python2 and python3 program implementation, such as default string types and pickle definitions.

Like most backup programs, it is a long term commitment by the user and the end of life of python2 has forced a migration to a python3 for the code. This will allow rdiff-backup repositories to continue to be used going forward.

Benefit to Fedora

Old, no longer maintained python2 version will be replaced with new 2.0.0 python3 version.

This update will also allow a number of locally maintained patches to be dropped as they have now been incorporated into the revitalised upstream project.

This is also a major upgrade to this backup software and is the primary Linux distribution of the current developer, and will put Fedora in a good position to introduce new features going forward.

Scope

  • Proposal owners:
  1. Test beta releases via rawhide and COPR (completed for first beta release, planned for upcoming beta releases).
  2. Gather feedback from this testing (in progress).
  3. Wait for final 2.0.0 release. This is planned for Feb 2020.
  4. Once f32 is out, push EPEL and older stable releases as well (due to compatibility issues).
  • Other developers: N/A (not a System Wide Change)
  • Policies and guidelines: N/A (not a System Wide Change)
  • Trademark approval: N/A (not needed for this Change)

Upgrade/compatibility impact

Previous Python2 versions are not interoperable with the new Python3 version, when used for remote operation, however, the actual backups are compatible between the two. This does require that all hosts used for remote operations are upgraded at the same time to continue to perform remote operations.

How To Test

Test backups with new version. Test existing wrapper scripts and cron jobs.

Note that upstream has extensive testing and this will be leveraged for the testing of the new release.

N/A (not a System Wide Change)

User Experience

Dependencies

N/A (not a System Wide Change)

Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A (not a System Wide Change), Yes/No
  • Blocks product? product

rdiff-backup will stop working in Fedora with the retirement of python2 and users will need to move to a new backup setup.

Documentation

N/A (not a System Wide Change)

Release Notes

Existing backups are compatible between older (v1.2.8/v1.3.x) and new (v2.0.0) versions of rdiff-backup, however, remote operations are not and require all hosts to use either the python2 (i.e. v1.2.8/v1.3.x) or python3 (v2.0.0) version. However, as python2 is now end-of-life, there is no further development on the older version and all future patches will be performed on the python3 version.