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.)
This commit is contained in:
Kalev Lember 2013-07-09 23:45:41 +02:00
parent 6556997b58
commit 2b2827d98e
2 changed files with 138 additions and 2 deletions

View File

@ -0,0 +1,129 @@
From dd74ea99a70fb0c4615b448670a4a1d0b843eab4 Mon Sep 17 00:00:00 2001
From: Emilio Pozuelo Monfort <emilio.pozuelo@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@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

View File

@ -1,6 +1,6 @@
Name: gnome-shell Name: gnome-shell
Version: 3.9.3 Version: 3.9.3
Release: 1%{?dist} Release: 2%{?dist}
Summary: Window management and application launching for GNOME Summary: Window management and application launching for GNOME
Group: User Interface/Desktops 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 # Replace Epiphany with Firefox in the default favourite apps list
Patch1: gnome-shell-favourite-apps-firefox.patch 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 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 gobject_introspection_version 0.10.1
%define gjs_version 1.35.4 %define gjs_version 1.35.4
%define mutter_version 3.9.3 %define mutter_version 3.9.3
@ -113,6 +116,7 @@ easy to use experience.
%prep %prep
%setup -q %setup -q
%patch1 -p1 -b .firefox %patch1 -p1 -b .firefox
%patch2 -p1 -b .revert_bluez5 -R
%build %build
(if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; fi; (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 %exclude %{_datadir}/gtk-doc
%changelog %changelog
* Wed Jul 10 2013 Kalev Lember <kalevlember@gmail.com> - 3.9.3-2
- Add a downstream patch to revert back to bluez 4
* Tue Jun 18 2013 Florian Müllner <fmuellner@redhat.com> - 3.9.3-1 * Tue Jun 18 2013 Florian Müllner <fmuellner@redhat.com> - 3.9.3-1
- Update to 3.9.3 - Update to 3.9.3