Update to 3.18.1

This commit is contained in:
Kalev Lember 2015-10-13 14:34:04 +02:00
parent d610f2959c
commit 676b0d076e
7 changed files with 30 additions and 158 deletions

1
.gitignore vendored
View File

@ -48,3 +48,4 @@
/gnome-software-3.17.91.tar.xz
/gnome-software-3.17.92.tar.xz
/gnome-software-3.18.0.tar.xz
/gnome-software-3.18.1.tar.xz

View File

@ -1,42 +0,0 @@
From 69defb21e0236bcecfe0870e3e2b2d9fd266ddcf Mon Sep 17 00:00:00 2001
From: Rafal Luzynski <digitalfreak@lingonborough.com>
Date: Sun, 27 Sep 2015 01:57:50 +0200
Subject: [PATCH] Use gs_plugin_add_app(), avoid dangling pointer
The gs_plugin_loader_run_refine() function assumes that the list
holds a reference to each of its apps and it unrefs each app when
removing. This causes a dangling pointer and severe memory corruption
issues if a reference is not held. gs_plugin_add_app() is a helper
which ensures a correct reference management and it has been used
correctly everywhere except install, remove and rating action.
https://bugzilla.gnome.org/show_bug.cgi?id=755664
---
src/gs-plugin-loader.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/gs-plugin-loader.c b/src/gs-plugin-loader.c
index 5e910d9..f43a74f 100644
--- a/src/gs-plugin-loader.c
+++ b/src/gs-plugin-loader.c
@@ -2312,7 +2312,7 @@ gs_plugin_loader_app_action_thread_cb (GTask *task,
GPtrArray *addons;
gboolean ret;
guint i;
- g_autoptr(GList) list = NULL;
+ g_autoptr(GsAppList) list = NULL;
/* add to list */
g_mutex_lock (&priv->pending_apps_mutex);
@@ -2340,7 +2340,7 @@ gs_plugin_loader_app_action_thread_cb (GTask *task,
}
/* refine again to make sure we pick up new source id */
- list = g_list_prepend (list, state->app);
+ gs_plugin_add_app (&list, state->app);
ret = gs_plugin_loader_run_refine (plugin_loader,
state->function_name,
&list,
--
2.5.0

View File

@ -1,82 +0,0 @@
From 381ed8efca0139a14bd1f220b6e9a432663d335e Mon Sep 17 00:00:00 2001
From: Rafal Luzynski <digitalfreak@lingonborough.com>
Date: Mon, 28 Sep 2015 11:52:38 +0200
Subject: [PATCH] shell details: Disconnect old signal handlers before setting
new app
While at this, also make sure to connect to notify::progress not only
when installing from repos, but when installing local rpms as well.
https://bugzilla.gnome.org/show_bug.cgi?id=755664
---
src/gs-shell-details.c | 21 +++++++++++++++++----
1 file changed, 17 insertions(+), 4 deletions(-)
diff --git a/src/gs-shell-details.c b/src/gs-shell-details.c
index 477a949..57c79b0 100644
--- a/src/gs-shell-details.c
+++ b/src/gs-shell-details.c
@@ -911,8 +911,12 @@ gs_shell_details_filename_to_app_cb (GObject *source,
g_autoptr(GError) error = NULL;
g_autofree gchar *tmp = NULL;
- if (self->app != NULL)
+ /* save app */
+ if (self->app != NULL) {
+ g_signal_handlers_disconnect_by_func (self->app, gs_shell_details_notify_state_changed_cb, self);
+ g_signal_handlers_disconnect_by_func (self->app, gs_shell_details_progress_changed_cb, self);
g_object_unref (self->app);
+ }
self->app = gs_plugin_loader_filename_to_app_finish(plugin_loader,
res,
&error);
@@ -938,7 +942,6 @@ gs_shell_details_filename_to_app_cb (GObject *source,
return;
}
- /* save app */
g_signal_connect_object (self->app, "notify::state",
G_CALLBACK (gs_shell_details_notify_state_changed_cb),
self, 0);
@@ -948,6 +951,9 @@ gs_shell_details_filename_to_app_cb (GObject *source,
g_signal_connect_object (self->app, "notify::licence",
G_CALLBACK (gs_shell_details_notify_state_changed_cb),
self, 0);
+ g_signal_connect_object (self->app, "notify::progress",
+ G_CALLBACK (gs_shell_details_progress_changed_cb),
+ self, 0);
/* print what we've got */
tmp = gs_app_to_string (self->app);
@@ -1019,8 +1025,11 @@ gs_shell_details_set_app (GsShellDetails *self, GsApp *app)
gs_shell_details_set_state (self, GS_SHELL_DETAILS_STATE_LOADING);
/* save app */
- if (self->app != NULL)
+ if (self->app != NULL) {
+ g_signal_handlers_disconnect_by_func (self->app, gs_shell_details_notify_state_changed_cb, self);
+ g_signal_handlers_disconnect_by_func (self->app, gs_shell_details_progress_changed_cb, self);
g_object_unref (self->app);
+ }
self->app = g_object_ref (app);
g_signal_connect_object (self->app, "notify::state",
G_CALLBACK (gs_shell_details_notify_state_changed_cb),
@@ -1271,10 +1280,14 @@ gs_shell_details_dispose (GObject *object)
{
GsShellDetails *self = GS_SHELL_DETAILS (object);
+ if (self->app != NULL) {
+ g_signal_handlers_disconnect_by_func (self->app, gs_shell_details_notify_state_changed_cb, self);
+ g_signal_handlers_disconnect_by_func (self->app, gs_shell_details_progress_changed_cb, self);
+ g_clear_object (&self->app);
+ }
g_clear_object (&self->builder);
g_clear_object (&self->plugin_loader);
g_clear_object (&self->cancellable);
- g_clear_object (&self->app);
g_clear_object (&self->session);
G_OBJECT_CLASS (gs_shell_details_parent_class)->dispose (object);
--
2.5.0

View File

@ -1,28 +1,28 @@
From be22ea45da51abe5000e92dbbebeb3701b316fef Mon Sep 17 00:00:00 2001
From 763452ac6491371e67cd42de53f59518bb191aa3 Mon Sep 17 00:00:00 2001
From: Kalev Lember <kalevlember@gmail.com>
Date: Mon, 25 May 2015 23:13:44 +0200
Subject: [PATCH] Adapt to gnome-terminal desktop file rename
Subject: [PATCH 2/2] Adapt to gnome-terminal desktop file rename
The upstream desktop file is gnome-terminal.desktop, but it's renamed to
org.gnome.Terminal.desktop in Fedora.
---
data/modulesets/system.xml | 2 +-
src/gs-folders.c | 2 +-
src/gs-folders.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/data/modulesets/system.xml b/data/modulesets/system.xml
index ddba283..d77d145 100644
index 780fba2..a50987a 100644
--- a/data/modulesets/system.xml
+++ b/data/modulesets/system.xml
@@ -63,7 +63,6 @@
@@ -7,7 +7,6 @@
<module type="application">gnome-calculator.desktop</module>
<module type="application">gnome-control-center.desktop</module>
<module type="application">gnome-disks.desktop</module>
<module type="application">gnome-system-monitor.desktop</module>
- <module type="application">gnome-terminal.desktop</module>
<module type="application">gucharmap.desktop</module>
<module type="application">org.gnome.baobab.desktop</module>
<module type="application">org.gnome.Characters.desktop</module>
<module type="application">org.gnome.Contacts.desktop</module>
@@ -72,6 +71,7 @@
@@ -17,6 +16,7 @@
<module type="application">org.gnome.Nautilus.desktop</module>
<module type="application">org.gnome.Screenshot.desktop</module>
<module type="application">org.gnome.Software.desktop</module>
@ -31,10 +31,10 @@ index ddba283..d77d145 100644
<module type="application">yelp.desktop</module>
</moduleset>
diff --git a/src/gs-folders.c b/src/gs-folders.c
index ebb7ca2..5bd5fd1 100644
index da490be..753e274 100644
--- a/src/gs-folders.c
+++ b/src/gs-folders.c
@@ -558,7 +558,7 @@ gs_folders_convert (void)
@@ -566,7 +566,7 @@ gs_folders_convert (void)
"org.gnome.Screenshot.desktop",
"gnome-system-log.desktop",
"gnome-system-monitor.desktop",
@ -44,5 +44,5 @@ index ebb7ca2..5bd5fd1 100644
"gucharmap.desktop",
"seahorse.desktop",
--
2.4.0
2.5.0

View File

@ -1,20 +1,19 @@
From d3c50dd3511aa8f82b60b5bfe77fda2f158260df Mon Sep 17 00:00:00 2001
From 046d6180e3d7d47649a055fa57f717ba9f59f1c1 Mon Sep 17 00:00:00 2001
From: Kalev Lember <kalevlember@gmail.com>
Date: Mon, 25 May 2015 23:11:03 +0200
Subject: [PATCH] Downstream patch to the list of unremovable system apps
Subject: [PATCH 1/2] Downstream patch to the list of unremovable system apps
Replace Epiphany with Firefox, and drop gnome-dictionary and
gnome-system-log that aren't included in the default Fedora Workstation
install.
Replace Epiphany with Firefox; drop gnome-dictionary that isn't included
in the default Fedora Workstation install.
---
data/modulesets/system.xml | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
data/modulesets/system.xml | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/data/modulesets/system.xml b/data/modulesets/system.xml
index fae7fb4..d8e0c16 100644
index d88a14e..780fba2 100644
--- a/data/modulesets/system.xml
+++ b/data/modulesets/system.xml
@@ -2,18 +2,16 @@
@@ -2,8 +2,8 @@
<moduleset name="system">
<module type="application">empathy.desktop</module>
<module type="application">eog.desktop</module>
@ -23,17 +22,15 @@ index fae7fb4..d8e0c16 100644
+ <module type="application">firefox.desktop</module>
<module type="application">gnome-calculator.desktop</module>
<module type="application">gnome-control-center.desktop</module>
<module type="application">gnome-disks.desktop</module>
- <module type="application">gnome-system-log.desktop</module>
<module type="application">gnome-system-monitor.desktop</module>
<module type="application">gnome-terminal.desktop</module>
<module type="application">gucharmap.desktop</module>
@@ -11,7 +11,6 @@
<module type="application">org.gnome.baobab.desktop</module>
<module type="application">org.gnome.Characters.desktop</module>
<module type="application">org.gnome.Contacts.desktop</module>
- <module type="application">org.gnome.Dictionary.desktop</module>
<module type="application">org.gnome.DiskUtility.desktop</module>
<module type="application">org.gnome.font-viewer.desktop</module>
<module type="application">org.gnome.gedit.desktop</module>
<module type="application">org.gnome.Nautilus.desktop</module>
--
2.4.0
2.5.0

View File

@ -8,8 +8,8 @@
Summary: A software center for GNOME
Name: gnome-software
Version: 3.18.0
Release: 2%{?dist}
Version: 3.18.1
Release: 1%{?dist}
License: GPLv2+
Group: Applications/System
URL: https://wiki.gnome.org/Apps/Software
@ -19,9 +19,6 @@ Source0: http://download.gnome.org/sources/gnome-software/3.18/%{name}-%{versi
Patch0: gnome-software-system-apps.patch
# Downstream patch to adapt to gnome-terminal desktop file rename
Patch1: gnome-software-adapt-to-gnome-terminal-rename.patch
# Backported upstream fixes
Patch2: 0001-Use-gs_plugin_add_app-avoid-dangling-pointer.patch
Patch3: 0001-shell-details-Disconnect-old-signal-handlers-before-.patch
Requires: appstream-data
%if 0%{?fedora}
@ -64,8 +61,6 @@ and update software in the GNOME desktop.
%setup -q
%patch0 -p1 -b .system-apps
%patch1 -p1 -b .gnome-terminal
%patch2 -p1
%patch3 -p1
%build
%configure --disable-static --disable-silent-rules
@ -122,6 +117,9 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
%{_datadir}/gnome-software/modulesets.d/*.xml
%changelog
* Tue Oct 13 2015 Kalev Lember <klember@redhat.com> - 3.18.1-1
- Update to 3.18.1
* Wed Oct 07 2015 Kalev Lember <klember@redhat.com> - 3.18.0-2
- Backport two crasher fixes from upstream

View File

@ -1 +1 @@
1bce37d2eadf6cdd3d593762c697db19 gnome-software-3.18.0.tar.xz
219107f967712484bd3cacabeea32ae1 gnome-software-3.18.1.tar.xz