Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gnome-info-collect for openSUSE:Factory checked in at 2022-08-05 19:51:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gnome-info-collect (Old) and /work/SRC/openSUSE:Factory/.gnome-info-collect.new.1521 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnome-info-collect" Fri Aug 5 19:51:12 2022 rev:3 rq:993164 version:1.0.5 Changes: -------- --- /work/SRC/openSUSE:Factory/gnome-info-collect/gnome-info-collect.changes 2022-06-08 14:25:34.596551119 +0200 +++ /work/SRC/openSUSE:Factory/.gnome-info-collect.new.1521/gnome-info-collect.changes 2022-08-05 19:52:11.565640308 +0200 @@ -1,0 +2,12 @@ +Thu Aug 4 08:26:05 UTC 2022 - Dominique Leuenberger <dims...@opensuse.org> + +- Update to version 1.0.5: + + Fixed Ubuntu malcontent crash. + + List of enabled extensions now correctly contains mode + extensions. +- Changes from version 1.0.4: + + Updated checking for RDP in addition to VNC when getting remote + desktop settings. + + Handle absence of gir in Goa. + +------------------------------------------------------------------- Old: ---- gnome-info-collect-v1.0-3.tar.gz New: ---- gnome-info-collect-v1.0-5.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gnome-info-collect.spec ++++++ --- /var/tmp/diff_new_pack.KJPc99/_old 2022-08-05 19:52:11.957641320 +0200 +++ /var/tmp/diff_new_pack.KJPc99/_new 2022-08-05 19:52:11.965641341 +0200 @@ -17,12 +17,12 @@ Name: gnome-info-collect -Version: 1.0.3 +Version: 1.0.5 Release: 0 Summary: A simple utility to collect system information License: GPL-3.0-or-later URL: https://gitlab.gnome.org/vstanek/gnome-info-collect -Source: https://gitlab.gnome.org/vstanek/gnome-info-collect/-/archive/v1.0-3/gnome-info-collect-v1.0-3.tar.gz +Source: https://gitlab.gnome.org/vstanek/gnome-info-collect/-/archive/v1.0-5/gnome-info-collect-v1.0-5.tar.gz BuildRequires: gobject-introspection Requires: python3-gobject Requires: python3-requests @@ -35,7 +35,7 @@ The data will be used only for the purpose of enhancing usability and user experience of GNOME. %prep -%autosetup -p1 -n %{name}-v1.0-3 +%autosetup -p1 -n %{name}-v1.0-5 sed -i "s|bin/env python3$|bin/python3|g" client/client.py %build ++++++ gnome-info-collect-v1.0-3.tar.gz -> gnome-info-collect-v1.0-5.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-info-collect-v1.0-3/README.md new/gnome-info-collect-v1.0-5/README.md --- old/gnome-info-collect-v1.0-3/README.md 2022-05-09 16:28:46.000000000 +0200 +++ new/gnome-info-collect-v1.0-5/README.md 2022-07-21 21:40:00.000000000 +0200 @@ -36,31 +36,22 @@ The client can be run on any GNOME system, where it collects the following data: -- Operating system - - distribution - - variant - - version -- Hardware - - manufacturer/vendor - - model -- Flatpak setup - - installed/not installed - - flathub status (enabled/filtered/disabled) -- Installed applications -- Favourited applications (the ones in dash) -- Types of GNOME online accounts setup -- Sharing settings enabled - - file sharing (DAV) - - remote desktop (VNC) - - multimedia sharing - - remote login (SSH) -- Workspaces settings - - primary/all displays - - dynamic/static -- Number of users on the system -- Default browser -- Enabled GNOME extensions -- [Salted hash](https://en.wikipedia.org/wiki/Salt_(cryptography) "Wikipedia - Salt (crptography)") of machine ID+username for de-duplication +| Data | Research Questions | +|------------------|--------------------| +| Distribution, variant, version | Who is providing data? Is the information influnced by the distribution used? | +| Hardware (manufacturer/vendor, model) | Which hardware should GNOME prioritize its support for? | +| Flatpak installed? | To what extent should GNOME Software be designed around Flatpak being available? | +| Flathub status (enabled/filtered/disabled) | To what extent should GNOME Software be designed around Flathub being available? | +| Installed applications | Which applications should GNOME prioritise the development of? Are there any 3rd party apps that could be moved to core? | +| Favourited applications (the ones in dash) | Is the customizable dash a useful feature? Which apps should be favourited by default? | +| Types of GNOME online accounts setup | Which accounts does GNOME need to continue supporting? To what extent is GOA used? | +| Sharing settings enabled (file sharing (DAV), remote desktop (VNC & RDP), multimedia sharing, remote login (SSH)) | Which sharing settings need to continue being part of the Settings app? Which could be moved elsewhere? | +| Workspaces on primary only/workspaces on all displays | What level of resources should be in invested in workspaces on all displays? | +| Dynamic/static workspaces | What level of resources should be invested in static workspaces? | +| Number of users on the system | Does the multiuser experience deserve more attention? | +| Default browser | Where should browser integration work be focused? | +| Enabled GNOME extensions | Any changes from extensions that should be considered for the default shell experience? | +| [Salted hash](https://en.wikipedia.org/wiki/Salt_(cryptography) "Wikipedia - Salt (crptography)") of machine ID+username | Used to de-duplicate responses | After the collection, the data is presented to the user for both confirmation and legal consent and then securely sent to a server for processing. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-info-collect-v1.0-3/build-aux/rpm/gnome-info-collect.spec new/gnome-info-collect-v1.0-5/build-aux/rpm/gnome-info-collect.spec --- old/gnome-info-collect-v1.0-3/build-aux/rpm/gnome-info-collect.spec 2022-05-09 16:28:46.000000000 +0200 +++ new/gnome-info-collect-v1.0-5/build-aux/rpm/gnome-info-collect.spec 2022-07-21 21:40:00.000000000 +0200 @@ -1,6 +1,6 @@ %define name gnome-info-collect %define version 1.0 -%define release 3 +%define release 4 Summary: A simple utility to collect system information. Name: %{name} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-info-collect-v1.0-3/client/client.py new/gnome-info-collect-v1.0-5/client/client.py --- old/gnome-info-collect-v1.0-3/client/client.py 2022-05-09 16:28:46.000000000 +0200 +++ new/gnome-info-collect-v1.0-5/client/client.py 2022-07-21 21:40:00.000000000 +0200 @@ -15,9 +15,15 @@ import gi -gi.require_version('Goa', '1.0') gi.require_version('AccountsService', '1.0') -from gi.repository import GLib, Gio, Goa, AccountsService +from gi.repository import GLib, Gio, AccountsService + +try: + gi.require_version('Goa', '1.0') + from gi.repository import Goa + HAVE_GOA = True +except (ValueError, ImportError): + HAVE_GOA = False # Older GNOME (<41) compatibility try: @@ -122,7 +128,7 @@ None ) except Exception: - raise + app_filter = None else: app_filter = None @@ -145,12 +151,37 @@ self.data["Favourited apps"] = favs def _get_online_accounts(self): - goa_client = Goa.Client.new_sync(None) - acc_objects = goa_client.get_accounts() - accounts = [] - for acc in acc_objects: - accounts.append(acc.get_account().props.provider_name) # or provider_type + + if HAVE_GOA: + goa_client = Goa.Client.new_sync(None) + acc_objects = goa_client.get_accounts() + + for acc in acc_objects: + accounts.append(acc.get_account().props.provider_name) # or provider_type + else: + goa = Gio.DBusProxy.new_for_bus_sync( + Gio.BusType.SESSION, + Gio.DBusProxyFlags.NONE, + None, + "org.gnome.OnlineAccounts", + "/org/gnome/OnlineAccounts", + "org.freedesktop.DBus.ObjectManager", + None, + ) + goa_objects, = goa.call_sync( + "GetManagedObjects", + None, + Gio.DBusCallFlags.NONE, + -1, + None, + ).unpack() + for ifaces in goa_objects.values(): + try: + account_props = ifaces["org.gnome.OnlineAccounts.Account"] + accounts.append(account_props["ProviderName"]) + except KeyError: + pass self.data["Online accounts"] = accounts @@ -171,11 +202,20 @@ else: self.data["File sharing"] = "inactive" + # Remote desktop (RDP) - default in GNOME 42 and newer + rdp_schema = "org.gnome.desktop.remote-desktop.rdp" + rdp_path = "/org/gnome/desktop/remote-desktop/rdp/" + schema_source = Gio.SettingsSchemaSource.get_default() + if schema_source.lookup(rdp_schema, False): + rdp_on = Gio.Settings.new_with_path(rdp_schema, rdp_path).get_value("enable") + else: + rdp_on = False + # Remote desktop (VNC) # Need to check both gnome-remote-desktop and vino-server grd_on = self._fetch_sharing_setting("gnome-remote-desktop") vino_on = self._fetch_sharing_setting("vino-server") - if (grd_on or vino_on): + if (grd_on or vino_on or rdp_on): self.data["Remote desktop"] = "active" else: self.data["Remote desktop"] = "inactive" @@ -222,12 +262,29 @@ def _get_enabled_extensions(self): enabled_extensions_list = [] - enabled_ext_setting = Gio.Settings( - schema_id="org.gnome.shell" - ).get_value("enabled-extensions") - for ext in enabled_ext_setting: - enabled_extensions_list.append(str(ext)) + ge = Gio.DBusProxy.new_for_bus_sync( + Gio.BusType.SESSION, + Gio.DBusProxyFlags.NONE, + None, + "org.gnome.Shell", + "/org/gnome/Shell", + "org.gnome.Shell.Extensions", + None, + ) + ext_objects, = ge.call_sync( + "ListExtensions", + None, + Gio.DBusCallFlags.NONE, + -1, + None, + ).unpack() + for obj in ext_objects.values(): + try: + if obj["state"] == 1.0: + enabled_extensions_list.append(obj["uuid"]) + except KeyError: + pass self.data["Enabled extensions"] = enabled_extensions_list