Merge ~3v1n0/ubuntu/+source/gnome-software:ubuntu/bionic into ~ubuntu-desktop/ubuntu/+source/gnome-software:ubuntu/master

Proposed by Marco Trevisan (Treviño)
Status: Superseded
Proposed branch: ~3v1n0/ubuntu/+source/gnome-software:ubuntu/bionic
Merge into: ~ubuntu-desktop/ubuntu/+source/gnome-software:ubuntu/master
Diff against target: 1805 lines (+1274/-5) (has conflicts)
19 files modified
debian/changelog (+65/-5)
debian/control (+13/-0)
debian/control.in (+8/-0)
debian/gbp.conf (+7/-0)
debian/patches/0001-Set-reboot-notifications-as-urgent-to-avoid-them-tim.patch (+27/-0)
debian/patches/0001-lib-Allow-opening-CAB-files-that-resolve-more-than-o.patch (+11/-0)
debian/patches/0001-snap-plugin-segfault.patch (+32/-0)
debian/patches/0003-Sort-snaps-before-other-apps.patch (+14/-0)
debian/patches/0006-packagekit-Disable-updates.patch (+31/-0)
debian/patches/0011-Support-snap-channels.patch (+158/-0)
debian/patches/0014-Add-a-basic-permissions-system.patch (+53/-0)
debian/patches/0020-Show-verified-developers.patch (+217/-0)
debian/patches/0021-snap-Use-wide-scope-when-searching.patch (+70/-0)
debian/patches/0022-Delay-startup-of-GNOME-Software-to-allow-the-Shell-t.patch (+25/-0)
debian/patches/0023-Revert-Revert-flatpak-Use-list-of-related-apps-for-i.patch (+114/-0)
debian/patches/0024-flatpak-Check-if-a-related-app-is-installed-even-whe.patch (+37/-0)
debian/patches/0025-flatpak-Include-related-refs-to-the-app-s-runtime-on.patch (+192/-0)
debian/patches/0026-shell-search-provider-implement-XUbuntuCancel.patch (+176/-0)
debian/patches/series (+24/-0)
Conflict in debian/changelog
Conflict in debian/control
Conflict in debian/control.in
Conflict in debian/gbp.conf
Conflict in debian/patches/0001-lib-Allow-opening-CAB-files-that-resolve-more-than-o.patch
Conflict in debian/patches/0003-Sort-snaps-before-other-apps.patch
Conflict in debian/patches/0006-packagekit-Disable-updates.patch
Conflict in debian/patches/0011-Support-snap-channels.patch
Conflict in debian/patches/0014-Add-a-basic-permissions-system.patch
Conflict in debian/patches/series
Reviewer Review Type Date Requested Status
Ubuntu Desktop Pending
Review via email: mp+358488@code.launchpad.net

This proposal has been superseded by a proposal from 2018-11-08.

To post a comment you must log in.

Unmerged commits

8d4ed87... by Marco Trevisan (Treviño)

Finalise changelog

dd9e986... by Robert Ancell

Implement XUbuntuCancel to request pending search cancellation from gnome-shell

Fixes LP: #1756826

098277f... by Robert Ancell

releasing package gnome-software version 3.28.1-0ubuntu4.18.04.5

7897bab... by Robert Ancell

* debian/patches/0001-lib-Allow-opening-CAB-files-that-resolve-more-than-o.patch:
  - Support composite CAB files (LP: #1798470)

ea77b8b... by Robert Ancell

* debian/patches/0001-Set-reboot-notifications-as-urgent-to-avoid-them-tim.patch:
  - Stop reboot notification from timing out (LP: #1719797)

1c0a67e... by Robert Ancell

* debian/patches/0003-Sort-snaps-before-other-apps.patch:
  - Fix snap search result ordering (LP: #1798228)

49fd993... by Robert Ancell

* debian/patches/0023-Revert-Revert-flatpak-Use-list-of-related-apps-for-i.patch:
* debian/patches/0024-flatpak-Check-if-a-related-app-is-installed-even-whe.patch:
* debian/patches/0025-flatpak-Include-related-refs-to-the-app-s-runtime-on.patch:
  - Pull related flatpak refs (LP: #1754864)

09a666a... by Robert Ancell

3.28.1-0ubuntu4.18.04.4 was released

1c69575... by Robert Ancell

* debian/control:
  - Bump build-dependency on libsnapd-glib-dev

98388e8... by Robert Ancell

* debian/patches/0022-Delay-startup-of-GNOME-Software-to-allow-the-Shell-t.patch:
  - Delay startup of service to allow the shell to load first (LP: #1756379)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/debian/changelog b/debian/changelog
2index 3a663a4..8dcdc3a 100644
3--- a/debian/changelog
4+++ b/debian/changelog
5@@ -1,3 +1,4 @@
6+<<<<<<< debian/changelog
7 gnome-software (3.30.2-0ubuntu8) cosmic; urgency=medium
8
9 * debian/patches/0001-Revert-ef15f51d.patch:
10@@ -147,20 +148,79 @@ gnome-software (3.29.1-0ubuntu1) cosmic; urgency=medium
11 -- Robert Ancell <robert.ancell@canonical.com> Wed, 23 May 2018 11:55:28 +1200
12
13 gnome-software (3.28.1-0ubuntu6) cosmic; urgency=medium
14+=======
15+gnome-software (3.28.1-0ubuntu4.18.04.6) bionic; urgency=medium
16+>>>>>>> debian/changelog
17
18+ * debian/patches/0026-shell-search-provider-implement-XUbuntuCancel.patch
19+ - implement XUbuntuCancel to request pending search cancellation from
20+ gnome-shell (LP: #1756826)
21+
22+ -- Marco Trevisan (Treviño) <marco@ubuntu.com> Thu, 08 Nov 2018 03:32:00 -0600
23+
24+gnome-software (3.28.1-0ubuntu4.18.04.5) bionic; urgency=medium
25+
26+ * debian/patches/0023-Revert-Revert-flatpak-Use-list-of-related-apps-for-i.patch:
27+ * debian/patches/0024-flatpak-Check-if-a-related-app-is-installed-even-whe.patch:
28+ * debian/patches/0025-flatpak-Include-related-refs-to-the-app-s-runtime-on.patch:
29+ - Pull related flatpak refs (LP: #1754864)
30+ * debian/patches/0003-Sort-snaps-before-other-apps.patch:
31+ - Fix snap search result ordering (LP: #1798228)
32+ * debian/patches/0001-Set-reboot-notifications-as-urgent-to-avoid-them-tim.patch:
33+ - Stop reboot notification from timing out (LP: #1719797)
34+ * debian/patches/0001-lib-Allow-opening-CAB-files-that-resolve-more-than-o.patch:
35+ - Support composite CAB files (LP: #1798470)
36+
37+ -- Robert Ancell <robert.ancell@canonical.com> Mon, 29 Oct 2018 16:06:34 +1300
38+
39+gnome-software (3.28.1-0ubuntu4.18.04.4) bionic; urgency=medium
40+
41+ * debian/control:
42+ - Bump build-dependency on libsnapd-glib-dev
43+ * debian/patches/0020-Show-verified-developers.patch:
44+ - Show verified developers (LP: #1789336)
45 * debian/patches/0011-Support-snap-channels.patch:
46- - Make snap channel selection list scrollable (LP: #1768779)
47- - Fix channel branches all showing the same name (LP: #1768794)
48- - Alphabetically sort channel branch names (LP: #1769556)
49+ * debian/patches/0021-snap-Use-wide-scope-when-searching.patch:
50+ - Use wide scope searching (LP: #1789338)
51+ * debian/patches/0022-Delay-startup-of-GNOME-Software-to-allow-the-Shell-t.patch:
52+ - Delay startup of service to allow the shell to load first (LP: #1756379)
53
54+ -- Robert Ancell <robert.ancell@canonical.com> Wed, 19 Sep 2018 16:27:38 +0200
55+
56+gnome-software (3.28.1-0ubuntu4.18.04.3) bionic; urgency=medium
57+
58+<<<<<<< debian/changelog
59 -- Robert Ancell <robert.ancell@canonical.com> Mon, 07 May 2018 16:31:46 +1200
60+=======
61+ * debian/patches/0006-packagekit-Disable-updates.patch:
62+ - also disable offline updates in refresh plugin (LP: #1775226)
63+>>>>>>> debian/changelog
64+
65+ -- Olivier Tilloy <olivier.tilloy@canonical.com> Thu, 02 Aug 2018 12:25:36 +0200
66
67-gnome-software (3.28.1-0ubuntu5) cosmic; urgency=medium
68+gnome-software (3.28.1-0ubuntu4.18.04.2) bionic; urgency=medium
69+
70+ [ Robert Ancell ]
71+ * debian/patches/0014-Add-a-basic-permissions-system.patch:
72+ - Fix crash when have plugs with multiple slots available (LP: #1778160)
73+
74+ [ Andrea Azzarone ]
75+ * debian/patches/0001-snap-plugin-segfault.patch:
76+ - don't segfault on null snap installation date (lp: #1781996)
77+
78+ -- Sebastien Bacher <seb128@ubuntu.com> Thu, 19 Jul 2018 17:10:17 +0200
79+
80+gnome-software (3.28.1-0ubuntu4.18.04.1) bionic; urgency=medium
81
82 * debian/patches/0011-Support-snap-channels.patch:
83 - Fix incorrect default install version being shown (LP: #1767445)
84+ - Make snap channel selection list scrollable (LP: #1768779)
85+ - Fix channel branches all showing the same name (LP: #1768794)
86+ - Alphabetically sort channel branch names (LP: #1769556)
87+ * debian/control:
88+ - Use bionic Vcs link
89
90- -- Robert Ancell <robert.ancell@canonical.com> Thu, 03 May 2018 12:33:30 +1200
91+ -- Robert Ancell <robert.ancell@canonical.com> Mon, 07 May 2018 16:32:37 +1200
92
93 gnome-software (3.28.1-0ubuntu4) bionic; urgency=medium
94
95diff --git a/debian/control b/debian/control
96index 02b40b2..56cce3f 100644
97--- a/debian/control
98+++ b/debian/control
99@@ -29,7 +29,11 @@ Build-Depends: appstream,
100 libpackagekit-glib2-dev (>= 1.1.4),
101 libpolkit-gobject-1-dev,
102 libsecret-1-dev,
103+<<<<<<< debian/control
104 libsnapd-glib-dev (>= 1.43) [amd64 arm64 armel armhf i386 ppc64 ppc64el s390x],
105+=======
106+ libsnapd-glib-dev (>= 1.42) [amd64 arm64 armel armhf i386 ppc64 ppc64el s390x],
107+>>>>>>> debian/control
108 libsoup2.4-dev (>= 2.52),
109 libsqlite3-dev,
110 libxml2-utils,
111@@ -42,7 +46,11 @@ Homepage: https://wiki.gnome.org/Apps/Software
112 XS-Debian-Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-software
113 XS-Debian-Vcs-Git: https://salsa.debian.org/gnome-team/gnome-software.git
114 Vcs-Browser: https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/gnome-software
115+<<<<<<< debian/control
116 Vcs-Git: https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/gnome-software
117+=======
118+Vcs-Git: https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/gnome-software -b ubuntu/bionic
119+>>>>>>> debian/control
120
121 Package: gnome-software
122 Architecture: any
123@@ -60,7 +68,12 @@ Conflicts: sessioninstaller
124 Recommends: gnome-software-plugin-snap [linux-any],
125 Suggests: apt-config-icons-hidpi,
126 fwupd [amd64 arm64 armhf i386],
127+<<<<<<< debian/control
128 gnome-software-plugin-flatpak [linux-any]
129+=======
130+ gnome-software-plugin-flatpak [linux-any],
131+ gnome-software-plugin-limba [linux-any]
132+>>>>>>> debian/control
133 Description: Software Center for GNOME
134 Software lets you install and update applications and system extensions.
135 .
136diff --git a/debian/control.in b/debian/control.in
137index e0e8726..6b1c6df 100644
138--- a/debian/control.in
139+++ b/debian/control.in
140@@ -25,7 +25,11 @@ Build-Depends: appstream,
141 libpackagekit-glib2-dev (>= 1.1.4),
142 libpolkit-gobject-1-dev,
143 libsecret-1-dev,
144+<<<<<<< debian/control.in
145 libsnapd-glib-dev (>= 1.43) [amd64 arm64 armel armhf i386 ppc64 ppc64el s390x],
146+=======
147+ libsnapd-glib-dev (>= 1.42) [amd64 arm64 armel armhf i386 ppc64 ppc64el s390x],
148+>>>>>>> debian/control.in
149 libsoup2.4-dev (>= 2.52),
150 libsqlite3-dev,
151 libxml2-utils,
152@@ -38,7 +42,11 @@ Homepage: https://wiki.gnome.org/Apps/Software
153 XS-Debian-Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-software
154 XS-Debian-Vcs-Git: https://salsa.debian.org/gnome-team/gnome-software.git
155 Vcs-Browser: https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/gnome-software
156+<<<<<<< debian/control.in
157 Vcs-Git: https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/gnome-software
158+=======
159+Vcs-Git: https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/gnome-software -b ubuntu/bionic
160+>>>>>>> debian/control.in
161
162 Package: gnome-software
163 Architecture: any
164diff --git a/debian/gbp.conf b/debian/gbp.conf
165index 34a17e9..16658ad 100644
166--- a/debian/gbp.conf
167+++ b/debian/gbp.conf
168@@ -1,5 +1,6 @@
169 [DEFAULT]
170 debian-branch=ubuntu/master
171+<<<<<<< debian/gbp.conf
172 upstream-branch=upstream/latest
173 debian-tag=ubuntu/%(version)s
174 upstream-vcs-tag=%(version)s
175@@ -17,3 +18,9 @@ postimport = dch -v%(version)s New upstream release; git add debian/changelog; d
176 [pq]
177 patch-numbers = False
178
179+=======
180+upstream-branch=upstream/3.28.x
181+debian-tag=ubuntu/%(version)s
182+upstream-vcs-tag=%(version)s
183+pristine-tar=True
184+>>>>>>> debian/gbp.conf
185diff --git a/debian/patches/0001-Set-reboot-notifications-as-urgent-to-avoid-them-tim.patch b/debian/patches/0001-Set-reboot-notifications-as-urgent-to-avoid-them-tim.patch
186new file mode 100644
187index 0000000..3d37c58
188--- /dev/null
189+++ b/debian/patches/0001-Set-reboot-notifications-as-urgent-to-avoid-them-tim.patch
190@@ -0,0 +1,27 @@
191+From 057eea7cc03d647544b5819ff37951f7bfffb77e Mon Sep 17 00:00:00 2001
192+From: Mario Limonciello <mario.limonciello@dell.com>
193+Date: Thu, 13 Sep 2018 12:28:58 -0500
194+Subject: [PATCH] Set reboot notifications as urgent to avoid them timing out
195+ (Fixes: #341)
196+
197+It was confirmed in https://bugzilla.gnome.org/show_bug.cgi?id=783719
198+that this field will influence the timeout
199+---
200+ src/gs-updates-page.c | 1 +
201+ 1 file changed, 1 insertion(+)
202+
203+diff --git a/src/gs-updates-page.c b/src/gs-updates-page.c
204+index fa77dbd9..cd9db05d 100644
205+--- a/src/gs-updates-page.c
206++++ b/src/gs-updates-page.c
207+@@ -751,6 +751,7 @@ _perform_update_cb (GsPluginLoader *plugin_loader, GAsyncResult *res, gpointer u
208+ /* TRANSLATORS: button text */
209+ g_notification_add_button_with_target (n, _("Restart"), "app.reboot", NULL);
210+ g_notification_set_default_action_and_target (n, "app.set-mode", "s", "updates");
211++ g_notification_set_priority (n, G_NOTIFICATION_PRIORITY_URGENT);
212+ g_application_send_notification (g_application_get_default (), "restart-required", n);
213+ }
214+ }
215+--
216+2.19.1
217+
218diff --git a/debian/patches/0001-lib-Allow-opening-CAB-files-that-resolve-more-than-o.patch b/debian/patches/0001-lib-Allow-opening-CAB-files-that-resolve-more-than-o.patch
219index 931e0db..f6bb205 100644
220--- a/debian/patches/0001-lib-Allow-opening-CAB-files-that-resolve-more-than-o.patch
221+++ b/debian/patches/0001-lib-Allow-opening-CAB-files-that-resolve-more-than-o.patch
222@@ -1,4 +1,8 @@
223+<<<<<<< debian/patches/0001-lib-Allow-opening-CAB-files-that-resolve-more-than-o.patch
224 From 8e8887f890489959daa3400f531e7febf9e9f8b6 Mon Sep 17 00:00:00 2001
225+=======
226+From 3c5e8905fb72437f7ce62fcc7fcd2fa0988e31d0 Mon Sep 17 00:00:00 2001
227+>>>>>>> debian/patches/0001-lib-Allow-opening-CAB-files-that-resolve-more-than-o.patch
228 From: Mario Limonciello <mario.limonciello@dell.com>
229 Date: Tue, 16 Oct 2018 11:21:47 -0500
230 Subject: [PATCH] lib: Allow opening CAB files that resolve more than one GsApp
231@@ -16,10 +20,17 @@ This was verified using a Dell USB-C dock and fwupd 1.1.3.
232 1 file changed, 1 insertion(+), 6 deletions(-)
233
234 diff --git a/lib/gs-plugin-loader.c b/lib/gs-plugin-loader.c
235+<<<<<<< debian/patches/0001-lib-Allow-opening-CAB-files-that-resolve-more-than-o.patch
236 index 55afa8bb..630d0c6c 100644
237 --- a/lib/gs-plugin-loader.c
238 +++ b/lib/gs-plugin-loader.c
239 @@ -3385,12 +3385,7 @@ gs_plugin_loader_process_thread_cb (GTask *task,
240+=======
241+index 2fb02e3c..f52d1d27 100644
242+--- a/lib/gs-plugin-loader.c
243++++ b/lib/gs-plugin-loader.c
244+@@ -3449,12 +3449,7 @@ gs_plugin_loader_process_thread_cb (GTask *task,
245+>>>>>>> debian/patches/0001-lib-Allow-opening-CAB-files-that-resolve-more-than-o.patch
246 }
247 if (gs_app_list_length (list) > 1) {
248 g_autofree gchar *str = gs_plugin_job_to_string (helper->plugin_job);
249diff --git a/debian/patches/0001-snap-plugin-segfault.patch b/debian/patches/0001-snap-plugin-segfault.patch
250new file mode 100644
251index 0000000..6d1bbfd
252--- /dev/null
253+++ b/debian/patches/0001-snap-plugin-segfault.patch
254@@ -0,0 +1,32 @@
255+From e766ac5bd36295a851bf08296734f7df45208dd9 Mon Sep 17 00:00:00 2001
256+From: Andrea Azzarone <azzaronea@gmail.com>
257+Date: Mon, 16 Jul 2018 21:44:45 +0200
258+Subject: [PATCH] snap: Don't pass NULL to g_date_time_to_unix
259+
260+As per API documentation, snapd_snap_get_install_date can return NULL. Passing
261+NULL to g_date_time_to_unix results in a crash. When this happens we should pass
262+GS_APP_INSTALL_DATE_UNKNOWN to gs_app_set_install_date.
263+
264+Fixes: https://bugs.launchpad.net/bugs/1781996
265+---
266+ plugins/snap/gs-plugin-snap.c | 4 +++-
267+ 1 file changed, 3 insertions(+), 1 deletion(-)
268+
269+diff --git a/plugins/snap/gs-plugin-snap.c b/plugins/snap/gs-plugin-snap.c
270+index 14571efe..6323f6ca 100644
271+--- a/plugins/snap/gs-plugin-snap.c
272++++ b/plugins/snap/gs-plugin-snap.c
273+@@ -823,9 +823,11 @@ gs_plugin_refine_app (GsPlugin *plugin,
274+ /* add information specific to installed snaps */
275+ if (local_snap != NULL) {
276+ SnapdApp *snap_app;
277++ GDateTime *install_date;
278+
279++ install_date = snapd_snap_get_install_date (local_snap);
280+ gs_app_set_size_installed (app, snapd_snap_get_installed_size (local_snap));
281+- gs_app_set_install_date (app, g_date_time_to_unix (snapd_snap_get_install_date (local_snap)));
282++ gs_app_set_install_date (app, install_date != NULL ? g_date_time_to_unix (install_date) : GS_APP_INSTALL_DATE_UNKNOWN);
283+
284+ snap_app = get_primary_app (local_snap);
285+ if (snap_app != NULL) {
286+
287diff --git a/debian/patches/0003-Sort-snaps-before-other-apps.patch b/debian/patches/0003-Sort-snaps-before-other-apps.patch
288index 85e799e..31693e9 100644
289--- a/debian/patches/0003-Sort-snaps-before-other-apps.patch
290+++ b/debian/patches/0003-Sort-snaps-before-other-apps.patch
291@@ -1,7 +1,14 @@
292+<<<<<<< debian/patches/0003-Sort-snaps-before-other-apps.patch
293 From 93554bae8d7de73ad56532abc0b4d28a8bc8290b Mon Sep 17 00:00:00 2001
294 From: Robert Ancell <robert.ancell@canonical.com>
295 Date: Wed, 30 Mar 2016 15:55:47 +1300
296 Subject: [PATCH 03/26] Sort snaps before other apps
297+=======
298+From d11180688c730f3f27edbb6f374858b33144ee42 Mon Sep 17 00:00:00 2001
299+From: Robert Ancell <robert.ancell@canonical.com>
300+Date: Wed, 30 Mar 2016 15:55:47 +1300
301+Subject: [PATCH 03/28] Sort snaps before other apps
302+>>>>>>> debian/patches/0003-Sort-snaps-before-other-apps.patch
303
304 ---
305 plugins/snap/gs-plugin-snap.c | 1 +
306@@ -9,10 +16,17 @@ Subject: [PATCH 03/26] Sort snaps before other apps
307 2 files changed, 7 insertions(+)
308
309 diff --git a/plugins/snap/gs-plugin-snap.c b/plugins/snap/gs-plugin-snap.c
310+<<<<<<< debian/patches/0003-Sort-snaps-before-other-apps.patch
311 index d34948fe..f9c6a347 100644
312 --- a/plugins/snap/gs-plugin-snap.c
313 +++ b/plugins/snap/gs-plugin-snap.c
314 @@ -585,6 +585,7 @@ gs_plugin_add_search (GsPlugin *plugin,
315+=======
316+index 510a02a7..45f65bda 100644
317+--- a/plugins/snap/gs-plugin-snap.c
318++++ b/plugins/snap/gs-plugin-snap.c
319+@@ -590,6 +590,7 @@ gs_plugin_add_search (GsPlugin *plugin,
320+>>>>>>> debian/patches/0003-Sort-snaps-before-other-apps.patch
321
322 for (i = 0; i < snaps->len; i++) {
323 g_autoptr(GsApp) app = snap_to_app (plugin, g_ptr_array_index (snaps, i));
324diff --git a/debian/patches/0006-packagekit-Disable-updates.patch b/debian/patches/0006-packagekit-Disable-updates.patch
325index 7c3ea9f..5bd0a63 100644
326--- a/debian/patches/0006-packagekit-Disable-updates.patch
327+++ b/debian/patches/0006-packagekit-Disable-updates.patch
328@@ -1,15 +1,26 @@
329+<<<<<<< debian/patches/0006-packagekit-Disable-updates.patch
330 From 5117239ec132fc976ae9cc74e8f40a310221e602 Mon Sep 17 00:00:00 2001
331 From: Olivier Tilloy <olivier.tilloy@canonical.com>
332 Date: Tue, 7 Aug 2018 19:03:23 +0200
333 Subject: [PATCH 06/26] packagekit: Disable updates
334
335 In Ubuntu we use Update Manager for this currently. The long term plan is to use Software, but we're not there yet.
336+=======
337+Description: [PATCH 06/20] packagekit: Disable updates
338+ In Ubuntu we use Update Manager for this currently. The long term plan
339+ is to use Software, but we're not there yet.
340+Author: Iain Lane <iain@orangesquash.org.uk>
341+Author: Olivier Tilloy <olivier.tilloy@canonical.com>
342+Date: Thu, 20 Jul 2017 10:12:58 +0100
343+Last-Update: 2018-08-01
344+>>>>>>> debian/patches/0006-packagekit-Disable-updates.patch
345 ---
346 plugins/packagekit/gs-plugin-packagekit-refresh.c | 3 +++
347 plugins/packagekit/gs-plugin-packagekit.c | 3 +++
348 plugins/packagekit/gs-plugin-systemd-updates.c | 3 +++
349 3 files changed, 9 insertions(+)
350
351+<<<<<<< debian/patches/0006-packagekit-Disable-updates.patch
352 diff --git a/plugins/packagekit/gs-plugin-packagekit-refresh.c b/plugins/packagekit/gs-plugin-packagekit-refresh.c
353 index 2b8ce27c..a6002d5d 100644
354 --- a/plugins/packagekit/gs-plugin-packagekit-refresh.c
355@@ -40,6 +51,8 @@ index 8d7eb551..db3cc49d 100644
356 results = pk_client_get_updates (PK_CLIENT (priv->task),
357 diff --git a/plugins/packagekit/gs-plugin-systemd-updates.c b/plugins/packagekit/gs-plugin-systemd-updates.c
358 index 449a9726..320af255 100644
359+=======
360+>>>>>>> debian/patches/0006-packagekit-Disable-updates.patch
361 --- a/plugins/packagekit/gs-plugin-systemd-updates.c
362 +++ b/plugins/packagekit/gs-plugin-systemd-updates.c
363 @@ -253,6 +253,9 @@ gs_plugin_update (GsPlugin *plugin,
364@@ -49,9 +62,27 @@ index 449a9726..320af255 100644
365 + /* In Ubuntu we're using Update Manager for this, for now. */
366 + return TRUE;
367 +
368+<<<<<<< debian/patches/0006-packagekit-Disable-updates.patch
369 /* any are us? */
370 for (guint i = 0; i < gs_app_list_length (list); i++) {
371 GsApp *app = gs_app_list_index (list, i);
372 --
373 2.17.1
374
375+=======
376+ /* get the id's if the file exists */
377+ package_ids = pk_offline_get_prepared_ids (&error_local);
378+ if (package_ids == NULL) {
379+--- a/plugins/packagekit/gs-plugin-packagekit-refresh.c
380++++ b/plugins/packagekit/gs-plugin-packagekit-refresh.c
381+@@ -97,6 +97,9 @@ gs_plugin_refresh (GsPlugin *plugin,
382+ }
383+ }
384+
385++ /* In Ubuntu we're using Update Manager for this, for now (LP: #1775226) */
386++ return TRUE;
387++
388+ /* download all the packages themselves */
389+ if (flags & GS_PLUGIN_REFRESH_FLAGS_PAYLOAD) {
390+ g_auto(GStrv) package_ids = NULL;
391+>>>>>>> debian/patches/0006-packagekit-Disable-updates.patch
392diff --git a/debian/patches/0011-Support-snap-channels.patch b/debian/patches/0011-Support-snap-channels.patch
393index c02b5ec..949ab97 100644
394--- a/debian/patches/0011-Support-snap-channels.patch
395+++ b/debian/patches/0011-Support-snap-channels.patch
396@@ -1,12 +1,22 @@
397+<<<<<<< debian/patches/0011-Support-snap-channels.patch
398 From ab6caf6eab44077952e18a88021bcba0b4867991 Mon Sep 17 00:00:00 2001
399+=======
400+From c2a9016780d84fcf7978c25c84a244bf169b4a99 Mon Sep 17 00:00:00 2001
401+>>>>>>> debian/patches/0011-Support-snap-channels.patch
402 From: Robert Ancell <robert.ancell@canonical.com>
403 Date: Thu, 23 Nov 2017 10:54:20 +1300
404 Subject: [PATCH 11/24] Support snap channels
405
406 ---
407+<<<<<<< debian/patches/0011-Support-snap-channels.patch
408 lib/gs-app.c | 91 ++++++++++++
409 lib/gs-app.h | 7 +
410 lib/gs-channel.c | 116 +++++++++++++++
411+=======
412+ lib/gs-app.c | 108 +++++++++++++
413+ lib/gs-app.h | 9 ++
414+ lib/gs-channel.c | 116 ++++++++++++++
415+>>>>>>> debian/patches/0011-Support-snap-channels.patch
416 lib/gs-channel.h | 44 ++++++
417 lib/gs-plugin-job-private.h | 1 +
418 lib/gs-plugin-job.c | 31 ++++
419@@ -20,16 +30,28 @@ Subject: [PATCH 11/24] Support snap channels
420 lib/gs-utils.h | 2 +
421 lib/meson.build | 2 +
422 plugins/dummy/gs-plugin-dummy.c | 11 ++
423+<<<<<<< debian/patches/0011-Support-snap-channels.patch
424 plugins/snap/gs-plugin-snap.c | 254 +++++++++++++++++++++++++++++---
425 src/gs-details-page.c | 199 ++++++++++++++++++++++++-
426 src/gs-details-page.ui | 104 ++++++++++---
427 src/gtk-style.css | 31 ++++
428 20 files changed, 944 insertions(+), 43 deletions(-)
429+=======
430+ plugins/snap/gs-plugin-snap.c | 264 +++++++++++++++++++++++++++++---
431+ src/gs-details-page.c | 200 +++++++++++++++++++++++-
432+ src/gs-details-page.ui | 104 ++++++++++---
433+ src/gtk-style.css | 31 ++++
434+ 21 files changed, 968 insertions(+), 51 deletions(-)
435+>>>>>>> debian/patches/0011-Support-snap-channels.patch
436 create mode 100644 lib/gs-channel.c
437 create mode 100644 lib/gs-channel.h
438
439 diff --git a/lib/gs-app.c b/lib/gs-app.c
440+<<<<<<< debian/patches/0011-Support-snap-channels.patch
441 index 805c6894..41fe8039 100644
442+=======
443+index 3dde87c8..3967578e 100644
444+>>>>>>> debian/patches/0011-Support-snap-channels.patch
445 --- a/lib/gs-app.c
446 +++ b/lib/gs-app.c
447 @@ -126,6 +126,8 @@ typedef struct
448@@ -60,7 +82,35 @@ index 805c6894..41fe8039 100644
449 keys = g_hash_table_get_keys (priv->metadata);
450 for (GList *l = keys; l != NULL; l = l->next) {
451 GVariant *val;
452+<<<<<<< debian/patches/0011-Support-snap-channels.patch
453 @@ -3985,6 +3999,80 @@ gs_app_get_priority (GsApp *app)
454+=======
455+@@ -3765,6 +3779,23 @@ gs_app_add_kudo (GsApp *app, GsAppKudo kudo)
456+ priv->kudos |= kudo;
457+ }
458+
459++/**
460++ * gs_app_remove_kudo:
461++ * @app: a #GsApp
462++ * @kudo: a #GsAppKudo, e.g. %GS_APP_KUDO_MY_LANGUAGE
463++ *
464++ * Removes a kudo from an application.
465++ *
466++ * Since: 3.28
467++ **/
468++void
469++gs_app_remove_kudo (GsApp *app, GsAppKudo kudo)
470++{
471++ GsAppPrivate *priv = gs_app_get_instance_private (app);
472++ g_return_if_fail (GS_IS_APP (app));
473++ priv->kudos &= ~kudo;
474++}
475++
476+ /**
477+ * gs_app_has_kudo:
478+ * @app: a #GsApp
479+@@ -4040,6 +4071,80 @@ gs_app_get_priority (GsApp *app)
480+>>>>>>> debian/patches/0011-Support-snap-channels.patch
481 return priv->priority;
482 }
483
484@@ -141,7 +191,11 @@ index 805c6894..41fe8039 100644
485 /**
486 * gs_app_get_cancellable:
487 * @app: a #GsApp
488+<<<<<<< debian/patches/0011-Support-snap-channels.patch
489 @@ -4166,6 +4254,8 @@ gs_app_dispose (GObject *object)
490+=======
491+@@ -4222,6 +4327,8 @@ gs_app_dispose (GObject *object)
492+>>>>>>> debian/patches/0011-Support-snap-channels.patch
493 g_clear_pointer (&priv->reviews, g_ptr_array_unref);
494 g_clear_pointer (&priv->provides, g_ptr_array_unref);
495 g_clear_pointer (&priv->icons, g_ptr_array_unref);
496@@ -150,7 +204,11 @@ index 805c6894..41fe8039 100644
497
498 G_OBJECT_CLASS (gs_app_parent_class)->dispose (object);
499 }
500+<<<<<<< debian/patches/0011-Support-snap-channels.patch
501 @@ -4353,6 +4443,7 @@ gs_app_init (GsApp *app)
502+=======
503+@@ -4411,6 +4518,7 @@ gs_app_init (GsApp *app)
504+>>>>>>> debian/patches/0011-Support-snap-channels.patch
505 priv->reviews = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
506 priv->provides = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
507 priv->icons = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
508@@ -472,7 +530,11 @@ index fdca6868..cfd9af78 100644
509 #define gs_plugin_job_newv(a,...) GS_PLUGIN_JOB(g_object_new(GS_TYPE_PLUGIN_JOB, "action", a, __VA_ARGS__))
510
511 diff --git a/lib/gs-plugin-loader.c b/lib/gs-plugin-loader.c
512+<<<<<<< debian/patches/0011-Support-snap-channels.patch
513 index ca327cdb..f3a83016 100644
514+=======
515+index 2fb02e3c..989f3264 100644
516+>>>>>>> debian/patches/0011-Support-snap-channels.patch
517 --- a/lib/gs-plugin-loader.c
518 +++ b/lib/gs-plugin-loader.c
519 @@ -135,6 +135,11 @@ typedef gboolean (*GsPluginPurchaseFunc) (GsPlugin *plugin,
520@@ -487,7 +549,11 @@ index ca327cdb..f3a83016 100644
521 typedef gboolean (*GsPluginReviewFunc) (GsPlugin *plugin,
522 GsApp *app,
523 AsReview *review,
524+<<<<<<< debian/patches/0011-Support-snap-channels.patch
525 @@ -618,6 +623,14 @@ gs_plugin_loader_call_vfunc (GsPluginLoaderHelper *helper,
526+=======
527+@@ -667,6 +672,14 @@ gs_plugin_loader_call_vfunc (GsPluginLoaderHelper *helper,
528+>>>>>>> debian/patches/0011-Support-snap-channels.patch
529 cancellable, &error_local);
530 }
531 break;
532@@ -633,10 +699,17 @@ index 868d5a50..4a749182 100644
533
534 static void
535 diff --git a/lib/gs-utils.c b/lib/gs-utils.c
536+<<<<<<< debian/patches/0011-Support-snap-channels.patch
537 index 23d24995..0db55d84 100644
538 --- a/lib/gs-utils.c
539 +++ b/lib/gs-utils.c
540 @@ -982,6 +982,41 @@ gs_utils_get_url_path (const gchar *url)
541+=======
542+index f59b8c9c..d648e240 100644
543+--- a/lib/gs-utils.c
544++++ b/lib/gs-utils.c
545+@@ -983,6 +983,41 @@ gs_utils_get_url_path (const gchar *url)
546+>>>>>>> debian/patches/0011-Support-snap-channels.patch
547 return g_strdup (path);
548 }
549
550@@ -709,8 +782,26 @@ index 7b11e72c..ae5ad87b 100644
551 'gs-category.c',
552 + 'gs-channel.c',
553 'gs-debug.c',
554+<<<<<<< debian/patches/0011-Support-snap-channels.patch
555 'gs-ioprio.c',
556 'gs-ioprio.h',
557+=======
558+ 'gs-os-release.c',
559+ 'gs-plugin.c',
560+diff --git a/meson.build b/meson.build
561+index 9ded0971..3b2f726e 100644
562+--- a/meson.build
563++++ b/meson.build
564+@@ -166,7 +166,7 @@ if get_option('enable-gudev')
565+ endif
566+
567+ if get_option('enable-snap')
568+- snap = dependency('snapd-glib', version : '>= 1.19')
569++ snap = dependency('snapd-glib', version : '>= 1.31')
570+ endif
571+
572+ gnome = import('gnome')
573+>>>>>>> debian/patches/0011-Support-snap-channels.patch
574 diff --git a/plugins/dummy/gs-plugin-dummy.c b/plugins/dummy/gs-plugin-dummy.c
575 index 6f739ff7..02301bec 100644
576 --- a/plugins/dummy/gs-plugin-dummy.c
577@@ -734,7 +825,11 @@ index 6f739ff7..02301bec 100644
578 gs_plugin_app_upgrade_download (GsPlugin *plugin, GsApp *app,
579 GCancellable *cancellable, GError **error)
580 diff --git a/plugins/snap/gs-plugin-snap.c b/plugins/snap/gs-plugin-snap.c
581+<<<<<<< debian/patches/0011-Support-snap-channels.patch
582 index 693f9c8a..064443d1 100644
583+=======
584+index d7957712..b5add5c1 100644
585+>>>>>>> debian/patches/0011-Support-snap-channels.patch
586 --- a/plugins/snap/gs-plugin-snap.c
587 +++ b/plugins/snap/gs-plugin-snap.c
588 @@ -36,6 +36,27 @@ struct GsPluginData {
589@@ -875,7 +970,11 @@ index 693f9c8a..064443d1 100644
590 if (store_snap != NULL)
591 return load_store_icon (app, store_snap);
592
593+<<<<<<< debian/patches/0011-Support-snap-channels.patch
594 @@ -782,6 +812,102 @@ gs_plugin_snap_get_description_safe (SnapdSnap *snap)
595+=======
596+@@ -787,6 +819,102 @@ gs_plugin_snap_get_description_safe (SnapdSnap *snap)
597+>>>>>>> debian/patches/0011-Support-snap-channels.patch
598 return g_string_free (str, FALSE);
599 }
600
601@@ -978,7 +1077,11 @@ index 693f9c8a..064443d1 100644
602 gboolean
603 gs_plugin_refine_app (GsPlugin *plugin,
604 GsApp *app,
605+<<<<<<< debian/patches/0011-Support-snap-channels.patch
606 @@ -791,7 +917,7 @@ gs_plugin_refine_app (GsPlugin *plugin,
607+=======
608+@@ -796,7 +924,7 @@ gs_plugin_refine_app (GsPlugin *plugin,
609+>>>>>>> debian/patches/0011-Support-snap-channels.patch
610 {
611 GsPluginData *priv = gs_plugin_get_data (plugin);
612 g_autoptr(SnapdClient) client = NULL;
613@@ -987,7 +1090,11 @@ index 693f9c8a..064443d1 100644
614 g_autoptr(SnapdSnap) local_snap = NULL;
615 g_autoptr(SnapdSnap) store_snap = NULL;
616 SnapdSnap *snap;
617+<<<<<<< debian/patches/0011-Support-snap-channels.patch
618 @@ -808,13 +934,52 @@ gs_plugin_refine_app (GsPlugin *plugin,
619+=======
620+@@ -818,13 +946,52 @@ gs_plugin_refine_app (GsPlugin *plugin,
621+>>>>>>> debian/patches/0011-Support-snap-channels.patch
622
623 /* get information from local snaps and store */
624 local_snap = snapd_client_get_snap_sync (client, gs_app_get_metadata_item (app, "snap::name"), cancellable, NULL);
625@@ -1043,7 +1150,11 @@ index 693f9c8a..064443d1 100644
626 else
627 gs_app_set_state (app, AS_APP_STATE_AVAILABLE);
628
629+<<<<<<< debian/patches/0011-Support-snap-channels.patch
630 @@ -926,6 +1091,7 @@ gs_plugin_app_install (GsPlugin *plugin,
631+=======
632+@@ -929,6 +1096,7 @@ gs_plugin_app_install (GsPlugin *plugin,
633+>>>>>>> debian/patches/0011-Support-snap-channels.patch
634 {
635 g_autoptr(SnapdClient) client = NULL;
636 SnapdInstallFlags flags = SNAPD_INSTALL_FLAGS_NONE;
637@@ -1051,7 +1162,11 @@ index 693f9c8a..064443d1 100644
638
639 /* We can only install apps we know of */
640 if (g_strcmp0 (gs_app_get_management_plugin (app), "snap") != 0)
641+<<<<<<< debian/patches/0011-Support-snap-channels.patch
642 @@ -935,10 +1101,39 @@ gs_plugin_app_install (GsPlugin *plugin,
643+=======
644+@@ -938,10 +1106,39 @@ gs_plugin_app_install (GsPlugin *plugin,
645+>>>>>>> debian/patches/0011-Support-snap-channels.patch
646 if (client == NULL)
647 return FALSE;
648
649@@ -1092,7 +1207,11 @@ index 693f9c8a..064443d1 100644
650 gs_app_set_state_recover (app);
651 snapd_error_convert (error);
652 return FALSE;
653+<<<<<<< debian/patches/0011-Support-snap-channels.patch
654 @@ -1027,6 +1222,31 @@ gs_plugin_launch (GsPlugin *plugin,
655+=======
656+@@ -1030,6 +1227,31 @@ gs_plugin_launch (GsPlugin *plugin,
657+>>>>>>> debian/patches/0011-Support-snap-channels.patch
658 return g_app_info_launch (info, NULL, NULL, error);
659 }
660
661@@ -1124,8 +1243,35 @@ index 693f9c8a..064443d1 100644
662 gboolean
663 gs_plugin_app_remove (GsPlugin *plugin,
664 GsApp *app,
665+<<<<<<< debian/patches/0011-Support-snap-channels.patch
666 diff --git a/src/gs-details-page.c b/src/gs-details-page.c
667 index 3eafb32b..3d57a8af 100644
668+=======
669+@@ -1072,21 +1294,15 @@ gs_plugin_auth_login (GsPlugin *plugin, GsAuth *auth,
670+ g_clear_object (&priv->auth_data);
671+ if (priv->snapd_supports_polkit) {
672+ g_autoptr(SnapdClient) client = NULL;
673+-#ifdef SNAPD_GLIB_VERSION_1_26
674+ g_autoptr(SnapdUserInformation) user_information = NULL;
675+-#endif
676+
677+ client = get_client (plugin, error);
678+ if (client == NULL)
679+ return FALSE;
680+
681+-#ifdef SNAPD_GLIB_VERSION_1_26
682+ user_information = snapd_client_login2_sync (client, gs_auth_get_username (auth), gs_auth_get_password (auth), gs_auth_get_pin (auth), NULL, error);
683+ if (user_information != NULL)
684+ priv->auth_data = g_object_ref (snapd_user_information_get_auth_data (user_information));
685+-#else
686+- priv->auth_data = snapd_client_login_sync (client, gs_auth_get_username (auth), gs_auth_get_password (auth), gs_auth_get_pin (auth), NULL, error);
687+-#endif
688+ }
689+ else
690+ priv->auth_data = snapd_login_sync (gs_auth_get_username (auth), gs_auth_get_password (auth), gs_auth_get_pin (auth), NULL, error);
691+diff --git a/src/gs-details-page.c b/src/gs-details-page.c
692+index 5380541c..d2132d3b 100644
693+>>>>>>> debian/patches/0011-Support-snap-channels.patch
694 --- a/src/gs-details-page.c
695 +++ b/src/gs-details-page.c
696 @@ -113,6 +113,8 @@ struct _GsDetailsPage
697@@ -1218,7 +1364,11 @@ index 3eafb32b..3d57a8af 100644
698 NULL);
699 gs_plugin_loader_job_process_async (self->plugin_loader, plugin_job,
700 self->cancellable,
701+<<<<<<< debian/patches/0011-Support-snap-channels.patch
702 @@ -1932,6 +1949,165 @@ gs_details_page_app_cancel_button_cb (GtkWidget *widget, GsDetailsPage *self)
703+=======
704+@@ -1930,6 +1947,166 @@ gs_details_page_app_cancel_button_cb (GtkWidget *widget, GsDetailsPage *self)
705+>>>>>>> debian/patches/0011-Support-snap-channels.patch
706 gs_details_page_remove_app (self);
707 }
708
709@@ -1384,7 +1534,11 @@ index 3eafb32b..3d57a8af 100644
710 static void
711 gs_details_page_app_install_button_cb (GtkWidget *widget, GsDetailsPage *self)
712 {
713+<<<<<<< debian/patches/0011-Support-snap-channels.patch
714 @@ -2405,6 +2581,9 @@ gs_details_page_setup (GsPage *page,
715+=======
716+@@ -2398,6 +2575,9 @@ gs_details_page_setup (GsPage *page,
717+>>>>>>> debian/patches/0011-Support-snap-channels.patch
718 g_signal_connect (self->button_donate, "clicked",
719 G_CALLBACK (gs_details_page_donate_cb),
720 self);
721@@ -1394,7 +1548,11 @@ index 3eafb32b..3d57a8af 100644
722 g_signal_connect (self->button_details_license_free, "clicked",
723 G_CALLBACK (gs_details_page_license_free_cb),
724 self);
725+<<<<<<< debian/patches/0011-Support-snap-channels.patch
726 @@ -2505,6 +2684,10 @@ gs_details_page_class_init (GsDetailsPageClass *klass)
727+=======
728+@@ -2495,6 +2675,10 @@ gs_details_page_class_init (GsDetailsPageClass *klass)
729+>>>>>>> debian/patches/0011-Support-snap-channels.patch
730 gtk_widget_class_bind_template_child (widget_class, GsDetailsPage, label_details_size_installed_value);
731 gtk_widget_class_bind_template_child (widget_class, GsDetailsPage, label_details_updated_title);
732 gtk_widget_class_bind_template_child (widget_class, GsDetailsPage, label_details_updated_value);
733diff --git a/debian/patches/0014-Add-a-basic-permissions-system.patch b/debian/patches/0014-Add-a-basic-permissions-system.patch
734index 37803b3..77bcad1 100644
735--- a/debian/patches/0014-Add-a-basic-permissions-system.patch
736+++ b/debian/patches/0014-Add-a-basic-permissions-system.patch
737@@ -1,7 +1,14 @@
738+<<<<<<< debian/patches/0014-Add-a-basic-permissions-system.patch
739 From f5fe307b183ae0517fb52157698bf0dbdb3364c3 Mon Sep 17 00:00:00 2001
740 From: Robert Ancell <robert.ancell@canonical.com>
741 Date: Fri, 26 May 2017 16:30:56 +1200
742 Subject: [PATCH 14/24] Add a basic permissions system
743+=======
744+From ca6ed906e2d9ee5f0116e708e369e32124a79cb0 Mon Sep 17 00:00:00 2001
745+From: Robert Ancell <robert.ancell@canonical.com>
746+Date: Fri, 26 May 2017 16:30:56 +1200
747+Subject: [PATCH 14/22] Add a basic permissions system
748+>>>>>>> debian/patches/0014-Add-a-basic-permissions-system.patch
749
750 ---
751 lib/gs-app.c | 55 ++++++++
752@@ -47,10 +54,17 @@ Subject: [PATCH 14/24] Add a basic permissions system
753 create mode 100644 src/gs-permission-switch.h
754
755 diff --git a/lib/gs-app.c b/lib/gs-app.c
756+<<<<<<< debian/patches/0014-Add-a-basic-permissions-system.patch
757 index 41fe8039..28ceb474 100644
758 --- a/lib/gs-app.c
759 +++ b/lib/gs-app.c
760 @@ -92,6 +92,7 @@ typedef struct
761+=======
762+index 04617630..f342844b 100644
763+--- a/lib/gs-app.c
764++++ b/lib/gs-app.c
765+@@ -91,6 +91,7 @@ typedef struct
766+>>>>>>> debian/patches/0014-Add-a-basic-permissions-system.patch
767 gchar *origin;
768 gchar *origin_appstream;
769 gchar *origin_hostname;
770@@ -58,7 +72,11 @@ index 41fe8039..28ceb474 100644
771 gchar *update_version;
772 gchar *update_version_ui;
773 gchar *update_details;
774+<<<<<<< debian/patches/0014-Add-a-basic-permissions-system.patch
775 @@ -448,6 +449,18 @@ gs_app_to_string_append (GsApp *app, GString *str)
776+=======
777+@@ -450,6 +451,18 @@ gs_app_to_string_append (GsApp *app, GString *str)
778+>>>>>>> debian/patches/0014-Add-a-basic-permissions-system.patch
779 gs_app_kv_lpad (str, "icon-filename",
780 as_icon_get_filename (icon));
781 }
782@@ -77,7 +95,11 @@ index 41fe8039..28ceb474 100644
783 if (priv->match_value != 0)
784 gs_app_kv_printf (str, "match-value", "%05x", priv->match_value);
785 if (priv->priority != 0)
786+<<<<<<< debian/patches/0014-Add-a-basic-permissions-system.patch
787 @@ -2599,6 +2612,46 @@ gs_app_set_origin_hostname (GsApp *app, const gchar *origin_hostname)
788+=======
789+@@ -2647,6 +2660,46 @@ gs_app_set_origin_hostname (GsApp *app, const gchar *origin_hostname)
790+>>>>>>> debian/patches/0014-Add-a-basic-permissions-system.patch
791 priv->origin_hostname = g_strdup (origin_hostname);
792 }
793
794@@ -124,7 +146,11 @@ index 41fe8039..28ceb474 100644
795 /**
796 * gs_app_add_screenshot:
797 * @app: a #GsApp
798+<<<<<<< debian/patches/0014-Add-a-basic-permissions-system.patch
799 @@ -4256,6 +4309,7 @@ gs_app_dispose (GObject *object)
800+=======
801+@@ -4327,6 +4380,7 @@ gs_app_dispose (GObject *object)
802+>>>>>>> debian/patches/0014-Add-a-basic-permissions-system.patch
803 g_clear_pointer (&priv->icons, g_ptr_array_unref);
804 g_clear_pointer (&priv->channels, g_ptr_array_unref);
805 g_clear_object (&priv->active_channel);
806@@ -132,7 +158,11 @@ index 41fe8039..28ceb474 100644
807
808 G_OBJECT_CLASS (gs_app_parent_class)->dispose (object);
809 }
810+<<<<<<< debian/patches/0014-Add-a-basic-permissions-system.patch
811 @@ -4444,6 +4498,7 @@ gs_app_init (GsApp *app)
812+=======
813+@@ -4517,6 +4571,7 @@ gs_app_init (GsApp *app)
814+>>>>>>> debian/patches/0014-Add-a-basic-permissions-system.patch
815 priv->provides = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
816 priv->icons = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
817 priv->channels = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
818@@ -141,7 +171,11 @@ index 41fe8039..28ceb474 100644
819 g_str_equal,
820 g_free,
821 diff --git a/lib/gs-app.h b/lib/gs-app.h
822+<<<<<<< debian/patches/0014-Add-a-basic-permissions-system.patch
823 index 225d8708..72636aa1 100644
824+=======
825+index 7f469fc0..72d723d7 100644
826+>>>>>>> debian/patches/0014-Add-a-basic-permissions-system.patch
827 --- a/lib/gs-app.h
828 +++ b/lib/gs-app.h
829 @@ -30,6 +30,7 @@
830@@ -913,10 +947,17 @@ index ae5ad87b..ce019a47 100644
831 'gs-plugin-event.c',
832 'gs-plugin-job.c',
833 diff --git a/plugins/snap/gs-plugin-snap.c b/plugins/snap/gs-plugin-snap.c
834+<<<<<<< debian/patches/0014-Add-a-basic-permissions-system.patch
835 index 064443d1..bf5f42f3 100644
836 --- a/plugins/snap/gs-plugin-snap.c
837 +++ b/plugins/snap/gs-plugin-snap.c
838 @@ -1062,6 +1062,170 @@ gs_plugin_refine_app (GsPlugin *plugin,
839+=======
840+index ad700be7..ecdfc48d 100644
841+--- a/plugins/snap/gs-plugin-snap.c
842++++ b/plugins/snap/gs-plugin-snap.c
843+@@ -1044,6 +1044,170 @@ gs_plugin_refine_app (GsPlugin *plugin,
844+>>>>>>> debian/patches/0014-Add-a-basic-permissions-system.patch
845 if (flags & GS_PLUGIN_REFINE_FLAGS_REQUIRE_ICON && gs_app_get_pixbuf (app) == NULL)
846 load_icon (plugin, client, app, gs_app_get_metadata_item (app, "snap::name"), local_snap, store_snap, cancellable);
847
848@@ -1087,7 +1128,11 @@ index 064443d1..bf5f42f3 100644
849 return TRUE;
850 }
851
852+<<<<<<< debian/patches/0014-Add-a-basic-permissions-system.patch
853 @@ -1273,6 +1437,55 @@ gs_plugin_app_remove (GsPlugin *plugin,
854+=======
855+@@ -1255,6 +1419,55 @@ gs_plugin_app_remove (GsPlugin *plugin,
856+>>>>>>> debian/patches/0014-Add-a-basic-permissions-system.patch
857 return TRUE;
858 }
859
860@@ -1168,7 +1213,11 @@ index 5ce90429..b6c9916d 100644
861 <file preprocess="xml-stripblanks">gs-prefs-dialog.ui</file>
862 <file preprocess="xml-stripblanks">gs-removal-dialog.ui</file>
863 diff --git a/src/gs-details-page.c b/src/gs-details-page.c
864+<<<<<<< debian/patches/0014-Add-a-basic-permissions-system.patch
865 index 3d57a8af..071f91e6 100644
866+=======
867+index 256881a9..8647bdfe 100644
868+>>>>>>> debian/patches/0014-Add-a-basic-permissions-system.patch
869 --- a/src/gs-details-page.c
870 +++ b/src/gs-details-page.c
871 @@ -39,6 +39,7 @@
872@@ -1264,7 +1313,11 @@ index 3d57a8af..071f91e6 100644
873 gtk_widget_class_bind_template_child (widget_class, GsDetailsPage, infobar_details_app_norepo);
874 gtk_widget_class_bind_template_child (widget_class, GsDetailsPage, infobar_details_app_repo);
875 diff --git a/src/gs-details-page.ui b/src/gs-details-page.ui
876+<<<<<<< debian/patches/0014-Add-a-basic-permissions-system.patch
877 index 154ce197..a3f2ccb5 100644
878+=======
879+index a9b1aad4..255617c4 100644
880+>>>>>>> debian/patches/0014-Add-a-basic-permissions-system.patch
881 --- a/src/gs-details-page.ui
882 +++ b/src/gs-details-page.ui
883 @@ -367,6 +367,22 @@
884diff --git a/debian/patches/0020-Show-verified-developers.patch b/debian/patches/0020-Show-verified-developers.patch
885new file mode 100644
886index 0000000..582b49e
887--- /dev/null
888+++ b/debian/patches/0020-Show-verified-developers.patch
889@@ -0,0 +1,217 @@
890+From 4a94b04735a2ad8852a2a148e06a631f9aff334e Mon Sep 17 00:00:00 2001
891+From: Robert Ancell <robert.ancell@canonical.com>
892+Date: Tue, 28 Aug 2018 12:15:09 +1200
893+Subject: [PATCH 20/24] Show verified developers
894+
895+---
896+ lib/gs-app.c | 17 +++++++++++++++++
897+ lib/gs-app.h | 3 +++
898+ meson.build | 2 +-
899+ plugins/snap/gs-plugin-snap.c | 8 +++++++-
900+ src/developer-verified.svg | 12 ++++++++++++
901+ src/gnome-software.gresource.xml | 1 +
902+ src/gs-details-page.c | 3 +++
903+ src/gs-details-page.ui | 30 ++++++++++++++++++++++--------
904+ 8 files changed, 66 insertions(+), 10 deletions(-)
905+ create mode 100644 src/developer-verified.svg
906+
907+diff --git a/lib/gs-app.c b/lib/gs-app.c
908+index c8c5876b..bc7d8d75 100644
909+--- a/lib/gs-app.c
910++++ b/lib/gs-app.c
911+@@ -133,6 +133,7 @@ typedef struct
912+ GsChannel *active_channel;
913+ GCancellable *cancellable;
914+ GsPluginAction pending_action;
915++ gboolean developer_is_verified;
916+ } GsAppPrivate;
917+
918+ enum {
919+@@ -1657,6 +1658,22 @@ gs_app_set_developer_name (GsApp *app, const gchar *developer_name)
920+ _g_set_str (&priv->developer_name, developer_name);
921+ }
922+
923++gboolean
924++gs_app_get_developer_is_verified (GsApp *app)
925++{
926++ GsAppPrivate *priv = gs_app_get_instance_private (app);
927++ g_return_val_if_fail (GS_IS_APP (app), FALSE);
928++ return priv->developer_is_verified;
929++}
930++
931++void
932++gs_app_set_developer_is_verified (GsApp *app, gboolean developer_is_verified)
933++{
934++ GsAppPrivate *priv = gs_app_get_instance_private (app);
935++ g_return_if_fail (GS_IS_APP (app));
936++ priv->developer_is_verified = developer_is_verified;
937++}
938++
939+ /**
940+ * gs_app_get_pixbuf:
941+ * @app: a #GsApp
942+diff --git a/lib/gs-app.h b/lib/gs-app.h
943+index 72d723d7..ffccf5db 100644
944+--- a/lib/gs-app.h
945++++ b/lib/gs-app.h
946+@@ -168,6 +168,9 @@ void gs_app_set_project_group (GsApp *app,
947+ const gchar *gs_app_get_developer_name (GsApp *app);
948+ void gs_app_set_developer_name (GsApp *app,
949+ const gchar *developer_name);
950++gboolean gs_app_get_developer_is_verified (GsApp *app);
951++void gs_app_set_developer_is_verified (GsApp *app,
952++ gboolean developer_is_verified);
953+ const gchar *gs_app_get_version (GsApp *app);
954+ const gchar *gs_app_get_version_ui (GsApp *app);
955+ void gs_app_set_version (GsApp *app,
956+diff --git a/meson.build b/meson.build
957+index 3b2f726e..20fdd31a 100644
958+--- a/meson.build
959++++ b/meson.build
960+@@ -166,7 +166,7 @@ if get_option('enable-gudev')
961+ endif
962+
963+ if get_option('enable-snap')
964+- snap = dependency('snapd-glib', version : '>= 1.31')
965++ snap = dependency('snapd-glib', version : '>= 1.42')
966+ endif
967+
968+ gnome = import('gnome')
969+diff --git a/plugins/snap/gs-plugin-snap.c b/plugins/snap/gs-plugin-snap.c
970+index 405ec8e1..fadb7866 100644
971+--- a/plugins/snap/gs-plugin-snap.c
972++++ b/plugins/snap/gs-plugin-snap.c
973+@@ -934,6 +934,7 @@ gs_plugin_refine_app (GsPlugin *plugin,
974+ g_autoptr(SnapdSnap) local_snap = NULL;
975+ g_autoptr(SnapdSnap) store_snap = NULL;
976+ SnapdSnap *snap;
977++ const gchar *developer_name;
978+ g_autofree gchar *description = NULL;
979+
980+ /* not us */
981+@@ -1013,7 +1014,12 @@ gs_plugin_refine_app (GsPlugin *plugin,
982+ if (description != NULL)
983+ gs_app_set_description (app, GS_APP_QUALITY_NORMAL, description);
984+ gs_app_set_license (app, GS_APP_QUALITY_NORMAL, snapd_snap_get_license (snap));
985+- gs_app_set_developer_name (app, snapd_snap_get_developer (snap));
986++ developer_name = snapd_snap_get_publisher_display_name (snap);
987++ if (developer_name == NULL)
988++ developer_name = snapd_snap_get_publisher_username (snap);
989++ gs_app_set_developer_name (app, developer_name);
990++ if (snapd_snap_get_publisher_validation (snap) == SNAPD_PUBLISHER_VALIDATION_VERIFIED)
991++ gs_app_set_developer_is_verified (app, TRUE);
992+
993+ snap = local_snap != NULL ? local_snap : store_snap;
994+ gs_app_set_version (app, snapd_snap_get_version (snap));
995+diff --git a/src/developer-verified.svg b/src/developer-verified.svg
996+new file mode 100644
997+index 00000000..57c0f11b
998+--- /dev/null
999++++ b/src/developer-verified.svg
1000+@@ -0,0 +1,12 @@
1001++<?xml version="1.0" encoding="UTF-8" standalone="no"?>
1002++<svg xmlns="http://www.w3.org/2000/svg" height="12px" width="12px" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 12 12"><!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
1003++ <title>path6490</title>
1004++ <desc>Created with Sketch.</desc>
1005++ <g id="misc" fill-rule="evenodd" fill="none">
1006++ <g id="Artboard" fill-rule="nonzero" fill="#82BEA0" transform="translate(-419 -444)">
1007++ <g id="VALIDATED--SNAPCRAFTER-ICON" transform="translate(419 444)">
1008++ <path id="path6490" d="m5.0239 0.38296l-0.4325 0.40107c-0.3507 0.32527-0.8065 0.51407-1.2846 0.53217l-0.5886 0.0222c-0.75 0.0283-1.3515 0.6298-1.3798 1.3798l-0.0222 0.5886c-0.0181 0.4781-0.2069 0.9339-0.53217 1.2846l-0.40107 0.4325c-0.51061 0.5506-0.51061 1.4016 0 1.9522l0.40107 0.4325c0.32527 0.3507 0.51407 0.8065 0.53217 1.2846l0.0222 0.5886c0.0283 0.7502 0.6298 1.3512 1.3798 1.3802l0.5886 0.022c0.4781 0.018 0.9339 0.207 1.2846 0.532l0.4325 0.401c0.5506 0.511 1.4016 0.511 1.9522 0l0.4325-0.401c0.3507-0.325 0.8065-0.514 1.2846-0.532l0.5886-0.022c0.7502-0.029 1.3512-0.63 1.3802-1.3802l0.022-0.5886c0.018-0.4781 0.207-0.9339 0.532-1.2846l0.401-0.4325c0.511-0.5506 0.511-1.4016 0-1.9522l-0.401-0.4325c-0.325-0.3507-0.514-0.8065-0.532-1.2846l-0.022-0.5886c-0.029-0.75-0.63-1.3515-1.3802-1.3798l-0.5886-0.0222c-0.4781-0.0181-0.9339-0.2069-1.2846-0.53217l-0.4325-0.40107c-0.5506-0.51061-1.4016-0.51061-1.9522 0zm3.3697 3.1711l0.8675 0.8565-4.2062 4.2411-2.316-2.3398 0.8611-0.8549 1.4549 1.4659 3.3387-3.3688z"/>
1009++ </g>
1010++ </g>
1011++ </g>
1012++</svg>
1013+\ No newline at end of file
1014+diff --git a/src/gnome-software.gresource.xml b/src/gnome-software.gresource.xml
1015+index 44e5a28a..46022303 100644
1016+--- a/src/gnome-software.gresource.xml
1017++++ b/src/gnome-software.gresource.xml
1018+@@ -38,5 +38,6 @@
1019+ <file preprocess="xml-stripblanks">org.freedesktop.PackageKit.xml</file>
1020+ <file>gtk-style.css</file>
1021+ <file>gtk-style-hc.css</file>
1022++ <file>developer-verified.svg</file>
1023+ </gresource>
1024+ </gresources>
1025+diff --git a/src/gs-details-page.c b/src/gs-details-page.c
1026+index 8647bdfe..16677d2a 100644
1027+--- a/src/gs-details-page.c
1028++++ b/src/gs-details-page.c
1029+@@ -101,6 +101,7 @@ struct _GsDetailsPage
1030+ GtkWidget *label_details_category_value;
1031+ GtkWidget *label_details_developer_title;
1032+ GtkWidget *label_details_developer_value;
1033++ GtkWidget *image_details_developer_verified;
1034+ GtkWidget *button_details_license_free;
1035+ GtkWidget *button_details_license_nonfree;
1036+ GtkWidget *button_details_license_unknown;
1037+@@ -963,6 +964,7 @@ gs_details_page_refresh_all (GsDetailsPage *self)
1038+ gtk_label_set_label (GTK_LABEL (self->label_details_developer_value), tmp);
1039+ gtk_widget_set_visible (self->label_details_developer_value, TRUE);
1040+ }
1041++ gtk_widget_set_visible (self->image_details_developer_verified, gs_app_get_developer_is_verified (self->app));
1042+
1043+ /* set the license buttons */
1044+ tmp = gs_app_get_license (self->app);
1045+@@ -2702,6 +2704,7 @@ gs_details_page_class_init (GsDetailsPageClass *klass)
1046+ gtk_widget_class_bind_template_child (widget_class, GsDetailsPage, label_details_category_value);
1047+ gtk_widget_class_bind_template_child (widget_class, GsDetailsPage, label_details_developer_title);
1048+ gtk_widget_class_bind_template_child (widget_class, GsDetailsPage, label_details_developer_value);
1049++ gtk_widget_class_bind_template_child (widget_class, GsDetailsPage, image_details_developer_verified);
1050+ gtk_widget_class_bind_template_child (widget_class, GsDetailsPage, button_details_license_free);
1051+ gtk_widget_class_bind_template_child (widget_class, GsDetailsPage, button_details_license_nonfree);
1052+ gtk_widget_class_bind_template_child (widget_class, GsDetailsPage, button_details_license_unknown);
1053+diff --git a/src/gs-details-page.ui b/src/gs-details-page.ui
1054+index 255617c4..bc03b421 100644
1055+--- a/src/gs-details-page.ui
1056++++ b/src/gs-details-page.ui
1057+@@ -1133,16 +1133,30 @@
1058+ </packing>
1059+ </child>
1060+ <child>
1061+- <object class="GtkLabel" id="label_details_developer_value">
1062++ <object class="GtkBox" id="box_details_developer">
1063+ <property name="visible">True</property>
1064+ <property name="can_focus">False</property>
1065+ <property name="hexpand">True</property>
1066+- <property name="label">Yorba</property>
1067+- <property name="wrap">True</property>
1068+- <property name="selectable">True</property>
1069+- <property name="max_width_chars">10</property>
1070+- <property name="xalign">0</property>
1071+- <property name="yalign">0.5</property>
1072++ <property name="spacing">3</property>
1073++ <child>
1074++ <object class="GtkLabel" id="label_details_developer_value">
1075++ <property name="visible">True</property>
1076++ <property name="can_focus">False</property>
1077++ <property name="label">Yorba</property>
1078++ <property name="selectable">True</property>
1079++ <property name="max_width_chars">10</property>
1080++ <property name="xalign">0</property>
1081++ <property name="yalign">0.5</property>
1082++ </object>
1083++ </child>
1084++ <child>
1085++ <object class="GtkImage" id="image_details_developer_verified">
1086++ <property name="visible">True</property>
1087++ <property name="can_focus">False</property>
1088++ <property name="pixel_size">16</property>
1089++ <property name="resource">/org/gnome/Software/developer-verified.svg</property>
1090++ </object>
1091++ </child>
1092+ </object>
1093+ <packing>
1094+ <property name="left_attach">1</property>
1095+@@ -1455,7 +1469,7 @@
1096+ <widget name="label_details_category_value"/>
1097+ <widget name="label_details_size_installed_value"/>
1098+ <widget name="label_details_size_download_value"/>
1099+- <widget name="label_details_developer_value"/>
1100++ <widget name="box_details_developer"/>
1101+ <widget name="button_details_license_free"/>
1102+ </widgets>
1103+ </object>
1104+--
1105+2.17.1
1106+
1107diff --git a/debian/patches/0021-snap-Use-wide-scope-when-searching.patch b/debian/patches/0021-snap-Use-wide-scope-when-searching.patch
1108new file mode 100644
1109index 0000000..221f8fe
1110--- /dev/null
1111+++ b/debian/patches/0021-snap-Use-wide-scope-when-searching.patch
1112@@ -0,0 +1,70 @@
1113+From 0c6077b03a2d31eaecc1ea8968ec395270585c9c Mon Sep 17 00:00:00 2001
1114+From: Robert Ancell <robert.ancell@canonical.com>
1115+Date: Tue, 7 Aug 2018 16:49:35 +1200
1116+Subject: [PATCH 21/24] snap: Use wide scope when searching
1117+
1118+---
1119+ plugins/snap/gs-plugin-snap.c | 12 ++++++------
1120+ 1 file changed, 6 insertions(+), 6 deletions(-)
1121+
1122+diff --git a/plugins/snap/gs-plugin-snap.c b/plugins/snap/gs-plugin-snap.c
1123+index 509f7d0a..57fc7fa7 100644
1124+--- a/plugins/snap/gs-plugin-snap.c
1125++++ b/plugins/snap/gs-plugin-snap.c
1126+@@ -385,7 +385,7 @@ gs_plugin_url_to_app (GsPlugin *plugin,
1127+
1128+ /* create app */
1129+ path = gs_utils_get_url_path (url);
1130+- snaps = find_snaps (plugin, SNAPD_FIND_FLAGS_MATCH_NAME, NULL, path, cancellable, NULL);
1131++ snaps = find_snaps (plugin, SNAPD_FIND_FLAGS_SCOPE_WIDE | SNAPD_FIND_FLAGS_MATCH_NAME, NULL, path, cancellable, NULL);
1132+ if (snaps == NULL || snaps->len < 1)
1133+ return TRUE;
1134+
1135+@@ -451,7 +451,7 @@ gs_plugin_add_featured (GsPlugin *plugin,
1136+ g_autoptr(GString) background_css = NULL;
1137+ g_autofree gchar *css = NULL;
1138+
1139+- snaps = find_snaps (plugin, SNAPD_FIND_FLAGS_NONE, "featured", NULL, cancellable, error);
1140++ snaps = find_snaps (plugin, SNAPD_FIND_FLAGS_SCOPE_WIDE, "featured", NULL, cancellable, error);
1141+
1142+ if (snaps == NULL)
1143+ return FALSE;
1144+@@ -520,7 +520,7 @@ gs_plugin_add_popular (GsPlugin *plugin,
1145+ g_autoptr(GPtrArray) snaps = NULL;
1146+ guint i;
1147+
1148+- snaps = find_snaps (plugin, SNAPD_FIND_FLAGS_NONE, "featured", NULL, cancellable, error);
1149++ snaps = find_snaps (plugin, SNAPD_FIND_FLAGS_SCOPE_WIDE, "featured", NULL, cancellable, error);
1150+ if (snaps == NULL)
1151+ return FALSE;
1152+
1153+@@ -578,7 +578,7 @@ gs_plugin_add_category_apps (GsPlugin *plugin,
1154+ g_autoptr(GPtrArray) snaps = NULL;
1155+ guint j;
1156+
1157+- snaps = find_snaps (plugin, SNAPD_FIND_FLAGS_NONE, tokens[i], NULL, cancellable, error);
1158++ snaps = find_snaps (plugin, SNAPD_FIND_FLAGS_SCOPE_WIDE, tokens[i], NULL, cancellable, error);
1159+ if (snaps == NULL)
1160+ return FALSE;
1161+ for (j = 0; j < snaps->len; j++) {
1162+@@ -636,7 +636,7 @@ gs_plugin_add_search (GsPlugin *plugin,
1163+ guint i;
1164+
1165+ query = g_strjoinv (" ", values);
1166+- snaps = find_snaps (plugin, SNAPD_FIND_FLAGS_NONE, NULL, query, cancellable, error);
1167++ snaps = find_snaps (plugin, SNAPD_FIND_FLAGS_SCOPE_WIDE, NULL, query, cancellable, error);
1168+ if (snaps == NULL)
1169+ return FALSE;
1170+
1171+@@ -659,7 +659,7 @@ get_store_snap (GsPlugin *plugin, const gchar *name, gboolean need_details, GCan
1172+ if (snap != NULL)
1173+ return g_object_ref (snap);
1174+
1175+- snaps = find_snaps (plugin, SNAPD_FIND_FLAGS_MATCH_NAME, NULL, name, cancellable, error);
1176++ snaps = find_snaps (plugin, SNAPD_FIND_FLAGS_SCOPE_WIDE | SNAPD_FIND_FLAGS_MATCH_NAME, NULL, name, cancellable, error);
1177+ if (snaps == NULL || snaps->len < 1)
1178+ return NULL;
1179+
1180+--
1181+2.17.1
1182+
1183diff --git a/debian/patches/0022-Delay-startup-of-GNOME-Software-to-allow-the-Shell-t.patch b/debian/patches/0022-Delay-startup-of-GNOME-Software-to-allow-the-Shell-t.patch
1184new file mode 100644
1185index 0000000..070fd81
1186--- /dev/null
1187+++ b/debian/patches/0022-Delay-startup-of-GNOME-Software-to-allow-the-Shell-t.patch
1188@@ -0,0 +1,25 @@
1189+From 7932bac03d7d47011ee170dc2b31e9de1512812c Mon Sep 17 00:00:00 2001
1190+From: Jean-Baptiste Lallement <jean-baptiste.lallement@canonical.com>
1191+Date: Mon, 25 Jun 2018 16:14:38 +1200
1192+Subject: [PATCH 22/25] Delay startup of GNOME Software to allow the Shell to
1193+ load first.
1194+
1195+---
1196+ src/gnome-software-service.desktop.in | 1 +
1197+ 1 file changed, 1 insertion(+)
1198+
1199+diff --git a/src/gnome-software-service.desktop.in b/src/gnome-software-service.desktop.in
1200+index dc4d4d90..fb47759b 100644
1201+--- a/src/gnome-software-service.desktop.in
1202++++ b/src/gnome-software-service.desktop.in
1203+@@ -1,6 +1,7 @@
1204+ [Desktop Entry]
1205+ Type=Application
1206+ Name=GNOME Software
1207++X-GNOME-Autostart-Delay=60
1208+ Exec=@bindir@/gnome-software --gapplication-service
1209+ OnlyShowIn=GNOME;Unity;
1210+ NoDisplay=true
1211+--
1212+2.17.1
1213+
1214diff --git a/debian/patches/0023-Revert-Revert-flatpak-Use-list-of-related-apps-for-i.patch b/debian/patches/0023-Revert-Revert-flatpak-Use-list-of-related-apps-for-i.patch
1215new file mode 100644
1216index 0000000..eeb6403
1217--- /dev/null
1218+++ b/debian/patches/0023-Revert-Revert-flatpak-Use-list-of-related-apps-for-i.patch
1219@@ -0,0 +1,114 @@
1220+From 3b71756838799497639163a637ef7120a756277e Mon Sep 17 00:00:00 2001
1221+From: Joaquim Rocha <jrocha@endlessm.com>
1222+Date: Wed, 23 May 2018 13:17:37 +0200
1223+Subject: [PATCH 23/28] Revert "Revert "flatpak: Use "list of related apps for
1224+ install" when updating an app""
1225+
1226+This reverts commit 79c14a2c67ec1ac459ace6c2e08dce74f78a9e16 and brings
1227+back the ae5c13cc39eae89ab261bab44ea2fd0fc941f9d5 and
1228+eb68607baea3b83b719acb739516b361a6758bcf.
1229+
1230+The mentioned functionality had been reverted in order for the release
1231+3.28 but it's necessary for getting the related apps when updating apps.
1232+---
1233+ plugins/flatpak/gs-flatpak.c | 53 +++++++++++++++++++++++++++---------
1234+ 1 file changed, 40 insertions(+), 13 deletions(-)
1235+
1236+diff --git a/plugins/flatpak/gs-flatpak.c b/plugins/flatpak/gs-flatpak.c
1237+index 6a424ed8..8f57eda6 100644
1238+--- a/plugins/flatpak/gs-flatpak.c
1239++++ b/plugins/flatpak/gs-flatpak.c
1240+@@ -2587,8 +2587,11 @@ gs_flatpak_refine_runtime_for_install (GsFlatpak *self,
1241+ }
1242+
1243+ static GsAppList *
1244+-gs_flatpak_get_list_for_install (GsFlatpak *self, GsApp *app,
1245+- GCancellable *cancellable, GError **error)
1246++gs_flatpak_get_list_for_install_or_update (GsFlatpak *self,
1247++ GsApp *app,
1248++ gboolean is_update,
1249++ GCancellable *cancellable,
1250++ GError **error)
1251+ {
1252+ GsApp *runtime;
1253+ g_autofree gchar *ref = NULL;
1254+@@ -2596,6 +2599,7 @@ gs_flatpak_get_list_for_install (GsFlatpak *self, GsApp *app,
1255+ g_autoptr(GPtrArray) xrefs_installed = NULL;
1256+ g_autoptr(GHashTable) hash_installed = NULL;
1257+ g_autoptr(GsAppList) list = gs_app_list_new ();
1258++ g_autofree gchar *app_ref = NULL;
1259+
1260+ /* get the list of installed apps */
1261+ xrefs_installed = flatpak_installation_list_installed_refs (self->installation,
1262+@@ -2658,26 +2662,49 @@ gs_flatpak_get_list_for_install (GsFlatpak *self, GsApp *app,
1263+ /* already installed? */
1264+ app_tmp = gs_flatpak_create_app (self, FLATPAK_REF (xref_related));
1265+ ref_display = gs_flatpak_app_get_ref_display (app_tmp);
1266+- if (g_hash_table_contains (hash_installed, ref_display)) {
1267++ if (!is_update && g_hash_table_contains (hash_installed, ref_display)) {
1268+ g_debug ("not adding related %s as already installed", ref_display);
1269+- } else {
1270+- gs_app_set_origin (app_tmp, gs_app_get_origin (app));
1271+- g_debug ("adding related %s for install", ref_display);
1272+-
1273+- if (!gs_plugin_refine_item_state (self, app_tmp, cancellable, error))
1274+- return NULL;
1275++ continue;
1276++ }
1277+
1278+- gs_app_list_add (list, app_tmp);
1279++ gs_app_set_origin (app_tmp, gs_app_get_origin (app));
1280++ if (!gs_plugin_refine_item_state (self, app_tmp, cancellable, error))
1281++ return FALSE;
1282++ if (is_update && !gs_app_is_updatable (app_tmp)) {
1283++ g_debug ("not adding related %s as it's not updatable", ref_display);
1284++ continue;
1285+ }
1286++ g_debug ("adding related %s for install/update", ref_display);
1287++ gs_app_list_add (list, app_tmp);
1288+ }
1289+
1290+- /* add the original app last unless it's a proxy app */
1291+- if (!gs_app_has_quirk (app, AS_APP_QUIRK_IS_PROXY))
1292++ /* add the original app last unless it's already installed or is a proxy app */
1293++ app_ref = gs_flatpak_app_get_ref_display (app);
1294++ if (!gs_app_has_quirk (app, AS_APP_QUIRK_IS_PROXY) &&
1295++ !g_hash_table_contains (hash_installed, app_ref))
1296+ gs_app_list_add (list, app);
1297+
1298+ return g_steal_pointer (&list);
1299+ }
1300+
1301++static GsAppList *
1302++gs_flatpak_get_list_for_install (GsFlatpak *self,
1303++ GsApp *app,
1304++ GCancellable *cancellable,
1305++ GError **error)
1306++{
1307++ return gs_flatpak_get_list_for_install_or_update (self, app, FALSE, cancellable, error);
1308++}
1309++
1310++static GsAppList *
1311++gs_flatpak_get_list_for_update (GsFlatpak *self,
1312++ GsApp *app,
1313++ GCancellable *cancellable,
1314++ GError **error)
1315++{
1316++ return gs_flatpak_get_list_for_install_or_update (self, app, TRUE, cancellable, error);
1317++}
1318++
1319+ gboolean
1320+ gs_flatpak_app_remove (GsFlatpak *self,
1321+ GsApp *app,
1322+@@ -3065,7 +3092,7 @@ gs_flatpak_update_app (GsFlatpak *self,
1323+ }
1324+
1325+ /* get the list of apps to process */
1326+- list = gs_flatpak_get_list_for_install (self, app, cancellable, error);
1327++ list = gs_flatpak_get_list_for_update (self, app, cancellable, error);
1328+ if (list == NULL) {
1329+ g_prefix_error (error, "failed to get related refs: ");
1330+ gs_app_set_state_recover (app);
1331+--
1332+2.19.1
1333+
1334diff --git a/debian/patches/0024-flatpak-Check-if-a-related-app-is-installed-even-whe.patch b/debian/patches/0024-flatpak-Check-if-a-related-app-is-installed-even-whe.patch
1335new file mode 100644
1336index 0000000..640e5c5
1337--- /dev/null
1338+++ b/debian/patches/0024-flatpak-Check-if-a-related-app-is-installed-even-whe.patch
1339@@ -0,0 +1,37 @@
1340+From 54e1bbc547a52485cec6d2de32ff02205e9c5917 Mon Sep 17 00:00:00 2001
1341+From: Joaquim Rocha <jrocha@endlessm.com>
1342+Date: Wed, 13 Dec 2017 00:48:13 +0000
1343+Subject: [PATCH 24/28] flatpak: Check if a related app is installed even when
1344+ dealing with updates
1345+
1346+When dealing with updates, gs-flatpak gets the list of related apps
1347+(usually runtime extensions) that should be updated together with the
1348+main app. However, if one of those related apps is not installed, the
1349+gs_app_is_updatable call will return FALSE and the app will not be
1350+installed.
1351+This is a problem when e.g. a runtime extension has been mistakenly
1352+removed, or when an app is updated and needs a new runtime extension.
1353+
1354+This patch simply adds a further test for whether the app is installed,
1355+together with the logic mentioned above.
1356+---
1357+ plugins/flatpak/gs-flatpak.c | 3 ++-
1358+ 1 file changed, 2 insertions(+), 1 deletion(-)
1359+
1360+diff --git a/plugins/flatpak/gs-flatpak.c b/plugins/flatpak/gs-flatpak.c
1361+index 8f57eda6..d8781206 100644
1362+--- a/plugins/flatpak/gs-flatpak.c
1363++++ b/plugins/flatpak/gs-flatpak.c
1364+@@ -2670,7 +2670,8 @@ gs_flatpak_get_list_for_install_or_update (GsFlatpak *self,
1365+ gs_app_set_origin (app_tmp, gs_app_get_origin (app));
1366+ if (!gs_plugin_refine_item_state (self, app_tmp, cancellable, error))
1367+ return FALSE;
1368+- if (is_update && !gs_app_is_updatable (app_tmp)) {
1369++ if (gs_app_is_installed (app_tmp) && is_update &&
1370++ !gs_app_is_updatable (app_tmp)) {
1371+ g_debug ("not adding related %s as it's not updatable", ref_display);
1372+ continue;
1373+ }
1374+--
1375+2.19.1
1376+
1377diff --git a/debian/patches/0025-flatpak-Include-related-refs-to-the-app-s-runtime-on.patch b/debian/patches/0025-flatpak-Include-related-refs-to-the-app-s-runtime-on.patch
1378new file mode 100644
1379index 0000000..22bdc42
1380--- /dev/null
1381+++ b/debian/patches/0025-flatpak-Include-related-refs-to-the-app-s-runtime-on.patch
1382@@ -0,0 +1,192 @@
1383+From 04977409f7f5179f7ce17ab894fd51e3c539f4d6 Mon Sep 17 00:00:00 2001
1384+From: Joaquim Rocha <jrocha@endlessm.com>
1385+Date: Wed, 23 May 2018 13:02:20 +0200
1386+Subject: [PATCH 25/28] flatpak: Include related refs to the app's runtime on
1387+ install/update
1388+
1389+When installing/updating an app, if its related refs and its runtime
1390+need to be installed as well, then they do. However, refs that are
1391+related to the runtime itself do not get installed, and this is a
1392+problem because some apps may need them (besides being a discrepancy
1393+between using the Flatpak CLI and GNOME Software for installing Flatpak
1394+apps).
1395+
1396+Thus, these changes add any refs related to an app's runtime to the
1397+list of refs that should be installed when installing or updating an
1398+app. Note that it deliberately doesn't update refs related to the
1399+runtime though, just as it doesn't update the runtime when updating an
1400+app. Thus, refs that are related to the runtime get updated together
1401+with it.
1402+---
1403+ plugins/flatpak/gs-flatpak.c | 124 +++++++++++++++++++++++++----------
1404+ 1 file changed, 88 insertions(+), 36 deletions(-)
1405+
1406+diff --git a/plugins/flatpak/gs-flatpak.c b/plugins/flatpak/gs-flatpak.c
1407+index d8781206..a820918c 100644
1408+--- a/plugins/flatpak/gs-flatpak.c
1409++++ b/plugins/flatpak/gs-flatpak.c
1410+@@ -2586,6 +2586,68 @@ gs_flatpak_refine_runtime_for_install (GsFlatpak *self,
1411+ return TRUE;
1412+ }
1413+
1414++static GPtrArray *
1415++gs_flatpak_get_app_remote_related_refs (GsFlatpak *self,
1416++ GsApp *app,
1417++ GCancellable *cancellable,
1418++ GError **error)
1419++{
1420++ g_autofree gchar *ref = NULL;
1421++
1422++ /* lookup any related refs for this ref */
1423++ ref = g_strdup_printf ("%s/%s/%s/%s",
1424++ gs_flatpak_app_get_ref_kind_as_str (app),
1425++ gs_flatpak_app_get_ref_name (app),
1426++ gs_flatpak_app_get_ref_arch (app),
1427++ gs_flatpak_app_get_ref_branch (app));
1428++ return flatpak_installation_list_remote_related_refs_sync (self->installation,
1429++ gs_app_get_origin (app),
1430++ ref, cancellable, error);
1431++}
1432++
1433++static gboolean
1434++gs_flatpak_add_related_refs_to_list (GsFlatpak *self,
1435++ GsApp *app,
1436++ GPtrArray *related_refs,
1437++ GHashTable *hash_installed,
1438++ gboolean is_update,
1439++ GsAppList *list,
1440++ GCancellable *cancellable,
1441++ GError **error)
1442++{
1443++ for (guint i = 0; i < related_refs->len; i++) {
1444++ FlatpakRelatedRef *xref_related = g_ptr_array_index (related_refs, i);
1445++ g_autofree gchar *ref_display = NULL;
1446++ g_autoptr(GsApp) app_tmp = NULL;
1447++
1448++ /* not included */
1449++ if (!gs_flatpak_related_should_download (self, app, xref_related))
1450++ continue;
1451++
1452++ /* already installed? */
1453++ app_tmp = gs_flatpak_create_app (self, FLATPAK_REF (xref_related));
1454++ ref_display = gs_flatpak_app_get_ref_display (app_tmp);
1455++ if (!is_update && g_hash_table_contains (hash_installed, ref_display)) {
1456++ g_debug ("not adding related %s as already installed", ref_display);
1457++ continue;
1458++ }
1459++
1460++ if (gs_app_get_origin (app_tmp) == NULL)
1461++ gs_app_set_origin (app_tmp, gs_app_get_origin (app));
1462++
1463++ if (!gs_plugin_refine_item_state (self, app_tmp, cancellable, error))
1464++ return FALSE;
1465++ if (gs_app_is_installed (app_tmp) && is_update &&
1466++ !gs_app_is_updatable (app_tmp)) {
1467++ g_debug ("not adding related %s as it's not updatable", ref_display);
1468++ continue;
1469++ }
1470++ g_debug ("adding related %s for install/update", ref_display);
1471++ gs_app_list_add (list, app_tmp);
1472++ }
1473++ return TRUE;
1474++}
1475++
1476+ static GsAppList *
1477+ gs_flatpak_get_list_for_install_or_update (GsFlatpak *self,
1478+ GsApp *app,
1479+@@ -2596,6 +2658,7 @@ gs_flatpak_get_list_for_install_or_update (GsFlatpak *self,
1480+ GsApp *runtime;
1481+ g_autofree gchar *ref = NULL;
1482+ g_autoptr(GPtrArray) related = NULL;
1483++ g_autoptr(GPtrArray) runtime_related = NULL;
1484+ g_autoptr(GPtrArray) xrefs_installed = NULL;
1485+ g_autoptr(GHashTable) hash_installed = NULL;
1486+ g_autoptr(GsAppList) list = gs_app_list_new ();
1487+@@ -2621,6 +2684,7 @@ gs_flatpak_get_list_for_install_or_update (GsFlatpak *self,
1488+ return NULL;
1489+ runtime = gs_app_get_update_runtime (app);
1490+ if (runtime != NULL) {
1491++ g_autoptr(GError) local_error = NULL;
1492+ g_autofree gchar *ref_display = NULL;
1493+ ref_display = gs_flatpak_app_get_ref_display (runtime);
1494+ if (g_hash_table_contains (hash_installed, ref_display)) {
1495+@@ -2632,52 +2696,40 @@ gs_flatpak_get_list_for_install_or_update (GsFlatpak *self,
1496+ gs_flatpak_app_get_ref_branch (runtime));
1497+ gs_app_list_add (list, runtime);
1498+ }
1499++
1500++ /* add refs related to the runtime */
1501++ runtime_related = gs_flatpak_get_app_remote_related_refs (self, runtime,
1502++ cancellable,
1503++ &local_error);
1504++ if (runtime_related == NULL)
1505++ g_debug ("Failed to get related refs for runtime %s when "
1506++ "installing/updating %s: %s; continuing nonetheless...",
1507++ gs_app_get_unique_id (runtime),
1508++ gs_app_get_unique_id (app),
1509++ local_error->message);
1510+ }
1511+
1512+ /* lookup any related refs for this ref */
1513+- ref = g_strdup_printf ("%s/%s/%s/%s",
1514+- gs_flatpak_app_get_ref_kind_as_str (app),
1515+- gs_flatpak_app_get_ref_name (app),
1516+- gs_flatpak_app_get_ref_arch (app),
1517+- gs_flatpak_app_get_ref_branch (app));
1518+- related = flatpak_installation_list_remote_related_refs_sync (self->installation,
1519+- gs_app_get_origin (app),
1520+- ref, cancellable, error);
1521++ related = gs_flatpak_get_app_remote_related_refs (self, app, cancellable, error);
1522+ if (related == NULL) {
1523+ g_prefix_error (error, "using origin %s: ", gs_app_get_origin (app));
1524+ gs_flatpak_error_convert (error);
1525+ return NULL;
1526+ }
1527+
1528+- /* any extra bits */
1529+- for (guint i = 0; i < related->len; i++) {
1530+- FlatpakRelatedRef *xref_related = g_ptr_array_index (related, i);
1531+- g_autofree gchar *ref_display = NULL;
1532+- g_autoptr(GsApp) app_tmp = NULL;
1533+-
1534+- /* not included */
1535+- if (!gs_flatpak_related_should_download (self, app, xref_related))
1536+- continue;
1537+-
1538+- /* already installed? */
1539+- app_tmp = gs_flatpak_create_app (self, FLATPAK_REF (xref_related));
1540+- ref_display = gs_flatpak_app_get_ref_display (app_tmp);
1541+- if (!is_update && g_hash_table_contains (hash_installed, ref_display)) {
1542+- g_debug ("not adding related %s as already installed", ref_display);
1543+- continue;
1544+- }
1545++ /* add refs related to the app */
1546++ if (!gs_flatpak_add_related_refs_to_list (self, app, related, hash_installed,
1547++ is_update, list, cancellable, error))
1548++ return FALSE;
1549+
1550+- gs_app_set_origin (app_tmp, gs_app_get_origin (app));
1551+- if (!gs_plugin_refine_item_state (self, app_tmp, cancellable, error))
1552+- return FALSE;
1553+- if (gs_app_is_installed (app_tmp) && is_update &&
1554+- !gs_app_is_updatable (app_tmp)) {
1555+- g_debug ("not adding related %s as it's not updatable", ref_display);
1556+- continue;
1557+- }
1558+- g_debug ("adding related %s for install/update", ref_display);
1559+- gs_app_list_add (list, app_tmp);
1560+- }
1561++ /* add refs related to the runtime; however, we're only adding them if they
1562++ * need to be installed, as their update should be performed together with
1563++ * the runtime instead */
1564++ if (runtime_related != NULL &&
1565++ !gs_flatpak_add_related_refs_to_list (self, runtime, runtime_related,
1566++ hash_installed, FALSE, list,
1567++ cancellable, error))
1568++ return FALSE;
1569+
1570+ /* add the original app last unless it's already installed or is a proxy app */
1571+ app_ref = gs_flatpak_app_get_ref_display (app);
1572+--
1573+2.19.1
1574+
1575diff --git a/debian/patches/0026-shell-search-provider-implement-XUbuntuCancel.patch b/debian/patches/0026-shell-search-provider-implement-XUbuntuCancel.patch
1576new file mode 100644
1577index 0000000..f914b22
1578--- /dev/null
1579+++ b/debian/patches/0026-shell-search-provider-implement-XUbuntuCancel.patch
1580@@ -0,0 +1,176 @@
1581+From 2ac5ea28829ecaff2f8a180f2ef7eefbb07602d9 Mon Sep 17 00:00:00 2001
1582+From: Andrea Azzarone <andrea.azzarone@canonical.com>
1583+Date: Fri, 7 Sep 2018 19:58:00 +0200
1584+Subject: [PATCH 24/26] shell-search-provider: implement XUbuntuCancel
1585+
1586+Implement XUbuntuCancel to request search cancellation. This is used by
1587+gnome-shell to cancel the current search e.g. if the search overview is
1588+closed.
1589+---
1590+ src/gs-shell-search-provider.c | 74 +++++++++++++++----
1591+ src/shell-search-provider-dbus-interfaces.xml | 1 +
1592+ 2 files changed, 60 insertions(+), 15 deletions(-)
1593+
1594+diff --git a/src/gs-shell-search-provider.c b/src/gs-shell-search-provider.c
1595+index c01d72cb..8c1e0fda 100644
1596+--- a/src/gs-shell-search-provider.c
1597++++ b/src/gs-shell-search-provider.c
1598+@@ -45,6 +45,8 @@ struct _GsShellSearchProvider {
1599+ GsPluginLoader *plugin_loader;
1600+ GCancellable *cancellable;
1601+
1602++ PendingSearch *current_search;
1603++
1604+ GHashTable *metas_cache;
1605+ GsAppList *search_results;
1606+ };
1607+@@ -58,6 +60,17 @@ pending_search_free (PendingSearch *search)
1608+ g_slice_free (PendingSearch, search);
1609+ }
1610+
1611++static void
1612++cancel_current_search (GsShellSearchProvider *self)
1613++{
1614++ g_debug ("*** Cancel current search");
1615++
1616++ if (self->cancellable != NULL) {
1617++ g_cancellable_cancel (self->cancellable);
1618++ g_clear_object (&self->cancellable);
1619++ }
1620++}
1621++
1622+ static gint
1623+ search_sort_by_kudo_cb (GsApp *app1, GsApp *app2, gpointer user_data)
1624+ {
1625+@@ -71,6 +84,23 @@ search_sort_by_kudo_cb (GsApp *app1, GsApp *app2, gpointer user_data)
1626+ return 0;
1627+ }
1628+
1629++static void
1630++pending_search_finish (PendingSearch *search,
1631++ GDBusMethodInvocation *invocation,
1632++ GVariant *result)
1633++{
1634++ GsShellSearchProvider *self = search->provider;
1635++
1636++ g_dbus_method_invocation_return_value (invocation, result);
1637++
1638++ if (search == self->current_search) {
1639++ self->current_search = NULL;
1640++ }
1641++
1642++ pending_search_free (search);
1643++ g_application_release (g_application_get_default ());
1644++}
1645++
1646+ static void
1647+ search_done_cb (GObject *source,
1648+ GAsyncResult *res,
1649+@@ -87,10 +117,9 @@ search_done_cb (GObject *source,
1650+
1651+ list = gs_plugin_loader_job_process_finish (self->plugin_loader, res, NULL);
1652+ if (list == NULL) {
1653+- g_dbus_method_invocation_return_value (search->invocation, g_variant_new ("(as)", NULL));
1654+- pending_search_free (search);
1655+- g_application_release (g_application_get_default ());
1656+- return;
1657++ pending_search_finish (search, search->invocation,
1658++ g_variant_new ("(as)", NULL));
1659++ return;
1660+ }
1661+
1662+ /* sort by kudos, as there is no ratings data by default */
1663+@@ -106,10 +135,8 @@ search_done_cb (GObject *source,
1664+ /* cache this in case we need the app in GetResultMetas */
1665+ gs_app_list_add (self->search_results, app);
1666+ }
1667+- g_dbus_method_invocation_return_value (search->invocation, g_variant_new ("(as)", &builder));
1668+
1669+- pending_search_free (search);
1670+- g_application_release (g_application_get_default ());
1671++ pending_search_finish (search, search->invocation, g_variant_new ("(as)", &builder));
1672+ }
1673+
1674+ static gchar *
1675+@@ -167,10 +194,7 @@ execute_search (GsShellSearchProvider *self,
1676+
1677+ value = g_strjoinv (" ", terms);
1678+
1679+- if (self->cancellable != NULL) {
1680+- g_cancellable_cancel (self->cancellable);
1681+- g_clear_object (&self->cancellable);
1682+- }
1683++ cancel_current_search (self);
1684+
1685+ /* don't attempt searches for a single character */
1686+ if (g_strv_length (terms) == 1 &&
1687+@@ -183,6 +207,7 @@ execute_search (GsShellSearchProvider *self,
1688+ pending_search->provider = self;
1689+ pending_search->invocation = g_object_ref (invocation);
1690+
1691++ self->current_search = pending_search;
1692+ g_application_hold (g_application_get_default ());
1693+ self->cancellable = g_cancellable_new ();
1694+
1695+@@ -334,6 +359,26 @@ handle_launch_search (GsShellSearchProvider2 *skeleton,
1696+ return TRUE;
1697+ }
1698+
1699++static gboolean
1700++handle_xubuntu_cancel (GsShellSearchProvider2 *skeleton,
1701++ GDBusMethodInvocation *invocation,
1702++ gpointer user_data)
1703++{
1704++ GsShellSearchProvider *self = GS_SHELL_SEARCH_PROVIDER (user_data);
1705++
1706++ g_debug ("*** XUbuntuCancel called");
1707++
1708++ if (self->current_search != NULL &&
1709++ g_strcmp0 (g_dbus_method_invocation_get_sender (self->current_search->invocation),
1710++ g_dbus_method_invocation_get_sender (invocation)) == 0) {
1711++ cancel_current_search (self);
1712++ }
1713++
1714++ gs_shell_search_provider2_complete_xubuntu_cancel (skeleton, invocation);
1715++
1716++ return TRUE;
1717++}
1718++
1719+ gboolean
1720+ gs_shell_search_provider_register (GsShellSearchProvider *self,
1721+ GDBusConnection *connection,
1722+@@ -355,10 +400,7 @@ search_provider_dispose (GObject *obj)
1723+ {
1724+ GsShellSearchProvider *self = GS_SHELL_SEARCH_PROVIDER (obj);
1725+
1726+- if (self->cancellable != NULL) {
1727+- g_cancellable_cancel (self->cancellable);
1728+- g_clear_object (&self->cancellable);
1729+- }
1730++ cancel_current_search (self);
1731+
1732+ if (self->metas_cache != NULL) {
1733+ g_hash_table_destroy (self->metas_cache);
1734+@@ -393,6 +435,8 @@ gs_shell_search_provider_init (GsShellSearchProvider *self)
1735+ G_CALLBACK (handle_activate_result), self);
1736+ g_signal_connect (self->skeleton, "handle-launch-search",
1737+ G_CALLBACK (handle_launch_search), self);
1738++ g_signal_connect (self->skeleton, "handle-xubuntu-cancel",
1739++ G_CALLBACK (handle_xubuntu_cancel), self);
1740+ }
1741+
1742+ static void
1743+diff --git a/src/shell-search-provider-dbus-interfaces.xml b/src/shell-search-provider-dbus-interfaces.xml
1744+index f6840e2c..4529c1e8 100644
1745+--- a/src/shell-search-provider-dbus-interfaces.xml
1746++++ b/src/shell-search-provider-dbus-interfaces.xml
1747+@@ -40,5 +40,6 @@
1748+ <arg type='as' name='Terms' direction='in' />
1749+ <arg type='u' name='Timestamp' direction='in' />
1750+ </method>
1751++ <method name = 'XUbuntuCancel' />
1752+ </interface>
1753+ </node>
1754+--
1755+2.17.1
1756+
1757diff --git a/debian/patches/series b/debian/patches/series
1758index fba8a0a..91ad116 100644
1759--- a/debian/patches/series
1760+++ b/debian/patches/series
1761@@ -1,9 +1,18 @@
1762 # Patches from upstream
1763+<<<<<<< debian/patches/series
1764 0001-details-page-Add-support-for-verified-developers.patch
1765 0002-snap-Set-verified-developer-flag.patch
1766 0001-lib-Allow-opening-CAB-files-that-resolve-more-than-o.patch
1767 0001-Use-correct-boolean-type-for-GsPluginJob-interactive.patch
1768 0001-Revert-ef15f51d.patch
1769+=======
1770+0001-snap-Scale-embedded-snap-icons-to-64x64.patch
1771+0001-snap-Only-load-icons-once.patch
1772+0001-Fix-gs_app_set_state_recover-not-working-during-purc.patch
1773+0001-snap-plugin-segfault.patch
1774+0001-Set-reboot-notifications-as-urgent-to-avoid-them-tim.patch
1775+0001-lib-Allow-opening-CAB-files-that-resolve-more-than-o.patch
1776+>>>>>>> debian/patches/series
1777
1778 # Patches from the ubuntu* branch
1779 0001-Construct-the-Software-Sources-menu-item-dynamically.patch
1780@@ -20,6 +29,7 @@
1781 0012-Don-t-use-colour-to-differentiate-between-free-and-p.patch
1782 0013-overview-page-Rotate-featured-apps.patch
1783 0014-Add-a-basic-permissions-system.patch
1784+<<<<<<< debian/patches/series
1785 0015-build-Translate-Ubuntu-s-.desktop-file.patch
1786 0016-snap-Use-default-icon-if-none-provided.patch
1787 0017-snap-Make-snaps-purchasable.patch
1788@@ -30,3 +40,17 @@
1789 0022-snap-Use-wide-scope-when-searching.patch
1790 0023-snap-Don-t-treat-auth-cancellation-as-an-error.patch
1791 0024-shell-search-provider-implement-XUbuntuCancel.patch
1792+=======
1793+0015-Don-t-reject-unexpected-state-changes-external-event.patch
1794+0016-build-Translate-Ubuntu-s-.desktop-file.patch
1795+0017-snap-Use-default-icon-if-none-provided.patch
1796+0018-snap-Make-snaps-purchasable.patch
1797+0019-Disable-paid-snap-support-unless-env-variable-GNOME_.patch
1798+0020-Show-verified-developers.patch
1799+0021-snap-Use-wide-scope-when-searching.patch
1800+0022-Delay-startup-of-GNOME-Software-to-allow-the-Shell-t.patch
1801+0023-Revert-Revert-flatpak-Use-list-of-related-apps-for-i.patch
1802+0024-flatpak-Check-if-a-related-app-is-installed-even-whe.patch
1803+0025-flatpak-Include-related-refs-to-the-app-s-runtime-on.patch
1804+0026-shell-search-provider-implement-XUbuntuCancel.patch
1805+>>>>>>> debian/patches/series

Subscribers

People subscribed via source and target branches