diff --git a/deja-dup-fix-setting-drive-volume.patch b/deja-dup-fix-setting-drive-volume.patch new file mode 100644 index 0000000..9944eb9 --- /dev/null +++ b/deja-dup-fix-setting-drive-volume.patch @@ -0,0 +1,70 @@ +From 3390fd1b0a906b8bd4d859922844b3d57b7f5fdd Mon Sep 17 00:00:00 2001 +From: Michael Terry +Date: Thu, 14 Sep 2017 11:41:38 -0400 +Subject: BackendDrive: Fix setting a drive volume + +Use get_uuid() instead of get_identifier(UUID) because it gets the +user-friendly version (i.e. the unencrypted partition, not the outer +LUKS partition). + +And actually set the drive UUID when choosing it in the settings. + +https://launchpad.net/bugs/1717230 + +diff --git a/deja-dup/widgets/ConfigLocation.vala b/deja-dup/widgets/ConfigLocation.vala +index d51d241..8bd092e 100644 +--- a/deja-dup/widgets/ConfigLocation.vala ++++ b/deja-dup/widgets/ConfigLocation.vala +@@ -424,8 +424,7 @@ public class ConfigLocation : ConfigWidget + { + if (is_allowed_volume(v)) + { +- add_volume_full(v.get_identifier(VolumeIdentifier.UUID), +- v.get_name(), v.get_icon()); ++ add_volume_full(v.get_uuid(), v.get_name(), v.get_icon()); + } + } + +@@ -445,8 +444,7 @@ public class ConfigLocation : ConfigWidget + + void update_volume(VolumeMonitor monitor, Volume v) + { +- update_volume_full(v.get_identifier(VolumeIdentifier.UUID), +- v.get_name(), v.get_icon()); ++ update_volume_full(v.get_uuid(), v.get_name(), v.get_icon()); + } + + void update_volume_full(string uuid, string name, Icon icon) +@@ -460,7 +458,7 @@ public class ConfigLocation : ConfigWidget + + void remove_volume(VolumeMonitor monitor, Volume v) + { +- remove_volume_full(v.get_identifier(VolumeIdentifier.UUID)); ++ remove_volume_full(v.get_uuid()); + } + + void remove_volume_full(string uuid) +@@ -622,6 +620,7 @@ public class ConfigLocation : ConfigWidget + + // First things first, we must remember that we set a volume + all_settings[""].set_string(BACKEND_KEY, "drive"); ++ all_settings[DRIVE_ROOT].set_string(DRIVE_UUID_KEY, uuid); + + var vol = VolumeMonitor.get().get_volume_for_uuid(uuid); + if (vol == null) { +diff --git a/libdeja/BackendDrive.vala b/libdeja/BackendDrive.vala +index dcfe450..86c752c 100644 +--- a/libdeja/BackendDrive.vala ++++ b/libdeja/BackendDrive.vala +@@ -125,7 +125,7 @@ public class BackendDrive : BackendFile + var icon = volume.get_icon(); + + // sanity check that these writable settings are for this volume +- var vol_uuid = volume.get_identifier(VolumeIdentifier.UUID); ++ var vol_uuid = volume.get_uuid(); + var settings_uuid = settings.get_string(DRIVE_UUID_KEY); + if (vol_uuid != settings_uuid) + return; +-- +cgit v0.10.2 + diff --git a/deja-dup.changes b/deja-dup.changes index 7ef7a57..945e0e3 100644 --- a/deja-dup.changes +++ b/deja-dup.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Sep 15 20:17:15 UTC 2017 - zaitor@opensuse.org + +- Add deja-dup-fix-setting-drive-volume.patch: BackendDrive: Fix + setting a drive volume (lp#1717230). + ------------------------------------------------------------------- Wed Sep 13 13:23:41 UTC 2017 - zaitor@opensuse.org diff --git a/deja-dup.spec b/deja-dup.spec index 859f4cb..1e47a87 100644 --- a/deja-dup.spec +++ b/deja-dup.spec @@ -24,6 +24,8 @@ License: GPL-3.0+ Group: Productivity/Archiving/Backup Url: https://launchpad.net/deja-dup Source0: https://launchpad.net/deja-dup/36/%{version}/+download/%{name}-%{version}.tar.xz +# PATCH-FIX-UPSTREAM deja-dup-fix-setting-drive-volume.patch lp#1717230 zaitor@opensuse.org -- BackendDrive: Fix setting a drive volume +Patch0: deja-dup-fix-setting-drive-volume.patch # For make check to work, we need dbus-launch BuildRequires: dbus-1-x11 BuildRequires: fdupes @@ -85,6 +87,7 @@ This package contains a plugin to integrate Déjà Dup into Nautilus. %prep %setup -q +%patch0 -p1 %build export CFLAGS="%{optflags} -Wl,-rpath=%{_libdir}/%{name}"