Accepting request 526425 from GNOME:Next

Add upstream bugfix patch

OBS-URL: https://build.opensuse.org/request/show/526425
OBS-URL: https://build.opensuse.org/package/show/GNOME:Apps/deja-dup?expand=0&rev=82
This commit is contained in:
Dominique Leuenberger 2017-09-15 21:23:10 +00:00 committed by Git OBS Bridge
parent bcd5b39dc1
commit 0f77762533
3 changed files with 79 additions and 0 deletions

View File

@ -0,0 +1,70 @@
From 3390fd1b0a906b8bd4d859922844b3d57b7f5fdd Mon Sep 17 00:00:00 2001
From: Michael Terry <mike@mterry.name>
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

View File

@ -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

View File

@ -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}"