From 2b2827d98e47d1e2d53eb8a09377178899930ce4 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Tue, 9 Jul 2013 23:45:41 +0200 Subject: [PATCH] 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(-) create mode 100644 gnome-shell-revert-bluez5-port.patch 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 +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 +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 - 3.9.3-2 +- Add a downstream patch to revert back to bluez 4 + * Tue Jun 18 2013 Florian Müllner - 3.9.3-1 - Update to 3.9.3