[gnome-shell] Add a downstream patch to revert back to bluez 4

Kalev Lember kalev at fedoraproject.org
Tue Jul 9 23:05:25 UTC 2013


commit 2b2827d98e47d1e2d53eb8a09377178899930ce4
Author: Kalev Lember <kalevlember at gmail.com>
Date:   Tue Jul 9 23:45:41 2013 +0200

    Add a downstream patch to revert back to bluez 4
    
    ... in order to get gnome-shell building again. Looks like it might take
    a while before bluez 5 makes its way to rawhide, but in the mean time we
    need to be able to rebuild gnome-shell.
    
    (The immediate issue is that evolution-data-server just had a soname
    bump and need to rebuild gnome-shell for that.)

 gnome-shell-revert-bluez5-port.patch |  129 ++++++++++++++++++++++++++++++++++
 gnome-shell.spec                     |   11 +++-
 2 files changed, 138 insertions(+), 2 deletions(-)
---
diff --git a/gnome-shell-revert-bluez5-port.patch b/gnome-shell-revert-bluez5-port.patch
new file mode 100644
index 0000000..52b5533
--- /dev/null
+++ b/gnome-shell-revert-bluez5-port.patch
@@ -0,0 +1,129 @@
+From dd74ea99a70fb0c4615b448670a4a1d0b843eab4 Mon Sep 17 00:00:00 2001
+From: Emilio Pozuelo Monfort <emilio.pozuelo at collabora.co.uk>
+Date: Wed, 22 May 2013 16:27:02 +0200
+Subject: [PATCH 1/2] bluetooth: Port to BlueZ 5
+
+In BlueZ 4, Authorize() was used to authorize both service
+and JustWorks authorization requests. In BlueZ 5 these two
+have been split into AuthorizeService() for services and
+RequestAuthorization for JustWorks devices. Adapt the
+Bluetooth code accordingly.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=700891
+---
+ js/ui/status/bluetooth.js | 44 +++++++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 39 insertions(+), 5 deletions(-)
+
+diff --git a/js/ui/status/bluetooth.js b/js/ui/status/bluetooth.js
+index f4610c7..bcc853b 100644
+--- a/js/ui/status/bluetooth.js
++++ b/js/ui/status/bluetooth.js
+@@ -86,6 +86,7 @@ const Indicator = new Lang.Class({
+         this._applet.connect('pincode-request', Lang.bind(this, this._pinRequest));
+         this._applet.connect('confirm-request', Lang.bind(this, this._confirmRequest));
+         this._applet.connect('auth-request', Lang.bind(this, this._authRequest));
++        this._applet.connect('auth-service-request', Lang.bind(this, this._authServiceRequest));
+         this._applet.connect('cancel-request', Lang.bind(this, this._cancelRequest));
+     },
+ 
+@@ -292,9 +293,14 @@ const Indicator = new Lang.Class({
+         }
+     },
+ 
+-    _authRequest: function(applet, device_path, name, long_name, uuid) {
++    _authRequest: function(applet, device_path, name, long_name) {
+         this._ensureSource();
+-        this._source.notify(new AuthNotification(this._source, this._applet, device_path, name, long_name, uuid));
++        this._source.notify(new AuthNotification(this._source, this._applet, device_path, name, long_name));
++    },
++
++    _authServiceRequest: function(applet, device_path, name, long_name, uuid) {
++        this._ensureSource();
++        this._source.notify(new AuthServiceNotification(this._source, this._applet, device_path, name, long_name, uuid));
+     },
+ 
+     _confirmRequest: function(applet, device_path, name, long_name, pin) {
+@@ -316,6 +322,34 @@ const AuthNotification = new Lang.Class({
+     Name: 'AuthNotification',
+     Extends: MessageTray.Notification,
+ 
++    _init: function(source, applet, device_path, name, long_name) {
++        this.parent(source,
++                    _("Bluetooth"),
++                    _("Authorization request from %s").format(name),
++                    { customContent: true });
++        this.setResident(true);
++
++        this._applet = applet;
++        this._devicePath = device_path;
++        this.addBody(_("Device %s wants to pair with this computer").format(long_name));
++
++        this.addButton('allow', _("Allow"));
++        this.addButton('deny', _("Deny"));
++
++        this.connect('action-invoked', Lang.bind(this, function(self, action) {
++            if (action == 'allow')
++                this._applet.agent_reply_confirm(this._devicePath, true);
++            else
++                this._applet.agent_reply_confirm(this._devicePath, false);
++            this.destroy();
++        }));
++    }
++});
++
++const AuthServiceNotification = new Lang.Class({
++    Name: 'AuthServiceNotification',
++    Extends: MessageTray.Notification,
++
+     _init: function(source, applet, device_path, name, long_name, uuid) {
+         this.parent(source,
+                     _("Bluetooth"),
+@@ -334,14 +368,14 @@ const AuthNotification = new Lang.Class({
+         this.connect('action-invoked', Lang.bind(this, function(self, action) {
+             switch (action) {
+             case 'always-grant':
+-                this._applet.agent_reply_auth(this._devicePath, true, true);
++                this._applet.agent_reply_auth_service(this._devicePath, true, true);
+                 break;
+             case 'grant':
+-                this._applet.agent_reply_auth(this._devicePath, true, false);
++                this._applet.agent_reply_auth_service(this._devicePath, true, false);
+                 break;
+             case 'reject':
+             default:
+-                this._applet.agent_reply_auth(this._devicePath, false, false);
++                this._applet.agent_reply_auth_service(this._devicePath, false, false);
+             }
+             this.destroy();
+         }));
+-- 
+1.8.3.1
+
+From c7fb65c78e48ed6f687008684a25cceefafb3992 Mon Sep 17 00:00:00 2001
+From: Emilio Pozuelo Monfort <emilio.pozuelo at collabora.co.uk>
+Date: Mon, 3 Jun 2013 15:38:31 +0200
+Subject: [PATCH 2/2] configure: Bump gnome-bluetooth requirement
+
+Needed for the changes in the agent.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=700891
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 184f911..8e9e0ea 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -109,7 +109,7 @@ PKG_CHECK_MODULES(DESKTOP_SCHEMAS, gsettings-desktop-schemas >= 3.7.4)
+ PKG_CHECK_MODULES(CARIBOU, caribou-1.0 >= 0.4.8)
+ 
+ AC_MSG_CHECKING([for bluetooth support])
+-PKG_CHECK_EXISTS([gnome-bluetooth-1.0 >= 3.1.0],
++PKG_CHECK_EXISTS([gnome-bluetooth-1.0 >= 3.9.0],
+         [BLUETOOTH_DIR=`$PKG_CONFIG --variable=applet_libdir gnome-bluetooth-1.0`
+ 	 BLUETOOTH_LIBS=`$PKG_CONFIG --variable=applet_libs gnome-bluetooth-1.0`
+ 	 AC_SUBST([BLUETOOTH_LIBS],["$BLUETOOTH_LIBS"])
+-- 
+1.8.3.1
+
diff --git a/gnome-shell.spec b/gnome-shell.spec
index 8e7dea4..672eefe 100644
--- a/gnome-shell.spec
+++ b/gnome-shell.spec
@@ -1,6 +1,6 @@
 Name:           gnome-shell
 Version:        3.9.3
-Release:        1%{?dist}
+Release:        2%{?dist}
 Summary:        Window management and application launching for GNOME
 
 Group:          User Interface/Desktops
@@ -13,8 +13,11 @@ Source0:        http://download.gnome.org/sources/gnome-shell/3.8/%{name}-%{vers
 # Replace Epiphany with Firefox in the default favourite apps list
 Patch1: gnome-shell-favourite-apps-firefox.patch
 
+# Revert back to bluez 4 as a downstream patch
+Patch2: gnome-shell-revert-bluez5-port.patch
+
 %define clutter_version 1.13.4
-%define gnome_bluetooth_version 1:3.9.0
+%define gnome_bluetooth_version 1:3.1.0
 %define gobject_introspection_version 0.10.1
 %define gjs_version 1.35.4
 %define mutter_version 3.9.3
@@ -113,6 +116,7 @@ easy to use experience.
 %prep
 %setup -q
 %patch1 -p1 -b .firefox
+%patch2 -p1 -b .revert_bluez5 -R
 
 %build
 (if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; fi;
@@ -178,6 +182,9 @@ glib-compile-schemas --allow-any-name %{_datadir}/glib-2.0/schemas &> /dev/null
 %exclude %{_datadir}/gtk-doc
 
 %changelog
+* Wed Jul 10 2013 Kalev Lember <kalevlember at gmail.com> - 3.9.3-2
+- Add a downstream patch to revert back to bluez 4
+
 * Tue Jun 18 2013 Florian Müllner <fmuellner at redhat.com> - 3.9.3-1
 - Update to 3.9.3
 


More information about the scm-commits mailing list