[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