Hello community, here is the log from the commit of package gnome-software for openSUSE:Factory checked in at 2018-01-16 09:28:25 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gnome-software (Old) and /work/SRC/openSUSE:Factory/.gnome-software.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnome-software" Tue Jan 16 09:28:25 2018 rev:49 rq:562585 version:3.26.4 Changes: -------- --- /work/SRC/openSUSE:Factory/gnome-software/gnome-software.changes 2017-12-06 08:49:49.492235413 +0100 +++ /work/SRC/openSUSE:Factory/.gnome-software.new/gnome-software.changes 2018-01-16 09:28:39.580186265 +0100 @@ -1,0 +2,20 @@ +Mon Jan 8 15:53:22 UTC 2018 - zai...@opensuse.org + +- Update to version 3.26.4: + + Fix crashes in the repos plugin due to missing locking. + + Work around Firefox deleting rpm/deb files downloaded to /tmp + when closing. + + Do not require the user to keep clicking 'More reviews' after + each click. + + Fix a critical when updating (flatpak) packages live. + + fwupd: Prepend the vendor name to the device name if not + included. + + Improve SPDX ID parsing when working out if it is 'free'. + + packagekit: Do not crash when getting an invalid ID from + PackageKit. + + Do not crash when closing the source dialog while it is + loading. + + Updated translations. +- Drop gs-add-locking-to-the-repos-plugin.patch: Fixed upstream. + +------------------------------------------------------------------- Old: ---- gnome-software-3.26.3.tar.xz gs-add-locking-to-the-repos-plugin.patch New: ---- gnome-software-3.26.4.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gnome-software.spec ++++++ --- /var/tmp/diff_new_pack.YZaLiA/_old 2018-01-16 09:28:40.452145469 +0100 +++ /var/tmp/diff_new_pack.YZaLiA/_new 2018-01-16 09:28:40.452145469 +0100 @@ -1,7 +1,7 @@ # # spec file for package gnome-software # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,15 +18,14 @@ %define gs_plugin_api 11 Name: gnome-software -Version: 3.26.3 +Version: 3.26.4 Release: 0 Summary: GNOME Software Store License: GPL-2.0+ Group: System/GUI/GNOME Url: https://wiki.gnome.org/Design/Apps/Software Source0: http://download.gnome.org/sources/gnome-software/3.26/%{name}-%{version}.tar.xz -# PATCH-FIX-UPSTREAM gs-add-locking-to-the-repos-plugin.patch rh#1516536 zai...@opensuse.org -- Add locking to the repos plugin -Patch0: gs-add-locking-to-the-repos-plugin.patch + BuildRequires: gtk-doc BuildRequires: intltool >= 0.35.0 BuildRequires: meson ++++++ gnome-software-3.26.3.tar.xz -> gnome-software-3.26.4.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.26.3/NEWS new/gnome-software-3.26.4/NEWS --- old/gnome-software-3.26.3/NEWS 2017-11-21 12:01:08.000000000 +0100 +++ new/gnome-software-3.26.4/NEWS 2017-12-17 09:58:55.000000000 +0100 @@ -1,3 +1,19 @@ +Version 3.26.4 +~~~~~~~~~~~~~~ +Released: 2017-12-17 + +This is a stable release with the following changes: + * Fix crashes in the repos plugin due to missing locking + * Work around Firefox deleting rpm/deb files downloaded to /tmp when closing + * Do not require the user to keep clicking 'More reviews' after each click + * Fix a critical when updating (flatpak) packages live + * fwupd: Prepend the vendor name to the device name if not included + * Improve SPDX ID parsing when working out if it is 'free' + * packagekit: Do not crash when getting an invalid ID from PackageKit + * Do not crash when closing the source dialog while it is loading + +This release also updates translations. + Version 3.26.3 ~~~~~~~~~~~~~~ Released: 2017-11-21 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.26.3/RELEASE new/gnome-software-3.26.4/RELEASE --- old/gnome-software-3.26.3/RELEASE 2017-11-21 12:01:08.000000000 +0100 +++ new/gnome-software-3.26.4/RELEASE 2017-12-17 09:58:55.000000000 +0100 @@ -2,14 +2,14 @@ Write release entries: -git log --format="%s" --cherry-pick --right-only GNOME_SOFTWARE_3_26_2... | grep -i -v trivial | grep -v Merge | sort | uniq +git log --format="%s" --cherry-pick --right-only GNOME_SOFTWARE_3_26_3... | 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.3" -git tag -s GNOME_SOFTWARE_3_26_3 -m "==== Version 3.26.3 ====" +git commit -a -m "Release version 3.26.4" +git tag -s GNOME_SOFTWARE_3_26_4 -m "==== Version 3.26.4 ====" <enter password> ninja-build dist diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.26.3/data/appdata/org.gnome.Software.appdata.xml.in new/gnome-software-3.26.4/data/appdata/org.gnome.Software.appdata.xml.in --- old/gnome-software-3.26.3/data/appdata/org.gnome.Software.appdata.xml.in 2017-11-21 12:01:08.000000000 +0100 +++ new/gnome-software-3.26.4/data/appdata/org.gnome.Software.appdata.xml.in 2017-12-17 09:58:55.000000000 +0100 @@ -46,6 +46,24 @@ Validate with `appstream-util validate *.appdata.xml` --> <releases> + <release date="2017-12-17" version="3.26.4"> + <description> + <p> + This is a stable release with the following changes: + </p> + <ul> + <li>Fix crashes in the repos plugin due to missing locking</li> + <li>Work around Firefox deleting rpm/deb files downloaded to /tmp when closing</li> + <li>Do not require the user to keep clicking 'More reviews' after each click</li> + <li>Fix a critical when updating (flatpak) packages live</li> + <li>fwupd: Prepend the vendor name to the device name if not included</li> + <li>Improve SPDX ID parsing when working out if it is 'free'</li> + <li>packagekit: Do not crash when getting an invalid ID from PackageKit</li> + <li>Do not crash when closing the source dialog while it is loading</li> + </ul> + <p>This release also updates translations.</p> + </description> + </release> <release date="2017-11-21" version="3.26.3"> <description> <p> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.26.3/lib/gs-app.c new/gnome-software-3.26.4/lib/gs-app.c --- old/gnome-software-3.26.3/lib/gs-app.c 2017-11-21 12:01:08.000000000 +0100 +++ new/gnome-software-3.26.4/lib/gs-app.c 2017-12-17 09:58:55.000000000 +0100 @@ -2215,6 +2215,7 @@ tokens = as_utils_spdx_license_tokenize (license); for (i = 0; tokens[i] != NULL; i++) { if (g_strcmp0 (tokens[i], "&") == 0 || + g_strcmp0 (tokens[i], "+") == 0 || g_strcmp0 (tokens[i], "|") == 0) continue; if (gs_app_get_license_token_is_nonfree (tokens[i])) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.26.3/lib/gs-plugin-loader.c new/gnome-software-3.26.4/lib/gs-plugin-loader.c --- old/gnome-software-3.26.3/lib/gs-plugin-loader.c 2017-11-21 12:01:08.000000000 +0100 +++ new/gnome-software-3.26.4/lib/gs-plugin-loader.c 2017-12-17 09:58:55.000000000 +0100 @@ -239,7 +239,7 @@ gs_plugin_loader_job_debug (GsPluginLoaderHelper *helper) { g_autofree gchar *str = gs_plugin_job_to_string (helper->plugin_job); - g_info ("%s", str); + g_debug ("%s", str); } G_DEFINE_AUTOPTR_CLEANUP_FUNC(GsPluginLoaderHelper, gs_plugin_loader_helper_free) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.26.3/meson.build new/gnome-software-3.26.4/meson.build --- old/gnome-software-3.26.3/meson.build 2017-11-21 12:01:08.000000000 +0100 +++ new/gnome-software-3.26.4/meson.build 2017-12-17 09:58:55.000000000 +0100 @@ -1,5 +1,5 @@ project('gnome-software', 'c', - version : '3.26.3', + version : '3.26.4', 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.3/plugins/fwupd/gs-fwupd-app.c new/gnome-software-3.26.4/plugins/fwupd/gs-fwupd-app.c --- old/gnome-software-3.26.3/plugins/fwupd/gs-fwupd-app.c 2017-11-21 12:01:08.000000000 +0100 +++ new/gnome-software-3.26.4/plugins/fwupd/gs-fwupd-app.c 2017-12-17 09:58:55.000000000 +0100 @@ -95,8 +95,16 @@ gs_app_set_metadata (app, "fwupd::Guid", guid_str); } if (fwupd_device_get_name (dev) != NULL) { - gs_app_set_name (app, GS_APP_QUALITY_NORMAL, - fwupd_device_get_name (dev)); + g_autofree gchar *vendor_name = NULL; + if (g_str_has_prefix (fwupd_device_get_name (dev), + fwupd_device_get_vendor (dev))) { + vendor_name = g_strdup (fwupd_device_get_name (dev)); + } else { + vendor_name = g_strdup_printf ("%s %s", + fwupd_device_get_vendor (dev), + fwupd_device_get_name (dev)); + } + gs_app_set_name (app, GS_APP_QUALITY_NORMAL, vendor_name); } if (fwupd_device_get_summary (dev) != NULL) { gs_app_set_summary (app, GS_APP_QUALITY_NORMAL, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.26.3/plugins/packagekit/gs-plugin-packagekit-local.c new/gnome-software-3.26.4/plugins/packagekit/gs-plugin-packagekit-local.c --- old/gnome-software-3.26.3/plugins/packagekit/gs-plugin-packagekit-local.c 2017-11-21 12:01:08.000000000 +0100 +++ new/gnome-software-3.26.4/plugins/packagekit/gs-plugin-packagekit-local.c 2017-12-17 09:58:55.000000000 +0100 @@ -210,6 +210,13 @@ gs_plugin_get_name (plugin)); package_id = pk_details_get_package_id (item); split = pk_package_id_split (package_id); + if (split == NULL) { + g_set_error (error, + GS_PLUGIN_ERROR, + GS_PLUGIN_ERROR_INVALID_FORMAT, + "invalid package-id: %s", package_id); + return FALSE; + } basename = g_path_get_basename (filename); gs_app_set_management_plugin (app, "packagekit"); gs_app_set_kind (app, AS_APP_KIND_GENERIC); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.26.3/plugins/packagekit/gs-plugin-packagekit-refine.c new/gnome-software-3.26.4/plugins/packagekit/gs-plugin-packagekit-refine.c --- old/gnome-software-3.26.3/plugins/packagekit/gs-plugin-packagekit-refine.c 2017-11-21 12:01:08.000000000 +0100 +++ new/gnome-software-3.26.4/plugins/packagekit/gs-plugin-packagekit-refine.c 2017-12-17 09:58:55.000000000 +0100 @@ -450,7 +450,11 @@ g_auto(GStrv) split2 = NULL; split1 = pk_package_id_split (package_id1); + if (split1 == NULL) + return FALSE; split2 = pk_package_id_split (package_id2); + if (split2 == NULL) + return FALSE; ret = (g_strcmp0 (split1[PK_PACKAGE_ID_NAME], split2[PK_PACKAGE_ID_NAME]) == 0 && g_strcmp0 (split1[PK_PACKAGE_ID_VERSION], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.26.3/plugins/packagekit/gs-plugin-packagekit.c new/gnome-software-3.26.4/plugins/packagekit/gs-plugin-packagekit.c --- old/gnome-software-3.26.3/plugins/packagekit/gs-plugin-packagekit.c 2017-11-21 12:01:08.000000000 +0100 +++ new/gnome-software-3.26.4/plugins/packagekit/gs-plugin-packagekit.c 2017-12-17 09:58:55.000000000 +0100 @@ -152,6 +152,14 @@ g_auto(GStrv) split = NULL; app = gs_app_list_index (installed, i); split = pk_package_id_split (gs_app_get_source_id_default (app)); + if (split == NULL) { + g_set_error (error, + GS_PLUGIN_ERROR, + GS_PLUGIN_ERROR_INVALID_FORMAT, + "invalid package-id: %s", + gs_app_get_source_id_default (app)); + return FALSE; + } if (g_str_has_prefix (split[PK_PACKAGE_ID_DATA], "installed:")) { id = split[PK_PACKAGE_ID_DATA] + 10; app_tmp = g_hash_table_lookup (hash, id); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.26.3/plugins/packagekit/gs-plugin-systemd-updates.c new/gnome-software-3.26.4/plugins/packagekit/gs-plugin-systemd-updates.c --- old/gnome-software-3.26.3/plugins/packagekit/gs-plugin-systemd-updates.c 2017-11-21 12:01:08.000000000 +0100 +++ new/gnome-software-3.26.4/plugins/packagekit/gs-plugin-systemd-updates.c 2017-12-17 09:58:55.000000000 +0100 @@ -179,12 +179,21 @@ continue; } + /* get ID details */ + split = pk_package_id_split (package_ids[i]); + if (split == NULL) { + g_set_error (error, + GS_PLUGIN_ERROR, + GS_PLUGIN_ERROR_INVALID_FORMAT, + "invalid package-id: %s", package_ids[i]); + return FALSE; + } + /* create new app */ app = gs_app_new (NULL); gs_app_add_quirk (app, AS_APP_QUIRK_NEEDS_REBOOT); gs_app_set_management_plugin (app, "packagekit"); gs_app_add_source_id (app, package_ids[i]); - split = pk_package_id_split (package_ids[i]); gs_app_add_source (app, split[PK_PACKAGE_ID_NAME]); gs_app_set_update_version (app, split[PK_PACKAGE_ID_VERSION]); gs_app_set_state (app, AS_APP_STATE_UPDATABLE); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.26.3/plugins/repos/gs-plugin-repos.c new/gnome-software-3.26.4/plugins/repos/gs-plugin-repos.c --- old/gnome-software-3.26.3/plugins/repos/gs-plugin-repos.c 2017-11-21 12:01:08.000000000 +0100 +++ new/gnome-software-3.26.4/plugins/repos/gs-plugin-repos.c 2017-12-17 09:58:55.000000000 +0100 @@ -26,6 +26,7 @@ struct GsPluginData { GHashTable *urls; /* origin : url */ GFileMonitor *monitor; + GMutex mutex; gchar *reposdir; gboolean valid; }; @@ -35,6 +36,8 @@ { GsPluginData *priv = gs_plugin_alloc_data (plugin, sizeof(GsPluginData)); + g_mutex_init (&priv->mutex); + /* for debugging and the self tests */ priv->reposdir = g_strdup (g_getenv ("GS_SELF_TEST_REPOS_DIR")); if (priv->reposdir == NULL) @@ -62,8 +65,10 @@ g_hash_table_unref (priv->urls); if (priv->monitor != NULL) g_object_unref (priv->monitor); + g_mutex_clear (&priv->mutex); } +/* mutex must be held */ static gboolean gs_plugin_repos_setup (GsPlugin *plugin, GCancellable *cancellable, GError **error) { @@ -145,6 +150,7 @@ { GsPluginData *priv = gs_plugin_get_data (plugin); g_autoptr(GFile) file = g_file_new_for_path (priv->reposdir); + g_autoptr(GMutexLocker) locker = g_mutex_locker_new (&priv->mutex); /* watch for changes */ priv->monitor = g_file_monitor_directory (file, G_FILE_MONITOR_NONE, cancellable, error); @@ -168,6 +174,7 @@ { GsPluginData *priv = gs_plugin_get_data (plugin); const gchar *tmp; + g_autoptr(GMutexLocker) locker = g_mutex_locker_new (&priv->mutex); /* not required */ if ((flags & GS_PLUGIN_REFINE_FLAGS_REQUIRE_ORIGIN_HOSTNAME) == 0) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.26.3/plugins/shell-extensions/gs-plugin-shell-extensions.c new/gnome-software-3.26.4/plugins/shell-extensions/gs-plugin-shell-extensions.c --- old/gnome-software-3.26.3/plugins/shell-extensions/gs-plugin-shell-extensions.c 2017-11-21 12:01:08.000000000 +0100 +++ new/gnome-software-3.26.4/plugins/shell-extensions/gs-plugin-shell-extensions.c 2017-12-17 09:58:55.000000000 +0100 @@ -284,7 +284,10 @@ /* not running under Shell */ name_owner = g_dbus_proxy_get_name_owner (priv->proxy); if (name_owner == NULL) { - g_clear_object (&priv->proxy); + g_set_error_literal (error, + GS_PLUGIN_ERROR, + GS_PLUGIN_ERROR_NOT_SUPPORTED, + "gnome-shell is not running"); return FALSE; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.26.3/po/cs.po new/gnome-software-3.26.4/po/cs.po --- old/gnome-software-3.26.3/po/cs.po 2017-11-21 12:01:08.000000000 +0100 +++ new/gnome-software-3.26.4/po/cs.po 2017-12-17 09:58:55.000000000 +0100 @@ -1350,7 +1350,7 @@ #: src/gs-details-page.ui:823 msgid "Age Rating" -msgstr "Stáří hodnocení" +msgstr "Hodnocení podle věku" #: src/gs-details-page.ui:861 msgid "Updated" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.26.3/po/pl.po new/gnome-software-3.26.4/po/pl.po --- old/gnome-software-3.26.3/po/pl.po 2017-11-21 12:01:08.000000000 +0100 +++ new/gnome-software-3.26.4/po/pl.po 2017-12-17 09:58:55.000000000 +0100 @@ -9,8 +9,8 @@ "Project-Id-Version: gnome-software\n" "Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "software&keywords=I18N+L10N&component=General\n" -"POT-Creation-Date: 2017-09-28 11:43+0000\n" -"PO-Revision-Date: 2017-09-28 14:50+0200\n" +"POT-Creation-Date: 2017-11-05 16:28+0000\n" +"PO-Revision-Date: 2017-12-04 19:22+0100\n" "Last-Translator: Piotr Drąg <piotrd...@gmail.com>\n" "Language-Team: Polish <community-pol...@mozilla.org>\n" "Language: pl\n" @@ -68,7 +68,7 @@ msgid "The update details" msgstr "Informacje o aktualizacji" -#: data/appdata/org.gnome.Software.appdata.xml.in:884 +#: data/appdata/org.gnome.Software.appdata.xml.in:900 msgid "The GNOME Project" msgstr "Projekt GNOME" @@ -364,7 +364,7 @@ #. button in the info bar #. TRANSLATORS: this is a link to the #. * control-center network panel -#: src/gnome-software.ui:372 src/gs-updates-page.c:1391 +#: src/gnome-software.ui:372 src/gs-updates-page.c:1392 msgid "Network Settings" msgstr "Ustawienia sieci" @@ -389,7 +389,7 @@ #. TRANSLATORS: this is a button next to the search results that #. * shows the status of an application being installed -#: src/gs-app-addon-row.c:105 src/gs-app-row.c:218 src/gs-details-page.c:439 +#: src/gs-app-addon-row.c:105 src/gs-app-row.c:218 src/gs-details-page.c:440 msgid "Installing" msgstr "Instalowanie" @@ -404,7 +404,7 @@ msgstr "Nazwa katalogu" #: src/gs-app-folder-dialog.c:321 src/gs-app-folder-dialog.ui:16 -#: src/gs-details-page.c:379 src/gs-details-page.ui:330 src/gs-editor.c:623 +#: src/gs-details-page.c:380 src/gs-details-page.ui:330 src/gs-editor.c:623 #: src/gs-editor.c:655 src/gs-installed-page.c:609 src/gs-removal-dialog.ui:33 #: src/gs-review-dialog.ui:23 src/gs-upgrade-banner.ui:131 msgid "_Cancel" @@ -1166,14 +1166,14 @@ #. * can be installed #. TRANSLATORS: button text in the header when firmware #. * can be live-installed -#: src/gs-details-page.c:278 src/gs-details-page.c:308 +#: src/gs-details-page.c:279 src/gs-details-page.c:309 #: src/gs-details-page.ui:206 src/gs-upgrade-banner.ui:146 msgid "_Install" msgstr "_Zainstaluj" #. TRANSLATORS: button text in the header when an application #. * can be live-updated -#: src/gs-details-page.c:313 +#: src/gs-details-page.c:314 msgid "_Update" msgstr "Z_aktualizuj" @@ -1181,21 +1181,21 @@ #. * be installed. #. * The ellipsis indicates that further steps are required, #. * e.g. enabling software sources or the like -#: src/gs-details-page.c:326 +#: src/gs-details-page.c:327 msgid "_Install…" msgstr "_Zainstaluj…" #. TRANSLATORS: button text in the header when an application can be erased -#: src/gs-details-page.c:373 src/gs-details-page.ui:242 +#: src/gs-details-page.c:374 src/gs-details-page.ui:242 msgid "_Remove" msgstr "_Usuń" -#: src/gs-details-page.c:434 src/gs-sources-dialog.c:513 +#: src/gs-details-page.c:435 src/gs-sources-dialog.c:513 msgid "Removing…" msgstr "Usuwanie…" #. TRANSLATORS: this is the warning box -#: src/gs-details-page.c:744 +#: src/gs-details-page.c:745 msgid "" "This application can only be used when there is an active internet " "connection." @@ -1204,53 +1204,53 @@ "internetowe." #. TRANSLATORS: this is where the version is not known -#: src/gs-details-page.c:879 +#: src/gs-details-page.c:880 msgctxt "version" msgid "Unknown" msgstr "Nieznana" #. TRANSLATORS: this is where the updated date is not known -#: src/gs-details-page.c:913 +#: src/gs-details-page.c:914 msgctxt "updated" msgid "Never" msgstr "Nigdy" #. TRANSLATORS: this is where we don't know the origin of the #. * application -#: src/gs-details-page.c:957 +#: src/gs-details-page.c:958 msgctxt "origin" msgid "Unknown" msgstr "Nieznane" #. TRANSLATORS: we need a remote server to process -#: src/gs-details-page.c:1361 +#: src/gs-details-page.c:1362 msgid "You need internet access to write a review" msgstr "Wymagany jest dostęp do Internetu, aby napisać recenzję" -#: src/gs-details-page.c:1490 +#: src/gs-details-page.c:1491 #, c-format msgid "Unable to find “%s”" msgstr "Nie można odnaleźć „%s”" #. TRANSLATORS: see the wikipedia page -#: src/gs-details-page.c:2065 +#: src/gs-details-page.c:2071 msgid "Public domain" msgstr "Domena publiczna" #. TRANSLATORS: see GNU page -#: src/gs-details-page.c:2081 src/gs-details-page.ui:1395 +#: src/gs-details-page.c:2087 src/gs-details-page.ui:1395 msgid "Free Software" msgstr "Wolne oprogramowanie" #. TRANSLATORS: for the free software popover -#: src/gs-details-page.c:2138 +#: src/gs-details-page.c:2144 msgid "Users are bound by the following license:" msgid_plural "Users are bound by the following licenses:" msgstr[0] "Użytkowników obowiązuje ta licencja:" msgstr[1] "Użytkowników obowiązują te licencje:" msgstr[2] "Użytkowników obowiązują te licencje:" -#: src/gs-details-page.c:2154 src/gs-details-page.ui:1504 +#: src/gs-details-page.c:2160 src/gs-details-page.ui:1504 msgid "More information" msgstr "Więcej informacji" @@ -2119,11 +2119,10 @@ msgid "US$%.2f" msgstr "%.2f $" -# This is currently broken, see https://bugzilla.gnome.org/show_bug.cgi?id=786704 #: lib/gs-price.c:129 #, c-format msgid "%s %f" -msgstr "%s %f" +msgstr "%2$f %1$s" #. TRANSLATORS: This is a text displayed during a distro upgrade. %s #. will be replaced by the name and version of distro, e.g. 'Fedora 23'. @@ -2980,7 +2979,7 @@ "zainstalowania" #. TRANSLATORS: button text -#: src/gs-update-monitor.c:100 src/gs-updates-page.c:703 +#: src/gs-update-monitor.c:100 src/gs-updates-page.c:705 msgid "Not Now" msgstr "Nie teraz" @@ -3187,23 +3186,23 @@ msgstr "Ostatnio wyszukano: %s" #. TRANSLATORS: we've just live-updated some apps -#: src/gs-updates-page.c:699 +#: src/gs-updates-page.c:701 msgid "Updates have been installed" msgstr "Zainstalowano aktualizacje" #. TRANSLATORS: the new apps will not be run until we restart -#: src/gs-updates-page.c:701 +#: src/gs-updates-page.c:703 msgid "A restart is required for them to take effect." msgstr "Wymagane jest ponowne uruchomienie, aby zastosować zmiany." #. TRANSLATORS: button text -#: src/gs-updates-page.c:705 +#: src/gs-updates-page.c:707 msgid "Restart" msgstr "Uruchom ponownie" #. TRANSLATORS: This is the header for system firmware that #. * requires a reboot to apply -#: src/gs-updates-page.c:766 +#: src/gs-updates-page.c:768 msgid "Integrated Firmware" msgstr "Zintegrowane oprogramowanie sprzętowe" @@ -3211,31 +3210,31 @@ #. * system firmware #. TRANSLATORS: This is the button for upgrading all #. * offline updates -#: src/gs-updates-page.c:769 src/gs-updates-page.c:779 +#: src/gs-updates-page.c:771 src/gs-updates-page.c:781 msgid "Restart & Update" msgstr "Uruchom ponownie i zaktualizuj" #. TRANSLATORS: This is the header for offline OS and offline #. * app updates that require a reboot to apply -#: src/gs-updates-page.c:776 +#: src/gs-updates-page.c:778 msgid "Requires Restart" msgstr "Wymaga ponownego uruchomienia" #. TRANSLATORS: This is the header for online runtime and #. * app updates, typically flatpaks or snaps -#: src/gs-updates-page.c:786 +#: src/gs-updates-page.c:788 msgid "Application Updates" msgstr "Aktualizacje programów" #. TRANSLATORS: This is the button for upgrading all #. * online-updatable applications -#: src/gs-updates-page.c:789 +#: src/gs-updates-page.c:791 msgid "Update All" msgstr "Zaktualizuj wszystko" #. TRANSLATORS: This is the header for device firmware that can #. * be installed online -#: src/gs-updates-page.c:796 +#: src/gs-updates-page.c:798 msgid "Device Firmware" msgstr "Oprogramowanie sprzętowe urządzenia" @@ -3251,34 +3250,34 @@ #. TRANSLATORS: the first %s is the distro name, e.g. 'Fedora' #. * and the second %s is the distro version, e.g. '25' -#: src/gs-updates-page.c:1088 +#: src/gs-updates-page.c:1089 #, c-format msgid "%s %s is no longer supported." msgstr "System %s %s nie jest już wspierany." #. TRANSLATORS: OS refers to operating system, e.g. Fedora -#: src/gs-updates-page.c:1093 +#: src/gs-updates-page.c:1094 msgid "Your OS is no longer supported." msgstr "Używany system operacyjny nie jest już wspierany." #. TRANSLATORS: EOL distros do not get important updates -#: src/gs-updates-page.c:1098 +#: src/gs-updates-page.c:1099 msgid "This means that it does not receive security updates." msgstr "Oznacza to, że nie będzie otrzymywał aktualizacji bezpieczeństwa." #. TRANSLATORS: upgrade refers to a major update, e.g. Fedora 25 to 26 -#: src/gs-updates-page.c:1102 +#: src/gs-updates-page.c:1103 msgid "It is recommended that you upgrade to a more recent version." msgstr "Zalecane jest zaktualizowanie do nowszej wersji." #. TRANSLATORS: this is to explain that downloading updates may cost money -#: src/gs-updates-page.c:1359 +#: src/gs-updates-page.c:1360 msgid "Charges may apply" msgstr "Możliwe koszty" #. TRANSLATORS: we need network #. * to do the updates check -#: src/gs-updates-page.c:1363 +#: src/gs-updates-page.c:1364 msgid "" "Checking for updates while using mobile broadband could cause you to incur " "charges." @@ -3288,26 +3287,26 @@ #. TRANSLATORS: this is a link to the #. * control-center network panel -#: src/gs-updates-page.c:1367 +#: src/gs-updates-page.c:1368 msgid "Check Anyway" msgstr "Wyszukaj mimo to" #. TRANSLATORS: can't do updates check -#: src/gs-updates-page.c:1383 +#: src/gs-updates-page.c:1384 msgid "No Network" msgstr "Brak sieci" #. TRANSLATORS: we need network #. * to do the updates check -#: src/gs-updates-page.c:1387 +#: src/gs-updates-page.c:1388 msgid "Internet access is required to check for updates." msgstr "Wymagany jest dostęp do Internetu, aby wyszukać aktualizacje." -#: src/gs-updates-page.c:1792 +#: src/gs-updates-page.c:1793 msgid "Restart & _Install" msgstr "_Uruchom ponownie i zainstaluj" -#: src/gs-updates-page.c:1810 +#: src/gs-updates-page.c:1811 msgid "Check for updates" msgstr "Wyszukaj aktualizacje" @@ -3866,12 +3865,12 @@ msgstr "Skopiowanie się nie powiodła" #. TRANSLATORS: status text when downloading -#: plugins/fedora-pkgdb-collections/gs-plugin-fedora-pkgdb-collections.c:212 +#: plugins/fedora-pkgdb-collections/gs-plugin-fedora-pkgdb-collections.c:217 msgid "Downloading upgrade information…" msgstr "Pobieranie informacji o aktualizacji…" #. TRANSLATORS: this is a title for Fedora distro upgrades -#: plugins/fedora-pkgdb-collections/gs-plugin-fedora-pkgdb-collections.c:303 +#: plugins/fedora-pkgdb-collections/gs-plugin-fedora-pkgdb-collections.c:311 msgid "Upgrade your Fedora system to the latest features and improvements." msgstr "Aktualizacja systemu Fedora do najnowszych funkcji i ulepszeń." diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.26.3/po/ru.po new/gnome-software-3.26.4/po/ru.po --- old/gnome-software-3.26.3/po/ru.po 2017-11-21 12:01:08.000000000 +0100 +++ new/gnome-software-3.26.4/po/ru.po 2017-12-17 09:58:55.000000000 +0100 @@ -12,9 +12,9 @@ "Project-Id-Version: gnome-software master\n" "Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "software&keywords=I18N+L10N&component=General\n" -"POT-Creation-Date: 2017-09-04 17:53+0000\n" -"PO-Revision-Date: 2017-09-04 22:53+0400\n" -"Last-Translator: Yuri Myasoedov <ymyasoe...@yandex.ru>\n" +"POT-Creation-Date: 2017-11-05 16:28+0000\n" +"PO-Revision-Date: 2017-12-14 13:15+0300\n" +"Last-Translator: Stas Solovey <whats...@tut.by>\n" "Language-Team: Русский <gnome-...@gnome.org>\n" "Language: ru\n" "MIME-Version: 1.0\n" @@ -22,7 +22,7 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Poedit 2.0.2\n" +"X-Generator: Poedit 2.0.5\n" # перевод по аналогии с ubuntu software - центр приложений ubuntu #: data/appdata/org.gnome.Software.appdata.xml.in:7 @@ -73,7 +73,7 @@ msgid "The update details" msgstr "Подробности об обновлении" -#: data/appdata/org.gnome.Software.appdata.xml.in:861 +#: data/appdata/org.gnome.Software.appdata.xml.in:900 msgid "The GNOME Project" msgstr "Проект GNOME" @@ -363,7 +363,7 @@ #. button in the info bar #. TRANSLATORS: this is a link to the #. * control-center network panel -#: src/gnome-software.ui:372 src/gs-updates-page.c:1391 +#: src/gnome-software.ui:372 src/gs-updates-page.c:1392 msgid "Network Settings" msgstr "Параметры сети" @@ -388,7 +388,7 @@ #. TRANSLATORS: this is a button next to the search results that #. * shows the status of an application being installed -#: src/gs-app-addon-row.c:105 src/gs-app-row.c:218 src/gs-details-page.c:439 +#: src/gs-app-addon-row.c:105 src/gs-app-row.c:218 src/gs-details-page.c:440 msgid "Installing" msgstr "Устанавливается" @@ -403,7 +403,7 @@ msgstr "Имя папки" #: src/gs-app-folder-dialog.c:321 src/gs-app-folder-dialog.ui:16 -#: src/gs-details-page.c:379 src/gs-details-page.ui:330 src/gs-editor.c:623 +#: src/gs-details-page.c:380 src/gs-details-page.ui:330 src/gs-editor.c:623 #: src/gs-editor.c:655 src/gs-installed-page.c:609 src/gs-removal-dialog.ui:33 #: src/gs-review-dialog.ui:23 src/gs-upgrade-banner.ui:131 msgid "_Cancel" @@ -607,6 +607,10 @@ msgid "PIN" msgstr "PIN" +#: src/gs-auth-dialog.ui:325 +msgid "Authenticate" +msgstr "Авторизоваться" + #: src/gs-auth-dialog.ui:337 msgid "Continue" msgstr "Продолжить" @@ -1164,14 +1168,14 @@ #. * can be installed #. TRANSLATORS: button text in the header when firmware #. * can be live-installed -#: src/gs-details-page.c:278 src/gs-details-page.c:308 +#: src/gs-details-page.c:279 src/gs-details-page.c:309 #: src/gs-details-page.ui:206 src/gs-upgrade-banner.ui:146 msgid "_Install" msgstr "_Установить" #. TRANSLATORS: button text in the header when an application #. * can be live-updated -#: src/gs-details-page.c:313 +#: src/gs-details-page.c:314 msgid "_Update" msgstr "_Обновить" @@ -1179,21 +1183,21 @@ #. * be installed. #. * The ellipsis indicates that further steps are required, #. * e.g. enabling software sources or the like -#: src/gs-details-page.c:326 +#: src/gs-details-page.c:327 msgid "_Install…" msgstr "Ус_тановить…" #. TRANSLATORS: button text in the header when an application can be erased -#: src/gs-details-page.c:373 src/gs-details-page.ui:242 +#: src/gs-details-page.c:374 src/gs-details-page.ui:242 msgid "_Remove" msgstr "У_далить" -#: src/gs-details-page.c:434 src/gs-sources-dialog.c:513 +#: src/gs-details-page.c:435 src/gs-sources-dialog.c:513 msgid "Removing…" msgstr "Удаление…" #. TRANSLATORS: this is the warning box -#: src/gs-details-page.c:744 +#: src/gs-details-page.c:745 msgid "" "This application can only be used when there is an active internet " "connection." @@ -1202,54 +1206,54 @@ "подключения." #. TRANSLATORS: this is where the version is not known -#: src/gs-details-page.c:879 +#: src/gs-details-page.c:880 msgctxt "version" msgid "Unknown" msgstr "Неизвестная" #. TRANSLATORS: this is where the updated date is not known -#: src/gs-details-page.c:913 +#: src/gs-details-page.c:914 msgctxt "updated" msgid "Never" msgstr "Не обновлялось" #. TRANSLATORS: this is where we don't know the origin of the #. * application -#: src/gs-details-page.c:957 +#: src/gs-details-page.c:958 msgctxt "origin" msgid "Unknown" msgstr "Неизвестно" #. TRANSLATORS: we need a remote server to process -#: src/gs-details-page.c:1361 +#: src/gs-details-page.c:1362 msgid "You need internet access to write a review" msgstr "Для написания отзыва необходимо подключение к Интернету" -#: src/gs-details-page.c:1490 +#: src/gs-details-page.c:1491 #, c-format msgid "Unable to find “%s”" msgstr "Не удалось найти «%s»" #. TRANSLATORS: see the wikipedia page -#: src/gs-details-page.c:2065 +#: src/gs-details-page.c:2071 msgid "Public domain" msgstr "Общественное достояние" # перевод по аналогии с ubuntu software - центр приложений ubuntu #. TRANSLATORS: see GNU page -#: src/gs-details-page.c:2081 src/gs-details-page.ui:1395 +#: src/gs-details-page.c:2087 src/gs-details-page.ui:1395 msgid "Free Software" msgstr "Свободное ПО" #. TRANSLATORS: for the free software popover -#: src/gs-details-page.c:2138 +#: src/gs-details-page.c:2144 msgid "Users are bound by the following license:" msgid_plural "Users are bound by the following licenses:" msgstr[0] "Пользователи ограничены следующей лицензией:" msgstr[1] "Пользователи ограничены следующими лицензиями:" msgstr[2] "Пользователи ограничены следующими лицензиями:" -#: src/gs-details-page.c:2154 src/gs-details-page.ui:1504 +#: src/gs-details-page.c:2160 src/gs-details-page.ui:1504 msgid "More information" msgstr "Больше информации" @@ -1574,6 +1578,10 @@ msgid "Undo" msgstr "Отменить" +#: src/gs-editor.ui:524 src/org.gnome.Software.Editor.desktop.in:3 +msgid "Banner Designer" +msgstr "Конструктор баннеров" + #: src/gs-editor.ui:547 msgid "New Banner" msgstr "Новый макет" @@ -2955,7 +2963,7 @@ msgstr "Важные обновления ОС и приложений готовы к установке" #. TRANSLATORS: button text -#: src/gs-update-monitor.c:100 src/gs-updates-page.c:703 +#: src/gs-update-monitor.c:100 src/gs-updates-page.c:705 msgid "Not Now" msgstr "Не сейчас" @@ -3161,23 +3169,23 @@ msgstr "Последняя проверка: %s" #. TRANSLATORS: we've just live-updated some apps -#: src/gs-updates-page.c:699 +#: src/gs-updates-page.c:701 msgid "Updates have been installed" msgstr "Обновления были установлены" #. TRANSLATORS: the new apps will not be run until we restart -#: src/gs-updates-page.c:701 +#: src/gs-updates-page.c:703 msgid "A restart is required for them to take effect." msgstr "Необходима перезагрузка, чтобы изменения вступили в силу." #. TRANSLATORS: button text -#: src/gs-updates-page.c:705 +#: src/gs-updates-page.c:707 msgid "Restart" msgstr "Перезапустить" #. TRANSLATORS: This is the header for system firmware that #. * requires a reboot to apply -#: src/gs-updates-page.c:766 +#: src/gs-updates-page.c:768 msgid "Integrated Firmware" msgstr "Встроенная прошивка" @@ -3185,31 +3193,31 @@ #. * system firmware #. TRANSLATORS: This is the button for upgrading all #. * offline updates -#: src/gs-updates-page.c:769 src/gs-updates-page.c:779 +#: src/gs-updates-page.c:771 src/gs-updates-page.c:781 msgid "Restart & Update" msgstr "Перезапустить и обновить" #. TRANSLATORS: This is the header for offline OS and offline #. * app updates that require a reboot to apply -#: src/gs-updates-page.c:776 +#: src/gs-updates-page.c:778 msgid "Requires Restart" msgstr "Требуется перезапуск" #. TRANSLATORS: This is the header for online runtime and #. * app updates, typically flatpaks or snaps -#: src/gs-updates-page.c:786 +#: src/gs-updates-page.c:788 msgid "Application Updates" msgstr "Обновления приложения" #. TRANSLATORS: This is the button for upgrading all #. * online-updatable applications -#: src/gs-updates-page.c:789 +#: src/gs-updates-page.c:791 msgid "Update All" msgstr "Обновить всё" #. TRANSLATORS: This is the header for device firmware that can #. * be installed online -#: src/gs-updates-page.c:796 +#: src/gs-updates-page.c:798 msgid "Device Firmware" msgstr "Прошивка устройства" @@ -3225,35 +3233,35 @@ #. TRANSLATORS: the first %s is the distro name, e.g. 'Fedora' #. * and the second %s is the distro version, e.g. '25' -#: src/gs-updates-page.c:1088 +#: src/gs-updates-page.c:1089 #, c-format msgid "%s %s is no longer supported." msgstr "%s %s больше не поддерживается." #. TRANSLATORS: OS refers to operating system, e.g. Fedora -#: src/gs-updates-page.c:1093 +#: src/gs-updates-page.c:1094 msgid "Your OS is no longer supported." msgstr "Ваша ОС больше не поддерживается." #. TRANSLATORS: EOL distros do not get important updates -#: src/gs-updates-page.c:1098 +#: src/gs-updates-page.c:1099 msgid "This means that it does not receive security updates." msgstr "" "Это означает, что система больше не будет получать обновления безопасности." #. TRANSLATORS: upgrade refers to a major update, e.g. Fedora 25 to 26 -#: src/gs-updates-page.c:1102 +#: src/gs-updates-page.c:1103 msgid "It is recommended that you upgrade to a more recent version." msgstr "Рекомендуется выполнить обновление до более новой версии." #. TRANSLATORS: this is to explain that downloading updates may cost money -#: src/gs-updates-page.c:1359 +#: src/gs-updates-page.c:1360 msgid "Charges may apply" msgstr "Возможны дополнительные расходы" #. TRANSLATORS: we need network #. * to do the updates check -#: src/gs-updates-page.c:1363 +#: src/gs-updates-page.c:1364 msgid "" "Checking for updates while using mobile broadband could cause you to incur " "charges." @@ -3264,26 +3272,26 @@ #. TRANSLATORS: this is a link to the #. * control-center network panel -#: src/gs-updates-page.c:1367 +#: src/gs-updates-page.c:1368 msgid "Check Anyway" msgstr "Всё равно проверить" #. TRANSLATORS: can't do updates check -#: src/gs-updates-page.c:1383 +#: src/gs-updates-page.c:1384 msgid "No Network" msgstr "Нет сети" #. TRANSLATORS: we need network #. * to do the updates check -#: src/gs-updates-page.c:1387 +#: src/gs-updates-page.c:1388 msgid "Internet access is required to check for updates." msgstr "Для проверки обновлений требуется подключение к Интернету." -#: src/gs-updates-page.c:1792 +#: src/gs-updates-page.c:1793 msgid "Restart & _Install" msgstr "Перезапустить и _установить" -#: src/gs-updates-page.c:1810 +#: src/gs-updates-page.c:1811 msgid "Check for updates" msgstr "Проверить наличие обновлений" @@ -3384,10 +3392,6 @@ "Обновления;Источники;Репозитории;Параметры;Установить;Удалить;Программа;" "Приложение;Магазин;" -#: src/org.gnome.Software.Editor.desktop.in:3 -msgid "Banner Designer" -msgstr "Конструктор баннеров" - #: src/org.gnome.Software.Editor.desktop.in:4 msgid "Design the featured banners for GNOME Software" msgstr "Проектировка баннеров для центра приложений GNOME" @@ -3849,12 +3853,12 @@ msgstr "Сбой копирования" #. TRANSLATORS: status text when downloading -#: plugins/fedora-pkgdb-collections/gs-plugin-fedora-pkgdb-collections.c:212 +#: plugins/fedora-pkgdb-collections/gs-plugin-fedora-pkgdb-collections.c:217 msgid "Downloading upgrade information…" msgstr "Загрузка сведений об обновлениях…" #. TRANSLATORS: this is a title for Fedora distro upgrades -#: plugins/fedora-pkgdb-collections/gs-plugin-fedora-pkgdb-collections.c:303 +#: plugins/fedora-pkgdb-collections/gs-plugin-fedora-pkgdb-collections.c:311 msgid "Upgrade your Fedora system to the latest features and improvements." msgstr "Обновите Fedora для получения последних возможностей и улучшений." @@ -3873,10 +3877,9 @@ msgstr "Получение метаданных flatpak для %s…" #. TRANSLATORS: status text when downloading the RuntimeRepo -#: plugins/flatpak/gs-flatpak.c:2606 -#, fuzzy +#: plugins/flatpak/gs-flatpak.c:2617 msgid "Getting runtime source…" -msgstr "Получение источника…" +msgstr "Получение источника исполняемой библиотеки…" #. TRANSLATORS: status text when downloading #: plugins/fwupd/gs-plugin-fwupd.c:801 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.26.3/src/gs-application.c new/gnome-software-3.26.4/src/gs-application.c --- old/gnome-software-3.26.3/src/gs-application.c 2017-11-21 12:01:08.000000000 +0100 +++ new/gnome-software-3.26.4/src/gs-application.c 2017-12-17 09:58:55.000000000 +0100 @@ -625,6 +625,35 @@ gs_shell_install (app->shell, a, interaction); } +static GFile * +_copy_file_to_cache (GFile *file_src, GError **error) +{ + g_autoptr(GFile) file_dest = NULL; + g_autofree gchar *cache_dir = NULL; + g_autofree gchar *cache_fn = NULL; + g_autofree gchar *filename = NULL; + g_autofree gchar *basename = NULL; + + /* get destination location */ + filename = g_file_get_path (file_src); + cache_dir = g_dir_make_tmp ("gnome-software-XXXXXX", error); + if (cache_dir == NULL) + return NULL; + basename = g_file_get_basename (file_src); + cache_fn = g_build_filename (cache_dir, basename, NULL); + + /* copy file to cache */ + file_dest = g_file_new_for_path (cache_fn); + if (!g_file_copy (file_src, file_dest, + G_FILE_COPY_OVERWRITE, + NULL, /* cancellable */ + NULL, NULL, /* progress */ + error)) { + return NULL; + } + return g_steal_pointer (&file_dest); +} + static void filename_activated (GSimpleAction *action, GVariant *parameter, @@ -637,7 +666,21 @@ gs_application_initialize_ui (app); g_variant_get (parameter, "(&s)", &filename); - file = g_file_new_for_path (filename); + + /* this could go away at any moment, so make a local copy */ + if (g_str_has_prefix (filename, "/tmp") || + g_str_has_prefix (filename, "/var/tmp")) { + g_autoptr(GError) error = NULL; + g_autoptr(GFile) file_src = g_file_new_for_path (filename); + file = _copy_file_to_cache (file_src, &error); + if (file == NULL) { + g_warning ("failed to copy file, falling back to %s: %s", + filename, error->message); + file = g_file_new_for_path (filename); + } + } else { + file = g_file_new_for_path (filename); + } gs_shell_show_local_file (app->shell, file); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.26.3/src/gs-details-page.c new/gnome-software-3.26.4/src/gs-details-page.c --- old/gnome-software-3.26.3/src/gs-details-page.c 2017-11-21 12:01:08.000000000 +0100 +++ new/gnome-software-3.26.4/src/gs-details-page.c 2017-12-17 09:58:55.000000000 +0100 @@ -62,6 +62,7 @@ GsShell *shell; SoupSession *session; gboolean enable_reviews; + gboolean show_all_reviews; GSettings *settings; GtkWidget *application_details_icon; @@ -1341,13 +1342,15 @@ } gs_review_row_set_actions (GS_REVIEW_ROW (row), actions); gtk_container_add (GTK_CONTAINER (self->list_box_reviews), row); - gtk_widget_set_visible (row, i < SHOW_NR_REVIEWS_INITIAL); + gtk_widget_set_visible (row, self->show_all_reviews || + i < SHOW_NR_REVIEWS_INITIAL); gs_review_row_set_network_available (GS_REVIEW_ROW (row), gs_plugin_loader_get_network_available (self->plugin_loader)); } /* only show the button if there are more to show */ gtk_widget_set_visible (self->button_more_reviews, + !self->show_all_reviews && reviews->len > SHOW_NR_REVIEWS_INITIAL); /* show the button only if the user never reviewed */ @@ -1514,6 +1517,9 @@ { g_autofree gchar *tmp = NULL; + /* do not show all the reviews by default */ + self->show_all_reviews = FALSE; + /* disconnect the old handlers */ if (self->app != NULL) { g_signal_handlers_disconnect_by_func (self->app, gs_details_page_notify_state_changed_cb, self); @@ -1956,6 +1962,7 @@ static void gs_details_page_more_reviews_button_cb (GtkWidget *widget, GsDetailsPage *self) { + self->show_all_reviews = TRUE; gtk_container_foreach (GTK_CONTAINER (self->list_box_reviews), (GtkCallback) gtk_widget_show, NULL); gtk_widget_set_visible (self->button_more_reviews, FALSE); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.26.3/src/gs-sources-dialog.c new/gnome-software-3.26.4/src/gs-sources-dialog.c --- old/gnome-software-3.26.3/src/gs-sources-dialog.c 2017-11-21 12:01:08.000000000 +0100 +++ new/gnome-software-3.26.4/src/gs-sources-dialog.c 2017-12-17 09:58:55.000000000 +0100 @@ -316,9 +316,6 @@ g_autoptr(GError) error = NULL; g_autoptr(GsAppList) list = NULL; - /* show results */ - gs_stop_spinner (GTK_SPINNER (dialog->spinner)); - /* get the results */ list = gs_plugin_loader_job_process_finish (plugin_loader, res, &error); if (list == NULL) { @@ -326,6 +323,7 @@ GS_PLUGIN_ERROR, GS_PLUGIN_ERROR_CANCELLED)) { g_debug ("get sources cancelled"); + return; } else { g_warning ("failed to get sources: %s", error->message); } @@ -335,9 +333,14 @@ return; } + /* stop the spinner */ + gs_stop_spinner (GTK_SPINNER (dialog->spinner)); + /* no results */ if (gs_app_list_length (list) == 0) { g_debug ("no sources to show"); + gtk_stack_set_visible_child_name (GTK_STACK (dialog->stack), "empty"); + gtk_style_context_add_class (gtk_widget_get_style_context (dialog->label_header), "dim-label"); return; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.26.3/src/gs-update-dialog.c new/gnome-software-3.26.4/src/gs-update-dialog.c --- old/gnome-software-3.26.3/src/gs-update-dialog.c 2017-11-21 12:01:08.000000000 +0100 +++ new/gnome-software-3.26.4/src/gs-update-dialog.c 2017-12-17 09:58:55.000000000 +0100 @@ -250,6 +250,7 @@ plugin_job = gs_plugin_job_newv (GS_PLUGIN_ACTION_GET_UPDATES_HISTORICAL, "failure-flags", GS_PLUGIN_FAILURE_FLAGS_NONE, "refine-flags", GS_PLUGIN_REFINE_FLAGS_REQUIRE_UPDATE_DETAILS | + GS_PLUGIN_REFINE_FLAGS_REQUIRE_ICON | GS_PLUGIN_REFINE_FLAGS_REQUIRE_VERSION, NULL); gs_plugin_loader_job_process_async (dialog->plugin_loader, plugin_job, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.26.3/src/gs-update-list.c new/gnome-software-3.26.4/src/gs-update-list.c --- old/gnome-software-3.26.3/src/gs-update-list.c 2017-11-21 12:01:08.000000000 +0100 +++ new/gnome-software-3.26.4/src/gs-update-list.c 2017-12-17 09:58:55.000000000 +0100 @@ -59,9 +59,9 @@ priv->sizegroup_image, priv->sizegroup_name, NULL); - g_signal_connect (app, "notify::state", - G_CALLBACK (gs_update_list_app_state_notify_cb), - app_row); + g_signal_connect_object (app, "notify::state", + G_CALLBACK (gs_update_list_app_state_notify_cb), + app_row, 0); gtk_widget_show (app_row); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-software-3.26.3/src/gs-updates-page.c new/gnome-software-3.26.4/src/gs-updates-page.c --- old/gnome-software-3.26.3/src/gs-updates-page.c 2017-11-21 12:01:08.000000000 +0100 +++ new/gnome-software-3.26.4/src/gs-updates-page.c 2017-12-17 09:58:55.000000000 +0100 @@ -931,9 +931,9 @@ self->sizegroup_image, self->sizegroup_name, self->sizegroup_button); - g_signal_connect (app, "notify::state", - G_CALLBACK (_app_state_notify_cb), - app_row); + g_signal_connect_object (app, "notify::state", + G_CALLBACK (_app_state_notify_cb), + app_row, 0); } static void