State of the Dup

From: "Michael Terry" <mike mterry name>

To: deja-dup-list <deja-dup-list gnome org>

Subject: State of the Dup

Date: Sat, 13 Apr 2019 23:09:15 -0400

Hey folks - I’m the interests of transparency and planning, I thought I’d break down recent Deja Dup happenings and share my plans for it in the rest of 2019.







Recent Events







Google API Keys







The transition to our own API keys (away from GNOME’s) is complete. I started the 39.x line to get some wider testing, and it seems to be working for folks.







I’ll probably release a 40.0 early this week with the Google switch and the recent passphrase fix (see below).







Passphrase Problems







There seems to have been a regression in duplicity allowing a passphrase to switch mid backup chain. And some weaknesses on Deja Dup’s side allowed that to actually occur for some users.







Release 39.1 has a fix for the whole situation. I’ve tried to comment on any bugs that seem related about it. And I made the following wiki explaining the problem and how to resolve it. Tell your friends.







https://wiki.gnome.org/Apps/DejaDup/PassphraseProblems2019







Snaps







The snap experiment has been going well. I like that it makes it easier to test non-stable releases — git master is in the edge channel and development releases (odd numbered releases) are in the beta channel. (And actually at the time of writing I put 39.1 in stable too, to get a touch wider testing before 40.0 hits.)







I’d love to hear any problems or successes from it. But I was happy enough that I dropped the PPA I was maintaining for beta testing, in favor of snaps.







I realize support outside of Ubuntu isn’t top notch. I do have some in-progress flatpak packaging too, but flatpak is missing some features that I’d like to see fixed before advertising a flatpak build.







Upcoming Plans







Duplicity and Python 3







Duplicity has a yet-to-be-released port to python3 which will be released as 0.8.0. I do not know when they plan to actually do a release. They’ve been sitting on the 0.8 branch for a while.







Python2 is end-of-life at end of the year. I’m fearful that duplicity will wait until the latter half of the year before releasing.







But the switch shouldn’t affect us too much, as long as it does actually get released. I might cut a release that requires the new version, but presumably things will work like they used to, just with updated dependencies for the backends we support.







Borg







As I mentioned in a previous thread, I've been exploring what it would mean to support a new backup tool backend. Both because of worries about duplicity’s python3 plans as well as continuing bugs in duplicity (see above passphrase problems).







I’ve not decided anything in that space, but the front runner so far is borg. The two things I’d need to do to support it would be (a) add support to borg for backend plugins (e.g. cloud backends and GIO) and (b) add support in deja-dup for talking to borg.







I’ve started down both paths. But this would be a marathon not a sprint sorta thing.







Once we can support borg, we’ll have to decide if that stays as a toy optional backend or if we want to switch to it by default.







Supported Clouds







We used to support (and default to) some very “techy” cloud services like direct S3 access.







Then I pushed us towards GNOME Online Accounts and consumer-focused services like Google Drive (vs Google Cloud Services).







But now we’re back off of GOA and have to manually support our own set of cloud services again, instead of outsourcing that to GOA.







Which in one way is nice, because there are less blockers to finally adding some more consumer cloud drives like Amazon Drive or Microsoft OneDrive or whatever else.







But since a potential tool switch is in the medium future, I’m loathe to support a new duplicity backend only to have to then write code to migrate files for that backend within a year.







So I’m not currently planning any new cloud support until after we decide what we’re doing with borg.







And if we did switch to a new tool, that would probably be the actual end of support for the long-deprecated techy cloud backends like S3.





Dogtail







Lastly, I am still embarrassed that we don’t have a full UI test suite. I rely too much on manual testing and beta testers.







Apparently dogtail is still the state of the art for GNOME UI testing. I started a branch to look into adding a dogtail test suite but didn’t get far before being distracted by the Google and borg threads.







I hope to eventually circle back to that.







That’s All







And that’s all I have planned for the immediate future.







I did want to thank all the packagers, testers, translators, and patch writers. You’re all the best.





