diff --git a/gnome-bluetooth-fix-crash.patch b/gnome-bluetooth-fix-crash.patch deleted file mode 100644 index b1bfc2c..0000000 --- a/gnome-bluetooth-fix-crash.patch +++ /dev/null @@ -1,113 +0,0 @@ -From 00e1b334b3014ce9ed72b5d3391313467d6fe181 Mon Sep 17 00:00:00 2001 -From: Vincent Untz -Date: Fri, 7 Oct 2011 15:46:51 +0200 -Subject: [PATCH 1/2] lib: Disconnect signals from adapters and devices on - finalize - -This avoids some crashes. - -https://bugzilla.gnome.org/show_bug.cgi?id=661118 - -https://bugzilla.gnome.org/show_bug.cgi?id=654172 ---- - lib/bluetooth-client.c | 33 +++++++++++++++++++++++++++++++++ - 1 files changed, 33 insertions(+), 0 deletions(-) - -Index: gnome-bluetooth-3.3.2/lib/bluetooth-client.c -=================================================================== ---- gnome-bluetooth-3.3.2.orig/lib/bluetooth-client.c -+++ gnome-bluetooth-3.3.2/lib/bluetooth-client.c -@@ -80,6 +80,7 @@ struct _BluetoothClientPrivate { - Manager *manager; - GtkTreeStore *store; - GtkTreeRowReference *default_adapter; -+ GSList *horrible_workaround_for_leaked_ifaces; - }; - - enum { -@@ -323,6 +324,7 @@ get_properties_for_iface (GDBusProxy *pr - static GHashTable * - device_list_nodes (Device *device, BluetoothClient *client) - { -+ BluetoothClientPrivate *priv = BLUETOOTH_CLIENT_GET_PRIVATE(client); - GHashTable *table; - guint i; - -@@ -348,6 +350,8 @@ device_list_nodes (Device *device, Bluet - g_hash_table_lookup (table, BLUEZ_AUDIOSINK_INTERFACE) == NULL) { - continue; - } -+ -+ priv->horrible_workaround_for_leaked_ifaces = g_slist_append (priv->horrible_workaround_for_leaked_ifaces, iface); - } - - /* And skip interface if it's already in the hash table */ -@@ -1001,6 +1005,7 @@ bluez_vanished_cb (GDBusConnection *conn - static void bluetooth_client_init(BluetoothClient *client) - { - BluetoothClientPrivate *priv = BLUETOOTH_CLIENT_GET_PRIVATE(client); -+ GSList *l; - - priv->store = gtk_tree_store_new(_BLUETOOTH_NUM_COLUMNS, G_TYPE_OBJECT, - G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, -@@ -1260,6 +1265,37 @@ bluetooth_client_set_property (GObject - } - } - -+static gboolean -+disconnect_from_proxy_helper (GtkTreeModel *model, -+ GtkTreePath *path, -+ GtkTreeIter *iter, -+ gpointer data) -+{ -+ BluetoothClient *client = data; -+ DBusGProxy *proxy; -+ -+ gtk_tree_model_get(model, iter, -+ BLUETOOTH_COLUMN_PROXY, &proxy, -1); -+ -+ /* adapters */ -+ g_signal_handlers_disconnect_by_func(proxy, -+ adapter_changed, client); -+ g_signal_handlers_disconnect_by_func(proxy, -+ device_created, client); -+ g_signal_handlers_disconnect_by_func(proxy, -+ device_removed, client); -+ g_signal_handlers_disconnect_by_func(proxy, -+ device_found, client); -+ -+ /* devices */ -+ g_signal_handlers_disconnect_by_func(proxy, -+ device_changed, client); -+ -+ g_object_unref(proxy); -+ -+ return FALSE; -+} -+ - static void bluetooth_client_finalize(GObject *client) - { - BluetoothClientPrivate *priv = BLUETOOTH_CLIENT_GET_PRIVATE(client); -@@ -1270,11 +1306,22 @@ static void bluetooth_client_finalize(GO - - g_object_unref(priv->manager); - -+ gtk_tree_model_foreach (GTK_TREE_MODEL(priv->store), disconnect_from_proxy_helper, client); -+ - g_object_unref(priv->store); - - if (priv->default_adapter) - gtk_tree_row_reference_free (priv->default_adapter); - -+ for (l = priv->horrible_workaround_for_leaked_ifaces; l != NULL; l = l->next) { -+ DBusGProxy *iface = l->data; -+ -+ g_signal_handlers_disconnect_by_func(iface, -+ device_services_changed, client); -+ g_object_unref (iface); -+ } -+ g_slist_free (priv->horrible_workaround_for_leaked_ifaces); -+ - G_OBJECT_CLASS(bluetooth_client_parent_class)->finalize(client); - } - diff --git a/gnome-bluetooth-no-dbus-glib.patch b/gnome-bluetooth-no-dbus-glib.patch new file mode 100644 index 0000000..d4871c5 --- /dev/null +++ b/gnome-bluetooth-no-dbus-glib.patch @@ -0,0 +1,60 @@ +Index: gnome-bluetooth-3.3.2/lib/Makefile.am +=================================================================== +--- gnome-bluetooth-3.3.2.orig/lib/Makefile.am ++++ gnome-bluetooth-3.3.2/lib/Makefile.am +@@ -76,8 +76,8 @@ introspection_files = \ + $(libgnome_bluetooth_c_sources) + + GnomeBluetooth-1.0.gir: libgnome-bluetooth.la +-GnomeBluetooth_1_0_gir_INCLUDES = GObject-2.0 Gtk-3.0 DBusGLib-1.0 GModule-2.0 +-GnomeBluetooth_1_0_gir_PACKAGES = gobject-2.0 gtk+-3.0 dbus-glib-1 gmodule-2.0 glib-2.0 ++GnomeBluetooth_1_0_gir_INCLUDES = GObject-2.0 Gtk-3.0 GModule-2.0 ++GnomeBluetooth_1_0_gir_PACKAGES = gobject-2.0 gtk+-3.0 gmodule-2.0 glib-2.0 + GnomeBluetooth_1_0_gir_CFLAGS = -I$(srcdir) + GnomeBluetooth_1_0_gir_LIBS = libgnome-bluetooth.la + GnomeBluetooth_1_0_gir_SCANNERFLAGS = --symbol-prefix=bluetooth_ --identifier-prefix=Bluetooth --pkg-export=gnome-bluetooth-1.0 +Index: gnome-bluetooth-3.3.2/lib/Makefile.in +=================================================================== +--- gnome-bluetooth-3.3.2.orig/lib/Makefile.in ++++ gnome-bluetooth-3.3.2/lib/Makefile.in +@@ -453,8 +453,8 @@ INTROSPECTION_COMPILER_ARGS = --included + @HAVE_INTROSPECTION_TRUE@ $(libgnome_bluetooth_introspect_headers) \ + @HAVE_INTROSPECTION_TRUE@ $(libgnome_bluetooth_c_sources) + +-@HAVE_INTROSPECTION_TRUE@GnomeBluetooth_1_0_gir_INCLUDES = GObject-2.0 Gtk-3.0 DBusGLib-1.0 GModule-2.0 +-@HAVE_INTROSPECTION_TRUE@GnomeBluetooth_1_0_gir_PACKAGES = gobject-2.0 gtk+-3.0 dbus-glib-1 gmodule-2.0 glib-2.0 ++@HAVE_INTROSPECTION_TRUE@GnomeBluetooth_1_0_gir_INCLUDES = GObject-2.0 Gtk-3.0 GModule-2.0 ++@HAVE_INTROSPECTION_TRUE@GnomeBluetooth_1_0_gir_PACKAGES = gobject-2.0 gtk+-3.0 gmodule-2.0 glib-2.0 + @HAVE_INTROSPECTION_TRUE@GnomeBluetooth_1_0_gir_CFLAGS = -I$(srcdir) + @HAVE_INTROSPECTION_TRUE@GnomeBluetooth_1_0_gir_LIBS = libgnome-bluetooth.la + @HAVE_INTROSPECTION_TRUE@GnomeBluetooth_1_0_gir_SCANNERFLAGS = --symbol-prefix=bluetooth_ --identifier-prefix=Bluetooth --pkg-export=gnome-bluetooth-1.0 +Index: gnome-bluetooth-3.3.2/applet/Makefile-lib.am +=================================================================== +--- gnome-bluetooth-3.3.2.orig/applet/Makefile-lib.am ++++ gnome-bluetooth-3.3.2/applet/Makefile-lib.am +@@ -21,8 +21,8 @@ INTROSPECTION_COMPILER_ARGS = --included + if HAVE_INTROSPECTION + GnomeBluetoothApplet-1.0.gir: libgnome-bluetooth-applet.la + GnomeBluetoothApplet_1_0_gir_SCANNERFLAGS = --warn-all --symbol-prefix=bluetooth_ --identifier-prefix=Bluetooth --include-uninstalled=$(top_builddir)/lib/GnomeBluetooth-1.0.gir +-GnomeBluetoothApplet_1_0_gir_INCLUDES = GObject-2.0 Gtk-3.0 DBusGLib-1.0 GModule-2.0 +-GnomeBluetoothApplet_1_0_gir_PACKAGES = gobject-2.0 gtk+-3.0 dbus-glib-1 gmodule-2.0 glib-2.0 ++GnomeBluetoothApplet_1_0_gir_INCLUDES = GObject-2.0 Gtk-3.0 GModule-2.0 ++GnomeBluetoothApplet_1_0_gir_PACKAGES = gobject-2.0 gtk+-3.0 gmodule-2.0 glib-2.0 + GnomeBluetoothApplet_1_0_gir_CFLAGS = -I$(srcdir) -I$(top_srcdir) -I$(top_srcdir)/lib + GnomeBluetoothApplet_1_0_gir_LIBS = libgnome-bluetooth-applet.la + GnomeBluetoothApplet_1_0_gir_FILES = $(libgnome_bluetooth_applet_la_SOURCES) ../lib/bluetooth-enums.h +Index: gnome-bluetooth-3.3.2/applet/Makefile.in +=================================================================== +--- gnome-bluetooth-3.3.2.orig/applet/Makefile.in ++++ gnome-bluetooth-3.3.2/applet/Makefile.in +@@ -356,8 +356,8 @@ INTROSPECTION_GIRS = $(am__append_1) + INTROSPECTION_SCANNER_ARGS = --add-include-path=$(srcdir) + INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir) --includedir=$(top_builddir)/lib + @HAVE_INTROSPECTION_TRUE@GnomeBluetoothApplet_1_0_gir_SCANNERFLAGS = --warn-all --symbol-prefix=bluetooth_ --identifier-prefix=Bluetooth --include-uninstalled=$(top_builddir)/lib/GnomeBluetooth-1.0.gir +-@HAVE_INTROSPECTION_TRUE@GnomeBluetoothApplet_1_0_gir_INCLUDES = GObject-2.0 Gtk-3.0 DBusGLib-1.0 GModule-2.0 +-@HAVE_INTROSPECTION_TRUE@GnomeBluetoothApplet_1_0_gir_PACKAGES = gobject-2.0 gtk+-3.0 dbus-glib-1 gmodule-2.0 glib-2.0 ++@HAVE_INTROSPECTION_TRUE@GnomeBluetoothApplet_1_0_gir_INCLUDES = GObject-2.0 Gtk-3.0 GModule-2.0 ++@HAVE_INTROSPECTION_TRUE@GnomeBluetoothApplet_1_0_gir_PACKAGES = gobject-2.0 gtk+-3.0 gmodule-2.0 glib-2.0 + @HAVE_INTROSPECTION_TRUE@GnomeBluetoothApplet_1_0_gir_CFLAGS = -I$(srcdir) -I$(top_srcdir) -I$(top_srcdir)/lib + @HAVE_INTROSPECTION_TRUE@GnomeBluetoothApplet_1_0_gir_LIBS = libgnome-bluetooth-applet.la + @HAVE_INTROSPECTION_TRUE@GnomeBluetoothApplet_1_0_gir_FILES = $(libgnome_bluetooth_applet_la_SOURCES) ../lib/bluetooth-enums.h diff --git a/gnome-bluetooth.changes b/gnome-bluetooth.changes index a5b9cfd..0bcbe40 100644 --- a/gnome-bluetooth.changes +++ b/gnome-bluetooth.changes @@ -1,14 +1,30 @@ +------------------------------------------------------------------- +Wed Dec 21 01:17:36 UTC 2011 - vuntz@opensuse.org + +- Remove gtk2-devel Requires from devel subpackage: it will + automatically be added the pkgconfig() way. +- Rewrite summary and description of devel subpackage. +- Change group of libgnome-bluetooth9 and + typelib-1_0-GnomeBluetooth-1_0 from System/GUI/GNOME to + System/Libraries. +- Add gnome-bluetooth-no-dbus-glib.patch: finish removing dbus-glib + usage in the build system. +- Remove pkgconfig(dbus-glib-1) BuildRequires: it is gone since + version 3.3.2. + ------------------------------------------------------------------- Thu Dec 8 20:03:29 UTC 2011 - dimstar@opensuse.org -- Split typelib file in typelib-1_0-GnomeBluetooth-1_0. +- Split typelib file into typelib-1_0-GnomeBluetooth-1_0 + subpackage. +- Add typelib-1_0-GnomeBluetooth-1_0 Requires to devel subpackage. ------------------------------------------------------------------- Sat Nov 26 15:16:06 UTC 2011 - dimstar@opensuse.org -- Remove all .la files. gnome-bluetooth-applet.la on its own has - reference to the other la files. Keeping some of them breaks more - than it serves. +- Remove all .la files: gnome-bluetooth-applet.la on its own has + reference to the other la files, so keeping some of them breaks + more than it serves. ------------------------------------------------------------------- Mon Nov 21 17:03:09 UTC 2011 - dimstar@opensuse.org @@ -24,6 +40,9 @@ Mon Nov 21 17:03:09 UTC 2011 - dimstar@opensuse.org - Remove special-case Wiimote handling (now in Bluez) - Remove multi-adapter support + Updated translations. +- Drop gnome-bluetooth-fix-crash.patch: fixed upstream another way. +- Rename libgnome-bluetooth8 to libgnome-bluetooth9, following + soversion bump. ------------------------------------------------------------------- Mon Oct 17 17:49:47 CEST 2011 - dimstar@opensuse.org diff --git a/gnome-bluetooth.spec b/gnome-bluetooth.spec index 6fcf931..c18374a 100644 --- a/gnome-bluetooth.spec +++ b/gnome-bluetooth.spec @@ -16,18 +16,19 @@ # - Name: gnome-bluetooth Version: 3.3.2 -Release: 1 -License: GPLv2+ +Release: 0 Summary: GNOME Bluetooth graphical utilities -Url: http://live.gnome.org/GnomeBluetooth +License: GPL-2.0+ Group: System/GUI/GNOME +Url: http://live.gnome.org/GnomeBluetooth Source: http://download.gnome.org/sources/gnome-bluetooth/3.3/%{name}-%{version}.tar.bz2 Source1: 61-gnome-bluetooth-rfkill.rules # PATCH-MISSING-TAG -- See http://en.opensuse.org/Packaging/Patches Patch0: lxde-support.patch +# PATCH-FIX-UPSTREAM gnome-bluetooth-no-dbus-glib.patch bgo#666630 vuntz@opensuse.org -- Finish removing dbus-glib usage in the build system +Patch1: gnome-bluetooth-no-dbus-glib.patch BuildRequires: fdupes BuildRequires: gnome-doc-utils-devel BuildRequires: gobject-introspection-devel @@ -35,7 +36,6 @@ BuildRequires: intltool BuildRequires: libnotify-devel BuildRequires: translation-update-upstream BuildRequires: update-desktop-files -BuildRequires: pkgconfig(dbus-glib-1) BuildRequires: pkgconfig(gtk+-3.0) >= 2.90.7 BuildRequires: pkgconfig(nautilus-sendto) %if 0%{?BUILD_FROM_VCS} @@ -57,29 +57,20 @@ The gnome-bluetooth package contains graphical utilities to setup, monitor and use Bluetooth devices. %package devel -License: GPLv2+ -Summary: GNOME Bluetooth Support +Summary: GNOME Bluetooth graphical utilities -- Development Files Group: Development/Libraries/GNOME Requires: %{name} = %{version} Requires: typelib-1_0-GnomeBluetooth-1_0 = %{version} -Requires: gtk2-devel Obsoletes: libgnomebt-devel < 0.12 Provides: libgnomebt-devel = 0.12 %description devel -This package contains a controller class, GnomebtController, to control -Bluetooth devices and a simple GUI to explore which devices are -available (gnome-bluetooth-manager). An OBEX server is available, -gnome-obex-server. This receives files sent via Bluetooth to your PC -and saves them in your home directory. The program gnome-obex-send -enables you to send files. It is used by the Nautilus component -- -select the files you want to send and choose "Send via Bluetooth..." -from the context menu. +The gnome-bluetooth package contains graphical utilities to setup, +monitor and use Bluetooth devices. %package -n libgnome-bluetooth9 -License: GPLv2+ Summary: GNOME Bluetooth graphical utilities -Group: System/GUI/GNOME +Group: System/Libraries Obsoletes: libgnomebt1 <= 0.12 %description -n libgnome-bluetooth9 @@ -87,15 +78,17 @@ The gnome-bluetooth package contains graphical utilities to setup, monitor and use Bluetooth devices. %package -n typelib-1_0-GnomeBluetooth-1_0 -Summary: GNOME Bluetooth graphical utilities -Group: System/GUI/GNOME +Summary: GNOME Bluetooth graphical utilities -- Introspection bindings +Group: System/Libraries %description -n typelib-1_0-GnomeBluetooth-1_0 The gnome-bluetooth package contains graphical utilities to setup, monitor and use Bluetooth devices. +This package provides the GObject Introspection bindings for the +gnome-bluetooth library. + %package plugins-geoclue -License: GPLv2+ Summary: GNOME Bluetooth Support Group: System/GUI/GNOME Requires: %{name} = %{version} @@ -106,7 +99,6 @@ The gnome-bluetooth package contains graphical utilities to setup, monitor and use Bluetooth devices. %package -n nautilus-sendto-plugin-bluetooth -License: GPLv2+ Summary: Bluetooth plugin for nautilus-sendto Group: Productivity/File utilities Requires: %{name} = %{version} @@ -121,6 +113,7 @@ send files over bluetooth. %setup -q translation-update-upstream %patch0 -p1 +%patch1 -p1 %if 0%{?BUILD_FROM_VCS} [ -x ./autogen.sh ] && NOCONFIGURE=1 ./autogen.sh