Hello community, here is the log from the commit of package gnome-bluetooth for openSUSE:Factory checked in at 2018-08-07 09:41:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gnome-bluetooth (Old) and /work/SRC/openSUSE:Factory/.gnome-bluetooth.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnome-bluetooth" Tue Aug 7 09:41:24 2018 rev:91 rq:627097 version:3.28.2 Changes: -------- --- /work/SRC/openSUSE:Factory/gnome-bluetooth/gnome-bluetooth.changes 2018-07-31 15:54:40.315066434 +0200 +++ /work/SRC/openSUSE:Factory/.gnome-bluetooth.new/gnome-bluetooth.changes 2018-08-07 09:41:25.533137362 +0200 @@ -1,0 +2,11 @@ +Wed Aug 1 18:41:08 UTC 2018 - bjorn....@gmail.com + +- Update to version 3.28.2: + + Use feature of BlueZ 5.51 to avoid Bluetooth adapters being + left discoverable if the Settings panel exits suddenly. + + Build warning fixes. +- Add pkgconfig(gio-unix-2.0), pkgconfig(gmodule-2.0) and + pkgconfig(libnotify) BuildRequires and drop pkgconfig(udev) + BuildRequires, align with what meson checks for. + +------------------------------------------------------------------- Old: ---- gnome-bluetooth-3.28.1.tar.xz New: ---- gnome-bluetooth-3.28.2.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gnome-bluetooth.spec ++++++ --- /var/tmp/diff_new_pack.b8Jlnl/_old 2018-08-07 09:41:25.973138129 +0200 +++ /var/tmp/diff_new_pack.b8Jlnl/_new 2018-08-07 09:41:25.977138135 +0200 @@ -18,7 +18,7 @@ %define _udevdir %(pkg-config --variable udevdir udev) Name: gnome-bluetooth -Version: 3.28.1 +Version: 3.28.2 Release: 0 Summary: GNOME Bluetooth graphical utilities License: GPL-2.0-or-later AND LGPL-2.1-or-later @@ -32,11 +32,12 @@ BuildRequires: pkgconfig BuildRequires: translation-update-upstream BuildRequires: yelp-tools +BuildRequires: pkgconfig(gio-unix-2.0) +BuildRequires: pkgconfig(gmodule-2.0) BuildRequires: pkgconfig(gtk+-3.0) >= 3.12.0 BuildRequires: pkgconfig(libcanberra-gtk3) -BuildRequires: pkgconfig(libnotify) +BuildRequires: pkgconfig(libnotify) >= 0.7.0 BuildRequires: pkgconfig(libudev) -BuildRequires: pkgconfig(udev) # Require bluez (mandatory, as per readme, bnc#622946) Requires: bluez >= 5 Recommends: %{name}-lang ++++++ gnome-bluetooth-3.28.1.tar.xz -> gnome-bluetooth-3.28.2.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-bluetooth-3.28.1/NEWS new/gnome-bluetooth-3.28.2/NEWS --- old/gnome-bluetooth-3.28.1/NEWS 2018-07-19 14:40:30.000000000 +0200 +++ new/gnome-bluetooth-3.28.2/NEWS 2018-08-01 14:30:38.000000000 +0200 @@ -1,3 +1,8 @@ +ver 3.28.2: +- Use feature of BlueZ 5.51 to avoid Bluetooth adapters being left + Discoverable if the Settings panel exits suddenly +- Build warning fixes + ver 3.28.1: - Work-around a race in bluetoothd which would leave Bluetooth adapters discoverable even after the Settings panel closed cleanly diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-bluetooth-3.28.1/lib/bluetooth-client.c new/gnome-bluetooth-3.28.2/lib/bluetooth-client.c --- old/gnome-bluetooth-3.28.1/lib/bluetooth-client.c 2018-07-19 14:40:30.000000000 +0200 +++ new/gnome-bluetooth-3.28.2/lib/bluetooth-client.c 2018-08-01 14:30:38.000000000 +0200 @@ -62,6 +62,9 @@ GCancellable *cancellable; GtkTreeStore *store; GtkTreeRowReference *default_adapter; + /* Discoverable during discovery? */ + gboolean disco_during_disco; + gboolean discovery_started; }; enum { @@ -652,7 +655,7 @@ /* Ensure that all devices are removed. This can happen if bluetoothd * crashes as the "object-removed" signal is emitted in an undefined * order. */ - have_child = gtk_tree_model_iter_children (priv->store, &childiter, &iter); + have_child = gtk_tree_model_iter_children (GTK_TREE_MODEL (priv->store), &childiter, &iter); while (have_child) { GDBusProxy *object; @@ -942,40 +945,9 @@ } /** - * _bluetooth_client_get_discoverable: - * @client: a #BluetoothClient - * - * Gets the default adapter's discoverable status, cached in the adapter model. - * - * Returns: the discoverable status, or FALSE if no default adapter exists - */ -static gboolean -_bluetooth_client_get_discoverable (BluetoothClient *client) -{ - BluetoothClientPrivate *priv; - GtkTreePath *path; - GtkTreeIter iter; - gboolean ret; - - g_return_val_if_fail (BLUETOOTH_IS_CLIENT (client), FALSE); - - priv = BLUETOOTH_CLIENT_GET_PRIVATE (client); - if (priv->default_adapter == NULL) - return FALSE; - - path = gtk_tree_row_reference_get_path (priv->default_adapter); - gtk_tree_model_get_iter (GTK_TREE_MODEL (priv->store), &iter, path); - gtk_tree_model_get (GTK_TREE_MODEL (priv->store), &iter, - BLUETOOTH_COLUMN_DISCOVERABLE, &ret, -1); - - return ret; -} - -/** * _bluetooth_client_set_discoverable: * @client: a #BluetoothClient object * @discoverable: whether the device should be discoverable - * @timeout: timeout in seconds for making undiscoverable, or 0 for never * * Sets the default adapter's discoverable status. * @@ -983,8 +955,7 @@ **/ static gboolean _bluetooth_client_set_discoverable (BluetoothClient *client, - gboolean discoverable, - guint timeout) + gboolean discoverable) { BluetoothClientPrivate *priv = BLUETOOTH_CLIENT_GET_PRIVATE (client); GtkTreePath *path; @@ -1008,7 +979,7 @@ if (discoverable) { g_object_set (adapter, "discoverable", discoverable, - "discoverable-timeout", timeout, + "discoverable-timeout", 0, NULL); } else { /* Work-around race in bluetoothd which would reset the discoverable @@ -1026,27 +997,28 @@ static void _bluetooth_client_set_default_adapter_discovering (BluetoothClient *client, - gboolean discover) + gboolean discovering, + gboolean discoverable) { BluetoothClientPrivate *priv = BLUETOOTH_CLIENT_GET_PRIVATE (client); - GtkTreeIter iter; GDBusProxy *adapter; - gboolean current; + GVariantBuilder builder; adapter = _bluetooth_client_get_default_adapter (client); if (adapter == NULL) return; - get_iter_from_proxy (priv->store, &iter, adapter); - gtk_tree_model_get (GTK_TREE_MODEL (priv->store), &iter, - BLUETOOTH_COLUMN_DISCOVERING, ¤t, -1); - - if (current == discover) { - g_object_unref(adapter); - return; + g_variant_builder_init (&builder, G_VARIANT_TYPE_VARDICT); + g_variant_builder_add (&builder, "{sv}", + "Discoverable", g_variant_new_boolean (discoverable)); + if (!adapter1_call_set_discovery_filter_sync (ADAPTER1 (adapter), + g_variant_builder_end (&builder), NULL, NULL)) { + /* BlueZ too old? */ + _bluetooth_client_set_discoverable (client, discoverable); } - if (discover) + priv->discovery_started = discovering; + if (discovering) adapter1_call_start_discovery_sync (ADAPTER1 (adapter), NULL, NULL); else adapter1_call_stop_discovery_sync (ADAPTER1 (adapter), NULL, NULL); @@ -1080,6 +1052,7 @@ GParamSpec *pspec) { BluetoothClient *self = BLUETOOTH_CLIENT (object); + BluetoothClientPrivate *priv = BLUETOOTH_CLIENT_GET_PRIVATE (self); switch (property_id) { case PROP_DEFAULT_ADAPTER: @@ -1092,7 +1065,7 @@ g_value_take_string (value, _bluetooth_client_get_default_adapter_name (self)); break; case PROP_DEFAULT_ADAPTER_DISCOVERABLE: - g_value_set_boolean (value, _bluetooth_client_get_discoverable (self)); + g_value_set_boolean (value, priv->disco_during_disco); break; case PROP_DEFAULT_ADAPTER_DISCOVERING: g_value_set_boolean (value, _bluetooth_client_get_default_adapter_discovering (self)); @@ -1110,13 +1083,15 @@ GParamSpec *pspec) { BluetoothClient *self = BLUETOOTH_CLIENT (object); + BluetoothClientPrivate *priv = BLUETOOTH_CLIENT_GET_PRIVATE (self); switch (property_id) { case PROP_DEFAULT_ADAPTER_DISCOVERABLE: - _bluetooth_client_set_discoverable (self, g_value_get_boolean (value), 0); + priv->disco_during_disco = g_value_get_boolean (value); + _bluetooth_client_set_default_adapter_discovering (self, priv->discovery_started, priv->disco_during_disco); break; case PROP_DEFAULT_ADAPTER_DISCOVERING: - _bluetooth_client_set_default_adapter_discovering (self, g_value_get_boolean (value)); + _bluetooth_client_set_default_adapter_discovering (self, g_value_get_boolean (value), priv->disco_during_disco); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); @@ -1187,11 +1162,11 @@ /** * BluetoothClient:default-adapter-discoverable: * - * %TRUE if the default Bluetooth adapter is discoverable. + * %TRUE if the default Bluetooth adapter is discoverable during discovery. */ g_object_class_install_property (object_class, PROP_DEFAULT_ADAPTER_DISCOVERABLE, g_param_spec_boolean ("default-adapter-discoverable", NULL, - "Whether the default adapter is visible by other devices", + "Whether the default adapter is visible by other devices during discovery", FALSE, G_PARAM_READWRITE)); /** * BluetoothClient:default-adapter-name: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-bluetooth-3.28.1/lib/bluetooth-client.xml new/gnome-bluetooth-3.28.2/lib/bluetooth-client.xml --- old/gnome-bluetooth-3.28.1/lib/bluetooth-client.xml 2018-07-19 14:40:30.000000000 +0200 +++ new/gnome-bluetooth-3.28.2/lib/bluetooth-client.xml 2018-08-01 14:30:38.000000000 +0200 @@ -6,6 +6,7 @@ <method name="StartDiscovery"></method> <method name="StopDiscovery"></method> <method name="RemoveDevice"><arg name="device" type="o" direction="in"/></method> + <method name="SetDiscoveryFilter"><arg name="properties" type="a{sv}" direction="in"/></method> <property name="Address" type="s" access="read"></property> <property name="Name" type="s" access="read"></property> <property name="Alias" type="s" access="readwrite"></property> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-bluetooth-3.28.1/lib/meson.build new/gnome-bluetooth-3.28.2/lib/meson.build --- old/gnome-bluetooth-3.28.1/lib/meson.build 2018-07-19 14:40:30.000000000 +0200 +++ new/gnome-bluetooth-3.28.2/lib/meson.build 2018-08-01 14:30:38.000000000 +0200 @@ -70,11 +70,7 @@ deps = [ gtk_dep, m_dep, - dependency('gio-unix-2.0'), - dependency('gmodule-2.0'), - dependency('libcanberra-gtk3'), - dependency('libnotify', version: '>= 0.7.0'), - dependency('libudev') + libgbt_dep ] cflags = [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-bluetooth-3.28.1/meson.build new/gnome-bluetooth-3.28.2/meson.build --- old/gnome-bluetooth-3.28.1/meson.build 2018-07-19 14:40:30.000000000 +0200 +++ new/gnome-bluetooth-3.28.2/meson.build 2018-08-01 14:30:38.000000000 +0200 @@ -1,6 +1,6 @@ project( 'gnome-bluetooth', 'c', - version: '3.28.1', + version: '3.28.2', license: 'GPL2+', default_options: 'buildtype=debugoptimized', meson_version: '>= 0.43.0' @@ -99,6 +99,12 @@ gtk_dep = dependency('gtk+-3.0', version: '>= 3.12.0') m_dep = cc.find_library('m') +libgbt_dep = [ dependency('gio-unix-2.0'), + dependency('gmodule-2.0'), + dependency('libcanberra-gtk3'), + dependency('libnotify', version: '>= 0.7.0'), + dependency('libudev') +] gnome = import('gnome') i18n = import('i18n') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gnome-bluetooth-3.28.1/sendto/meson.build new/gnome-bluetooth-3.28.2/sendto/meson.build --- old/gnome-bluetooth-3.28.1/sendto/meson.build 2018-07-19 14:40:30.000000000 +0200 +++ new/gnome-bluetooth-3.28.2/sendto/meson.build 2018-08-01 14:30:38.000000000 +0200 @@ -1,10 +1,5 @@ name = 'bluetooth-sendto' -deps = [ - gtk_dep, - dependency('gio-2.0') -] - executable( name, 'main.c', @@ -12,7 +7,7 @@ top_inc, lib_inc ], - dependencies: deps, + dependencies: gtk_dep, link_with: libgnome_bluetooth, install: true, install_dir: gnomebt_bindir