State of the Dup 2019.10



Hello all! Here’s what’s been going on in Deja Dup land lately.

Flatpak

We now ship a stable flatpak build on Flathub! It could use more testing eyeballs, but I believe it works.

Note that due to limitations with flatpak access to the host filesystem, you can only backup from and restore to your home directory.

The flatpak build is more of a “clean slate” release than our snap: it does not port existing user settings over, and it does not support the deprecated cloud storage options like Amazon S3 or Rackspace. But it will interact with existing backups just fine.

Snap

The snap build is more relevant lately, because the latest Ubuntu release (19.10) does not have a packaged version of PyDrive, which duplicity uses for Google Drive backups.

That means that Ubuntu 19.10 users will get an error when trying to back up to or restore from Google Drive, unless they install the snap instead. Not great... But hopefully Ubuntu will package it in time for 20.04 LTS.

Our snap build still supports full access to the host system (i.e. it’s still a “classic” snap). I am considering changing that to just support backing up the home folder -- as the flatpak build does -- which would allow us to stop being a classic snap (a less and less convenient status). But snaps still don’t have a way to ask for unfettered home dir access. So we’ll stay as a classic snap for now.

Python3

Duplicity now supports python3! We already use it in our flatpak and snap builds. Distros should be slowly moving over as well. This will fix a whole class of unicode decode errors that users keep reporting.

Borg

Movement here has been slow. Upstream has been busy preparing their next stable release (1.2) for the past nine months and have been waiting to review my patch to enable wider backend support until after 1.2 is out the door.

And then even then, we’d have to wait for a while for the patches to make it into the next major stable release. Plus further patches need to be written to actually enable different backends.

Though I have done some work on the Deja Dup side. There’s a "borg" branch on GitLab, though it does not have feature parity nor is it well tested yet. But it's a start.

The Containerized Future

The world of contained flatpaks and snaps has posed some challenges to Deja Dup. Containers are (unsurprisingly) less friendly to the sort of privileged access that a backup program is used to.

Despite that, I do appreciate the power to bundle in our own dependencies and update older releases immediately. That will help with adding borg support and with cloud-support-churn like we experienced with Google Drive API keys.

Here are some of the new details we’ll have to start considering as we make these builds first class citizens.

tl;dr; we’ll need to build a backup file browser and probably shift away from system-file backups.

Nautilus integration: neither flatpak nor snaps let us install a nautilus plugin (quite reasonably). So our UI support for single file restore and missing file restore won’t work. We’ll need to create a new UI that lets you browse your backup and restore individual files. Probably a good idea anyway, since a lot of people miss the nautilus integration.

Policykit: neither flatpak nor snaps let us register a policykit hook. We use that to support restoring files the user can’t write to (system files, usually). No easy replacement for that.

File access: flatpak unconditionally hides parts of the system filesystem from us. Snap let’s us see it all, as long as we keep as a legacy-style classic snap, which we’d like to get away from. Because of this (and the lack of policykit support), our container builds will likely move towards only supporting personal file backups and restores. This is our target market anyway, but it’s still a bummer. I don’t plan on removing any support from our distro releases, but I might start adding some UI to warn / prevent choosing system folders to include in the backup when inside a contained app.

Autostarting: neither flatpak nor snaps let us a register as an autostarting app at install time. So we can’t support our “prompt” feature that throws up a suggestion to make a backup a couple months after install if the user never opened Deja Dup (a feature mostly designed for preinstalls). No great loss, but worth noting.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]