Hello community,

here is the log from the commit of package gnome-software for openSUSE:Factory 
checked in at 2018-01-25 12:38:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnome-software (Old)
 and      /work/SRC/openSUSE:Factory/.gnome-software.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gnome-software"

Thu Jan 25 12:38:02 2018 rev:50 rq:568066 version:3.26.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/gnome-software/gnome-software.changes    
2018-01-16 09:28:39.580186265 +0100
+++ /work/SRC/openSUSE:Factory/.gnome-software.new/gnome-software.changes       
2018-01-25 12:38:03.641610027 +0100
@@ -1,0 +2,15 @@
+Fri Jan 19 12:10:00 UTC 2018 - bjorn....@gmail.com
+
+- Update to version 3.26.5:
+  + Add missing locking to gs_plugin_cache_remove(), fixing a
+    possible crash.
+  + Fix various memory leaks spotted by valgrind.
+  + Fix a possible crash triggered by the fwupd plugin.
+  + Do not emit critical warnings when reviewing OS Updates.
+  + fwupd: Use the custom user-agent when downloading firmware.
+  + overview page: Fix a crash when we have no featured apps.
+  + packagekit: Implement repository enabling.
+  + Fix hover CSS for "unknown" and "nonfree" license buttons.
+  + Updated translations.
+
+-------------------------------------------------------------------

Old:
----
  gnome-software-3.26.4.tar.xz

New:
----
  gnome-software-3.26.5.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gnome-software.spec ++++++
--- /var/tmp/diff_new_pack.icdade/_old  2018-01-25 12:38:04.385575295 +0100
+++ /var/tmp/diff_new_pack.icdade/_new  2018-01-25 12:38:04.385575295 +0100
@@ -18,7 +18,7 @@
 
 %define gs_plugin_api 11
 Name:           gnome-software
-Version:        3.26.4
+Version:        3.26.5
 Release:        0
 Summary:        GNOME Software Store
 License:        GPL-2.0+

++++++ gnome-software-3.26.4.tar.xz -> gnome-software-3.26.5.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-software-3.26.4/NEWS 
new/gnome-software-3.26.5/NEWS
--- old/gnome-software-3.26.4/NEWS      2017-12-17 09:58:55.000000000 +0100
+++ new/gnome-software-3.26.5/NEWS      2018-01-08 21:27:53.000000000 +0100
@@ -1,3 +1,19 @@
+Version 3.26.5
+~~~~~~~~~~~~~~
+Released: 2018-01-08
+
+This is a stable release with the following changes:
+ * Add missing locking to gs_plugin_cache_remove(), fixing a possible crash
+ * Fix various memory leaks spotted by valgrind
+ * Fix a possible crash triggered by the fwupd plugin
+ * Do not emit critical warnings when reviewing OS Updates
+ * fwupd: Use the custom user-agent when downloading firmware
+ * overview page: Fix a crash when we have no featured apps
+ * packagekit: Implement repository enabling
+ * Fix hover CSS for "unknown" and "nonfree" license buttons
+
+This release also updates translations.
+
 Version 3.26.4
 ~~~~~~~~~~~~~~
 Released: 2017-12-17
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-software-3.26.4/RELEASE 
new/gnome-software-3.26.5/RELEASE
--- old/gnome-software-3.26.4/RELEASE   2017-12-17 09:58:55.000000000 +0100
+++ new/gnome-software-3.26.5/RELEASE   2018-01-08 21:27:53.000000000 +0100
@@ -2,14 +2,14 @@
 
 Write release entries:
 
-git log --format="%s" --cherry-pick --right-only GNOME_SOFTWARE_3_26_3... | 
grep -i -v trivial | grep -v Merge | sort | uniq
+git log --format="%s" --cherry-pick --right-only 3.26.4... | grep -i -v 
trivial | grep -v Merge | sort | uniq
 Add any user visible changes into 
data/appdata/org.gnome.Software.appdata.xml.in
 
 Generate NEWS file:
 appstream-util appdata-to-news data/appdata/org.gnome.Software.appdata.xml.in 
> NEWS
 
-git commit -a -m "Release version 3.26.4"
-git tag -s GNOME_SOFTWARE_3_26_4 -m "==== Version 3.26.4 ===="
+git commit -a -m "Release version 3.26.5"
+git tag -s 3.26.5 -m "==== Version 3.26.5 ===="
 <enter password>
 
 ninja-build dist
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gnome-software-3.26.4/data/appdata/org.gnome.Software.appdata.xml.in 
new/gnome-software-3.26.5/data/appdata/org.gnome.Software.appdata.xml.in
--- old/gnome-software-3.26.4/data/appdata/org.gnome.Software.appdata.xml.in    
2017-12-17 09:58:55.000000000 +0100
+++ new/gnome-software-3.26.5/data/appdata/org.gnome.Software.appdata.xml.in    
2018-01-08 21:27:53.000000000 +0100
@@ -46,6 +46,24 @@
    Validate with `appstream-util validate *.appdata.xml`
   -->
   <releases>
+    <release date="2018-01-08" version="3.26.5">
+      <description>
+        <p>
+          This is a stable release with the following changes:
+        </p>
+        <ul>
+          <li>Add missing locking to gs_plugin_cache_remove(), fixing a 
possible crash</li>
+          <li>Fix various memory leaks spotted by valgrind</li>
+          <li>Fix a possible crash triggered by the fwupd plugin</li>
+          <li>Do not emit critical warnings when reviewing OS Updates</li>
+          <li>fwupd: Use the custom user-agent when downloading firmware</li>
+          <li>overview page: Fix a crash when we have no featured apps</li>
+          <li>packagekit: Implement repository enabling</li>
+          <li>Fix hover CSS for "unknown" and "nonfree" license buttons</li>
+        </ul>
+        <p>This release also updates translations.</p>
+      </description>
+    </release>
     <release date="2017-12-17" version="3.26.4">
       <description>
         <p>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-software-3.26.4/lib/gs-app.c 
new/gnome-software-3.26.5/lib/gs-app.c
--- old/gnome-software-3.26.4/lib/gs-app.c      2017-12-17 09:58:55.000000000 
+0100
+++ new/gnome-software-3.26.5/lib/gs-app.c      2018-01-08 21:27:53.000000000 
+0100
@@ -555,7 +555,10 @@
                                  gs_price_get_amount (priv->price));
        for (i = 0; i < priv->related->len; i++) {
                GsApp *app_tmp = g_ptr_array_index (priv->related, i);
-               gs_app_kv_lpad (str, "related", gs_app_get_unique_id (app_tmp));
+               const gchar *id = gs_app_get_unique_id (app_tmp);
+               if (id == NULL)
+                       id = gs_app_get_source_default (app_tmp);
+               gs_app_kv_lpad (str, "related", id);
        }
        if (priv->history->len > 0)
                gs_app_kv_printf (str, "history", "%u", priv->history->len);
@@ -3953,6 +3956,7 @@
        g_clear_pointer (&priv->history, g_ptr_array_unref);
        g_clear_pointer (&priv->related, g_ptr_array_unref);
        g_clear_pointer (&priv->screenshots, g_ptr_array_unref);
+       g_clear_pointer (&priv->review_ratings, g_array_unref);
        g_clear_pointer (&priv->reviews, g_ptr_array_unref);
        g_clear_pointer (&priv->provides, g_ptr_array_unref);
        g_clear_pointer (&priv->icons, g_ptr_array_unref);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-software-3.26.4/lib/gs-plugin-loader.c 
new/gnome-software-3.26.5/lib/gs-plugin-loader.c
--- old/gnome-software-3.26.4/lib/gs-plugin-loader.c    2017-12-17 
09:58:55.000000000 +0100
+++ new/gnome-software-3.26.5/lib/gs-plugin-loader.c    2018-01-08 
21:27:53.000000000 +0100
@@ -2803,8 +2803,6 @@
        priv->soup_session = soup_session_new_with_options 
(SOUP_SESSION_USER_AGENT, gs_user_agent (),
                                                            
SOUP_SESSION_TIMEOUT, 10,
                                                            NULL);
-       soup_session_remove_feature_by_type (priv->soup_session,
-                                            SOUP_TYPE_CONTENT_DECODER);
 
        /* get the locale without the various UTF-8 suffixes */
        tmp = g_getenv ("GS_SELF_TEST_LOCALE");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-software-3.26.4/lib/gs-plugin-private.h 
new/gnome-software-3.26.5/lib/gs-plugin-private.h
--- old/gnome-software-3.26.4/lib/gs-plugin-private.h   2017-12-17 
09:58:55.000000000 +0100
+++ new/gnome-software-3.26.5/lib/gs-plugin-private.h   2018-01-08 
21:27:53.000000000 +0100
@@ -61,8 +61,6 @@
                                                         AsProfile      
*profile);
 void            gs_plugin_set_auth_array               (GsPlugin       *plugin,
                                                         GPtrArray      
*auth_array);
-void            gs_plugin_set_soup_session             (GsPlugin       *plugin,
-                                                        SoupSession    
*soup_session);
 void            gs_plugin_set_global_cache             (GsPlugin       *plugin,
                                                         GsAppList      
*global_cache);
 void            gs_plugin_set_running_other            (GsPlugin       *plugin,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-software-3.26.4/lib/gs-plugin.c 
new/gnome-software-3.26.5/lib/gs-plugin.c
--- old/gnome-software-3.26.4/lib/gs-plugin.c   2017-12-17 09:58:55.000000000 
+0100
+++ new/gnome-software-3.26.5/lib/gs-plugin.c   2018-01-08 21:27:53.000000000 
+0100
@@ -759,7 +759,7 @@
  * gs_plugin_get_soup_session:
  * @plugin: a #GsPlugin
  *
- * Gets the soup session that plugins can use when downloading.
+ * Gets the soup session that this plugin can use when downloading.
  *
  * Returns: the #SoupSession
  *
@@ -777,7 +777,7 @@
  * @plugin: a #GsPlugin
  * @soup_session: a #SoupSession
  *
- * Sets the soup session that plugins will use when downloading.
+ * Sets the soup session that this plugin will use when downloading.
  *
  * Since: 3.22
  **/
@@ -1496,6 +1496,7 @@
 gs_plugin_cache_remove (GsPlugin *plugin, const gchar *key)
 {
        GsPluginPrivate *priv = gs_plugin_get_instance_private (plugin);
+       g_autoptr(GMutexLocker) locker = g_mutex_locker_new 
(&priv->cache_mutex);
 
        g_return_if_fail (GS_IS_PLUGIN (plugin));
        g_return_if_fail (key != NULL);
@@ -1539,6 +1540,8 @@
        if (key == NULL)
                key = gs_app_get_unique_id (app);
 
+       g_return_if_fail (key != NULL);
+
        /* global, so using internal unique_id */
        if (gs_plugin_has_flags (plugin, GS_PLUGIN_FLAGS_GLOBAL_CACHE)) {
                if (!as_utils_unique_id_valid (key)) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-software-3.26.4/lib/gs-plugin.h 
new/gnome-software-3.26.5/lib/gs-plugin.h
--- old/gnome-software-3.26.4/lib/gs-plugin.h   2017-12-17 09:58:55.000000000 
+0100
+++ new/gnome-software-3.26.5/lib/gs-plugin.h   2018-01-08 21:27:53.000000000 
+0100
@@ -85,6 +85,8 @@
 const gchar    *gs_plugin_get_language                 (GsPlugin       
*plugin);
 AsProfile      *gs_plugin_get_profile                  (GsPlugin       
*plugin);
 SoupSession    *gs_plugin_get_soup_session             (GsPlugin       
*plugin);
+void            gs_plugin_set_soup_session             (GsPlugin       *plugin,
+                                                        SoupSession    
*soup_session);
 void            gs_plugin_add_auth                     (GsPlugin       *plugin,
                                                         GsAuth         *auth);
 GsAuth         *gs_plugin_get_auth_by_id               (GsPlugin       *plugin,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-software-3.26.4/lib/gs-price.c 
new/gnome-software-3.26.5/lib/gs-price.c
--- old/gnome-software-3.26.4/lib/gs-price.c    2017-12-17 09:58:55.000000000 
+0100
+++ new/gnome-software-3.26.5/lib/gs-price.c    2018-01-08 21:27:53.000000000 
+0100
@@ -126,6 +126,8 @@
        } else if (g_strcmp0 (price->currency, "USD") == 0) {
                return g_strdup_printf (_("US$%.2f"), price->amount);
        } else {
+               /* Translators: %s is the currency, and %f is the amount.
+                * You can switch the order by using ā€œ%2$f %1$sā€ instead. */
                return g_strdup_printf (_("%s %f"), price->currency, 
price->amount);
        }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-software-3.26.4/meson.build 
new/gnome-software-3.26.5/meson.build
--- old/gnome-software-3.26.4/meson.build       2017-12-17 09:58:55.000000000 
+0100
+++ new/gnome-software-3.26.5/meson.build       2018-01-08 21:27:53.000000000 
+0100
@@ -1,5 +1,5 @@
 project('gnome-software', 'c',
-  version : '3.26.4',
+  version : '3.26.5',
   license : 'GPL-2.0+',
   default_options : ['warning_level=1', 'c_std=c99'],
   meson_version : '>=0.37.0'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gnome-software-3.26.4/plugins/fwupd/gs-plugin-fwupd.c 
new/gnome-software-3.26.5/plugins/fwupd/gs-plugin-fwupd.c
--- old/gnome-software-3.26.4/plugins/fwupd/gs-plugin-fwupd.c   2017-12-17 
09:58:55.000000000 +0100
+++ new/gnome-software-3.26.5/plugins/fwupd/gs-plugin-fwupd.c   2018-01-08 
21:27:53.000000000 +0100
@@ -102,6 +102,11 @@
 gs_plugin_initialize (GsPlugin *plugin)
 {
        GsPluginData *priv = gs_plugin_alloc_data (plugin, 
sizeof(GsPluginData));
+#if FWUPD_CHECK_VERSION(1,0,3)
+       g_autofree gchar *user_agent = NULL;
+#endif
+       g_autoptr(SoupSession) soup_session = NULL;
+
        priv->client = fwupd_client_new ();
        priv->to_download = g_ptr_array_new_with_free_func (g_free);
        priv->to_ignore = g_ptr_array_new_with_free_func (g_free);
@@ -120,6 +125,22 @@
        }
 #endif
 
+#if FWUPD_CHECK_VERSION(1,0,3)
+       /* use a custom user agent to provide the fwupd version */
+       user_agent = fwupd_build_user_agent (PACKAGE_NAME, PACKAGE_VERSION);
+       soup_session = soup_session_new_with_options (SOUP_SESSION_USER_AGENT, 
user_agent,
+                                                     SOUP_SESSION_TIMEOUT, 10,
+                                                     NULL);
+#else
+       /* use a custom session with the content decoder turned off */
+       soup_session = soup_session_new_with_options (SOUP_SESSION_USER_AGENT, 
gs_user_agent (),
+                                                     SOUP_SESSION_TIMEOUT, 10,
+                                                     NULL);
+#endif
+       soup_session_remove_feature_by_type (soup_session,
+                                            SOUP_TYPE_CONTENT_DECODER);
+       gs_plugin_set_soup_session (plugin, soup_session);
+
        /* set name of MetaInfo file */
        gs_plugin_set_appstream_id (plugin, "org.gnome.Software.Plugin.Fwupd");
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gnome-software-3.26.4/plugins/packagekit/gs-plugin-packagekit.c 
new/gnome-software-3.26.5/plugins/packagekit/gs-plugin-packagekit.c
--- old/gnome-software-3.26.4/plugins/packagekit/gs-plugin-packagekit.c 
2017-12-17 09:58:55.000000000 +0100
+++ new/gnome-software-3.26.5/plugins/packagekit/gs-plugin-packagekit.c 
2018-01-08 21:27:53.000000000 +0100
@@ -261,6 +261,35 @@
        return TRUE;
 }
 
+static gboolean
+gs_plugin_repo_enable (GsPlugin *plugin,
+                       GsApp *repo,
+                       GCancellable *cancellable,
+                       GError **error)
+{
+       GsPluginData *priv = gs_plugin_get_data (plugin);
+       ProgressData data;
+       g_autoptr(PkResults) results = NULL;
+
+       data.app = repo;
+       data.plugin = plugin;
+       data.ptask = NULL;
+
+       /* do sync call */
+       gs_plugin_status_update (plugin, repo, GS_PLUGIN_STATUS_WAITING);
+       results = pk_client_repo_enable (PK_CLIENT (priv->task),
+                                        gs_app_get_id (repo),
+                                        TRUE,
+                                        cancellable,
+                                        gs_plugin_packagekit_progress_cb, 
&data,
+                                        error);
+       if (!gs_plugin_packagekit_results_valid (results, error)) {
+               gs_utils_error_add_unique_id (error, repo);
+               return FALSE;
+       }
+       return TRUE;
+}
+
 gboolean
 gs_plugin_app_install (GsPlugin *plugin,
                       GsApp *app,
@@ -287,7 +316,13 @@
                       gs_plugin_get_name (plugin)) != 0)
                return TRUE;
 
-       /* we enable the repo */
+       /* enable repo */
+       if (gs_app_get_kind (app) == AS_APP_KIND_SOURCE) {
+               return gs_plugin_repo_enable (plugin, app,
+                                             cancellable, error);
+       }
+
+       /* enable the repo where the unavailable app is coming from */
        if (gs_app_get_state (app) == AS_APP_STATE_UNAVAILABLE) {
 
                /* get everything up front we need */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gnome-software-3.26.4/plugins/shell-extensions/gs-plugin-shell-extensions.c 
new/gnome-software-3.26.5/plugins/shell-extensions/gs-plugin-shell-extensions.c
--- 
old/gnome-software-3.26.4/plugins/shell-extensions/gs-plugin-shell-extensions.c 
    2017-12-17 09:58:55.000000000 +0100
+++ 
new/gnome-software-3.26.5/plugins/shell-extensions/gs-plugin-shell-extensions.c 
    2018-01-08 21:27:53.000000000 +0100
@@ -598,7 +598,7 @@
        }
 
        /* load extensions */
-       apps = g_ptr_array_new ();
+       apps = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
        json_extensions = json_object_get_member (json_item, "extensions");
        if (json_extensions == NULL) {
                g_set_error_literal (error,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-software-3.26.4/src/gs-folders.c 
new/gnome-software-3.26.5/src/gs-folders.c
--- old/gnome-software-3.26.4/src/gs-folders.c  2017-12-17 09:58:55.000000000 
+0100
+++ new/gnome-software-3.26.5/src/gs-folders.c  2018-01-08 21:27:53.000000000 
+0100
@@ -169,11 +169,11 @@
 {
        GsFolder *folder;
        guint i, j;
-       gchar *path;
        gboolean translate;
        GHashTableIter iter;
        gchar *app;
        gchar *category;
+       g_autofree gchar *path = NULL;
        g_auto(GStrv) ids = NULL;
 
        folders->folders = g_hash_table_new_full (g_str_hash, g_str_equal, 
NULL, (GDestroyNotify)gs_folder_free);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-software-3.26.4/src/gs-overview-page.c 
new/gnome-software-3.26.5/src/gs-overview-page.c
--- old/gnome-software-3.26.4/src/gs-overview-page.c    2017-12-17 
09:58:55.000000000 +0100
+++ new/gnome-software-3.26.5/src/gs-overview-page.c    2018-01-08 
21:27:53.000000000 +0100
@@ -368,12 +368,6 @@
        if (g_error_matches (error, GS_PLUGIN_ERROR, GS_PLUGIN_ERROR_CANCELLED))
                goto out;
 
-       if (g_getenv ("GNOME_SOFTWARE_FEATURED") == NULL) {
-               /* Don't show apps from the category that's currently featured 
as the category of the day */
-               gs_app_list_filter (list, filter_category, 
priv->category_of_day);
-               gs_app_list_randomize (list);
-       }
-
        gtk_widget_hide (priv->featured_heading);
        gs_container_remove_all (GTK_CONTAINER (priv->bin_featured));
        if (list == NULL) {
@@ -387,6 +381,12 @@
                goto out;
        }
 
+       if (g_getenv ("GNOME_SOFTWARE_FEATURED") == NULL) {
+               /* Don't show apps from the category that's currently featured 
as the category of the day */
+               gs_app_list_filter (list, filter_category, 
priv->category_of_day);
+               gs_app_list_randomize (list);
+       }
+
        /* at the moment, we only care about the first app */
        app = gs_app_list_index (list, 0);
        tile = gs_feature_tile_new (app);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-software-3.26.4/src/gtk-style.css 
new/gnome-software-3.26.5/src/gtk-style.css
--- old/gnome-software-3.26.4/src/gtk-style.css 2017-12-17 09:58:55.000000000 
+0100
+++ new/gnome-software-3.26.5/src/gtk-style.css 2018-01-08 21:27:53.000000000 
+0100
@@ -122,11 +122,11 @@
        background-color: #dbdbdb;
        border-color: #bbbbbb;
 }
-.details-license-nonfree:hover {
+.details-license-unknown:hover {
        background-color: #eeeeee;
        border-color: #d5d5d5;
 }
-.details-license-nonfree:backdrop {
+.details-license-unknown:backdrop {
        border-color: #dbdbdb;
 }
 


Reply via email to