[bluez/f18] Use git to manage distro patches

Bastien Nocera hadess at fedoraproject.org
Thu Jan 10 08:29:00 UTC 2013


commit 5e61695c9a3f164a34eb6bc1a7feb72afc9107c2
Author: Bastien Nocera <hadess at hadess.net>
Date:   Thu Jan 10 09:23:48 2013 +0100

    Use git to manage distro patches
    
    - Add numerous upstream and downstream patches (#892929)
    
    Conflicts:
    	bluez.spec

 0001-Activate-the-Socket-Mobile-CF-kit.patch       |   25 +++++
 0001-Allow-PulseAudio-to-connect-by-default.patch  |   28 ++++++
 ...Gateway-and-Source-audio-profiles-by-defa.patch |   46 +++++++++
 ...ix-GDBus-flags-after-conversion-to-macros.patch |   84 ++++++++++++++++
 ...-Permit-concurrent-use-of-AG-and-HF-roles.patch |   51 ++++++++++
 ...ot-adding-watches-when-io-channel-is-conn.patch |  101 ++++++++++++++++++++
 0001-network-NULL-dereference-fix.patch            |   34 +++++++
 ...ork-fix-network-Connect-method-parameters.patch |   27 +++++
 ...-Logitech-diNovo-Edge-keyboard-firmware-i.patch |   29 ++++++
 bluez-4.101-allow-a2dp-with-pulseaudio.patch       |   15 ---
 bluez-socket-mobile-cf-connection-kit.patch        |   12 ---
 bluez.gitignore                                    |  100 +++++++++++++++++++
 bluez.spec                                         |   37 +++++--
 13 files changed, 552 insertions(+), 37 deletions(-)
---
diff --git a/0001-Activate-the-Socket-Mobile-CF-kit.patch b/0001-Activate-the-Socket-Mobile-CF-kit.patch
new file mode 100644
index 0000000..d2f9aef
--- /dev/null
+++ b/0001-Activate-the-Socket-Mobile-CF-kit.patch
@@ -0,0 +1,25 @@
+From 9c6f914530c3873e88b55e3f7c18ce2b8b533e20 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess at hadess.net>
+Date: Thu, 10 Jan 2013 09:14:33 +0100
+Subject: [PATCH] Activate the Socket Mobile CF kit
+
+https://bugzilla.redhat.com/show_bug.cgi?id=498756
+---
+ scripts/bluetooth-serial.rules | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/scripts/bluetooth-serial.rules b/scripts/bluetooth-serial.rules
+index 072335f..f6284ff 100644
+--- a/scripts/bluetooth-serial.rules
++++ b/scripts/bluetooth-serial.rules
+@@ -33,3 +33,7 @@ SUBSYSTEM=="tty", SUBSYSTEMS=="pcmcia", ATTRS{prod_id1}=="PCMCIA", ATTRS{prod_id
+ 
+ # CC&C BT0100M
+ SUBSYSTEM=="tty", SUBSYSTEMS=="pcmcia", ATTRS{prod_id1}=="Bluetooth BT0100M", ENV{HCIOPTS}="bcsp 115200", RUN+="bluetooth_serial"
++
++# SocketMobile CF Connection Kit
++SUBSYSTEM=="tty", SUBSYSTEMS=="pcmcia", ATTRS{prod_id1}=="Socket", ATTRS{prod_id2}=="CF+ Personal Network Card Rev 2.5", ENV{HCIOPTS}="socket", RUN+="bluetooth_serial"
++
+-- 
+1.8.0.1
+
diff --git a/0001-Allow-PulseAudio-to-connect-by-default.patch b/0001-Allow-PulseAudio-to-connect-by-default.patch
new file mode 100644
index 0000000..e957ae1
--- /dev/null
+++ b/0001-Allow-PulseAudio-to-connect-by-default.patch
@@ -0,0 +1,28 @@
+From dcbeaaa74020031741ad3727e651cdd2d00c773f Mon Sep 17 00:00:00 2001
+From: Luke Hutchison <luke.hutch at gmail.com>
+Date: Thu, 10 Jan 2013 09:13:19 +0100
+Subject: [PATCH] Allow PulseAudio to connect by default
+
+https://bugzilla.redhat.com/show_bug.cgi?id=874015#c0
+---
+ audio/audio.conf | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/audio/audio.conf b/audio/audio.conf
+index fd6092a..9a80e63 100644
+--- a/audio/audio.conf
++++ b/audio/audio.conf
+@@ -4,6 +4,10 @@
+ # particular interface
+ [General]
+ 
++# Allow PulseAudio to connect by default
++# https://bugzilla.redhat.com/show_bug.cgi?id=874015#c0
++Enable=Socket
++
+ # Switch to master role for incoming connections (defaults to true)
+ #Master=true
+ 
+-- 
+1.8.0.1
+
diff --git a/0001-Enable-the-Gateway-and-Source-audio-profiles-by-defa.patch b/0001-Enable-the-Gateway-and-Source-audio-profiles-by-defa.patch
new file mode 100644
index 0000000..817f5ac
--- /dev/null
+++ b/0001-Enable-the-Gateway-and-Source-audio-profiles-by-defa.patch
@@ -0,0 +1,46 @@
+From 0b5f5d0be6a1c9aa2d63e72e6a979f46cfbcc866 Mon Sep 17 00:00:00 2001
+From: Mathieu Trudel-Lapierre <mathieu.trudel-lapierre at canonical.com>
+Date: Thu, 10 Jan 2013 09:20:22 +0100
+Subject: [PATCH] Enable the Gateway and Source audio profiles by default.
+
+Those can be disabled by the user in /etc/bluetooth/audio.conf if
+necessary.
+
+https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/948613
+---
+ audio/a2dp.c    | 2 +-
+ audio/manager.c | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/audio/a2dp.c b/audio/a2dp.c
+index 404be53..6c0ab26 100644
+--- a/audio/a2dp.c
++++ b/audio/a2dp.c
+@@ -1444,7 +1444,7 @@ int a2dp_register(DBusConnection *conn, const bdaddr_t *src, GKeyFile *config)
+ {
+ 	int sbc_srcs = 0, sbc_sinks = 0;
+ 	int mpeg12_srcs = 0, mpeg12_sinks = 0;
+-	gboolean source = TRUE, sink = FALSE, socket = FALSE;
++	gboolean source = TRUE, sink = TRUE, socket = TRUE;
+ 	gboolean delay_reporting = FALSE;
+ 	char *str;
+ 	GError *err = NULL;
+diff --git a/audio/manager.c b/audio/manager.c
+index d442d1d..99e03bb 100644
+--- a/audio/manager.c
++++ b/audio/manager.c
+@@ -110,9 +110,9 @@ static GSList *devices = NULL;
+ static struct enabled_interfaces enabled = {
+ 	.hfp		= TRUE,
+ 	.headset	= TRUE,
+-	.gateway	= FALSE,
++	.gateway	= TRUE,
+ 	.sink		= TRUE,
+-	.source		= FALSE,
++	.source		= TRUE,
+ 	.control	= TRUE,
+ 	.socket		= FALSE,
+ 	.media		= TRUE,
+-- 
+1.8.0.1
+
diff --git a/0001-Fix-GDBus-flags-after-conversion-to-macros.patch b/0001-Fix-GDBus-flags-after-conversion-to-macros.patch
new file mode 100644
index 0000000..44bcd45
--- /dev/null
+++ b/0001-Fix-GDBus-flags-after-conversion-to-macros.patch
@@ -0,0 +1,84 @@
+From a66a557038c0e3d21bc4f14090efb497558a12be Mon Sep 17 00:00:00 2001
+From: Lucas De Marchi <lucas.demarchi at profusion.mobi>
+Date: Tue, 26 Jun 2012 18:11:25 -0300
+Subject: [PATCH] Fix GDBus flags after conversion to macros
+
+Commit "aa3b9016bf444b60e1b7e1804dfc323a23a93c5a Convert GDBus methods
+to use macro helpers" converted the previous tables to use the new
+macros but some flags were lost.
+---
+ attrib/client.c   | 2 +-
+ audio/control.c   | 2 +-
+ audio/headset.c   | 2 +-
+ audio/transport.c | 2 +-
+ src/manager.c     | 2 +-
+ 5 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/attrib/client.c b/attrib/client.c
+index 8d119df..b3e3abe 100644
+--- a/attrib/client.c
++++ b/attrib/client.c
+@@ -519,7 +519,7 @@ static const GDBusMethodTable char_methods[] = {
+ 	{ GDBUS_METHOD("GetProperties",
+ 			NULL, GDBUS_ARGS({ "properties", "a{sv}" }),
+ 			get_properties) },
+-	{ GDBUS_METHOD("SetProperty",
++	{ GDBUS_ASYNC_METHOD("SetProperty",
+ 			GDBUS_ARGS({ "name", "s" }, { "value", "v" }), NULL,
+ 			set_property) },
+ 	{ }
+diff --git a/audio/control.c b/audio/control.c
+index c5a6a58..187f838 100644
+--- a/audio/control.c
++++ b/audio/control.c
+@@ -198,7 +198,7 @@ static DBusMessage *control_get_properties(DBusConnection *conn,
+ }
+ 
+ static const GDBusMethodTable control_methods[] = {
+-	{ GDBUS_ASYNC_METHOD("IsConnected",
++	{ GDBUS_DEPRECATED_METHOD("IsConnected",
+ 				NULL, GDBUS_ARGS({ "connected", "b" }),
+ 				control_is_connected) },
+ 	{ GDBUS_METHOD("GetProperties",
+diff --git a/audio/headset.c b/audio/headset.c
+index 729e4dc..b9c6265 100644
+--- a/audio/headset.c
++++ b/audio/headset.c
+@@ -2094,7 +2094,7 @@ static const GDBusMethodTable headset_methods[] = {
+ static const GDBusSignalTable headset_signals[] = {
+ 	{ GDBUS_DEPRECATED_SIGNAL("Connected", NULL) },
+ 	{ GDBUS_DEPRECATED_SIGNAL("Disconnected", NULL) },
+-	{ GDBUS_DEPRECATED_SIGNAL("AnswerRequested", NULL) },
++	{ GDBUS_SIGNAL("AnswerRequested", NULL) },
+ 	{ GDBUS_DEPRECATED_SIGNAL("Stopped", NULL) },
+ 	{ GDBUS_DEPRECATED_SIGNAL("Playing", NULL) },
+ 	{ GDBUS_DEPRECATED_SIGNAL("SpeakerGainChanged",
+diff --git a/audio/transport.c b/audio/transport.c
+index b015625..832ad2a 100644
+--- a/audio/transport.c
++++ b/audio/transport.c
+@@ -959,7 +959,7 @@ static const GDBusMethodTable transport_methods[] = {
+ 	{ GDBUS_ASYNC_METHOD("Release",
+ 			GDBUS_ARGS({ "access_type", "s" }), NULL,
+ 			release ) },
+-	{ GDBUS_ASYNC_METHOD("SetProperty",
++	{ GDBUS_METHOD("SetProperty",
+ 			GDBUS_ARGS({ "name", "s" }, { "value", "v" }),
+ 			NULL, set_property) },
+ 	{ },
+diff --git a/src/manager.c b/src/manager.c
+index 385354d..7061f64 100644
+--- a/src/manager.c
++++ b/src/manager.c
+@@ -207,7 +207,7 @@ static const GDBusMethodTable manager_methods[] = {
+ 			GDBUS_ARGS({ "pattern", "s" }),
+ 			GDBUS_ARGS({ "adapter", "o" }),
+ 			find_adapter) },
+-	{ GDBUS_ASYNC_METHOD("ListAdapters",
++	{ GDBUS_DEPRECATED_METHOD("ListAdapters",
+ 			NULL, GDBUS_ARGS({ "adapters", "ao" }),
+ 			list_adapters) },
+ 	{ }
+-- 
+1.8.0.1
+
diff --git a/0001-audio-Permit-concurrent-use-of-AG-and-HF-roles.patch b/0001-audio-Permit-concurrent-use-of-AG-and-HF-roles.patch
new file mode 100644
index 0000000..c1a5828
--- /dev/null
+++ b/0001-audio-Permit-concurrent-use-of-AG-and-HF-roles.patch
@@ -0,0 +1,51 @@
+From 2f92669697152848f2fae584d45fde5d80ea6eb8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Dalleau?=
+ <frederic.dalleau at linux.intel.com>
+Date: Fri, 22 Jun 2012 16:11:25 +0200
+Subject: [PATCH] audio: Permit concurrent use of AG and HF roles
+
+If a device supports both HF and AG roles, then if a SCO connection
+related to AG profile happens, the connection is rejected because HF is
+not connected. One consequence is pulseaudio failing to load bluetooth
+module.
+---
+ audio/main.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/audio/main.c b/audio/main.c
+index 5c751af..a48c8b8 100644
+--- a/audio/main.c
++++ b/audio/main.c
+@@ -102,7 +102,7 @@ static void sco_server_cb(GIOChannel *chan, GError *err, gpointer data)
+ 	if (device->headset) {
+ 		if (headset_get_state(device) < HEADSET_STATE_CONNECTED) {
+ 			DBG("Refusing SCO from non-connected headset");
+-			goto drop;
++			goto gateway;
+ 		}
+ 
+ 		if (!headset_get_hfp_active(device)) {
+@@ -115,7 +115,11 @@ static void sco_server_cb(GIOChannel *chan, GError *err, gpointer data)
+ 			goto drop;
+ 
+ 		headset_set_state(device, HEADSET_STATE_PLAYING);
+-	} else if (device->gateway) {
++		goto connect;
++	}
++
++gateway:
++	if (device->gateway) {
+ 		if (!gateway_is_connected(device)) {
+ 			DBG("Refusing SCO from non-connected AG");
+ 			goto drop;
+@@ -126,6 +130,7 @@ static void sco_server_cb(GIOChannel *chan, GError *err, gpointer data)
+ 	} else
+ 		goto drop;
+ 
++connect:
+ 	sk = g_io_channel_unix_get_fd(chan);
+ 	fcntl(sk, F_SETFL, 0);
+ 
+-- 
+1.8.0.1
+
diff --git a/0001-input-Fix-not-adding-watches-when-io-channel-is-conn.patch b/0001-input-Fix-not-adding-watches-when-io-channel-is-conn.patch
new file mode 100644
index 0000000..0b984d5
--- /dev/null
+++ b/0001-input-Fix-not-adding-watches-when-io-channel-is-conn.patch
@@ -0,0 +1,101 @@
+From ea793cb9f744cd2942b66385118161b880de958a Mon Sep 17 00:00:00 2001
+From: Luiz Augusto von Dentz <luiz.von.dentz at intel.com>
+Date: Tue, 19 Jun 2012 12:44:43 +0300
+Subject: [PATCH] input: Fix not adding watches when io channel is connected
+
+This can leave dangling pointers in case one of the channel is never
+connected which cause -EALREADY to be returned by
+input_device_set_channel next time the device attempts to connect.
+
+For the same reason the code path when acting as client now add the
+watch as soon as the connection completes instead when both channels
+are connected.
+---
+ input/device.c | 31 ++++++++++++++++++++++++-------
+ 1 file changed, 24 insertions(+), 7 deletions(-)
+
+diff --git a/input/device.c b/input/device.c
+index 0e3f4a9..09a9a39 100644
+--- a/input/device.c
++++ b/input/device.c
+@@ -387,6 +387,11 @@ static gboolean intr_watch_cb(GIOChannel *chan, GIOCondition cond, gpointer data
+ 	struct input_conn *iconn = data;
+ 	struct input_device *idev = iconn->idev;
+ 	gboolean connected = FALSE;
++	char address[18];
++
++	ba2str(&iconn->idev->dst, address);
++
++	DBG("Device %s disconnected", address);
+ 
+ 	/* Checking for ctrl_watch avoids a double g_io_channel_shutdown since
+ 	 * it's likely that ctrl_watch_cb has been queued for dispatching in
+@@ -415,6 +420,11 @@ static gboolean intr_watch_cb(GIOChannel *chan, GIOCondition cond, gpointer data
+ static gboolean ctrl_watch_cb(GIOChannel *chan, GIOCondition cond, gpointer data)
+ {
+ 	struct input_conn *iconn = data;
++	char address[18];
++
++	ba2str(&iconn->idev->dst, address);
++
++	DBG("Device %s disconnected", address);
+ 
+ 	/* Checking for intr_watch avoids a double g_io_channel_shutdown since
+ 	 * it's likely that intr_watch_cb has been queued for dispatching in
+@@ -811,13 +821,6 @@ static int input_device_connected(struct input_device *idev,
+ 	if (err < 0)
+ 		return err;
+ 
+-	iconn->intr_watch = g_io_add_watch(iconn->intr_io,
+-					G_IO_HUP | G_IO_ERR | G_IO_NVAL,
+-					intr_watch_cb, iconn);
+-	iconn->ctrl_watch = g_io_add_watch(iconn->ctrl_io,
+-					G_IO_HUP | G_IO_ERR | G_IO_NVAL,
+-					ctrl_watch_cb, iconn);
+-
+ 	connected = TRUE;
+ 	emit_property_changed(idev->conn, idev->path, INPUT_DEVICE_INTERFACE,
+ 				"Connected", DBUS_TYPE_BOOLEAN, &connected);
+@@ -854,6 +857,10 @@ static void interrupt_connect_cb(GIOChannel *chan, GError *conn_err,
+ 	dbus_message_unref(iconn->pending_connect);
+ 	iconn->pending_connect = NULL;
+ 
++	iconn->intr_watch = g_io_add_watch(iconn->intr_io,
++					G_IO_HUP | G_IO_ERR | G_IO_NVAL,
++					intr_watch_cb, iconn);
++
+ 	return;
+ 
+ failed:
+@@ -913,6 +920,10 @@ static void control_connect_cb(GIOChannel *chan, GError *conn_err,
+ 
+ 	iconn->intr_io = io;
+ 
++	iconn->ctrl_watch = g_io_add_watch(iconn->ctrl_io,
++					G_IO_HUP | G_IO_ERR | G_IO_NVAL,
++					ctrl_watch_cb, iconn);
++
+ 	return;
+ 
+ failed:
+@@ -1272,11 +1283,17 @@ int input_device_set_channel(const bdaddr_t *src, const bdaddr_t *dst, int psm,
+ 		if (iconn->ctrl_io)
+ 			return -EALREADY;
+ 		iconn->ctrl_io = g_io_channel_ref(io);
++		iconn->ctrl_watch = g_io_add_watch(iconn->ctrl_io,
++					G_IO_HUP | G_IO_ERR | G_IO_NVAL,
++					ctrl_watch_cb, iconn);
+ 		break;
+ 	case L2CAP_PSM_HIDP_INTR:
+ 		if (iconn->intr_io)
+ 			return -EALREADY;
+ 		iconn->intr_io = g_io_channel_ref(io);
++		iconn->intr_watch = g_io_add_watch(iconn->intr_io,
++					G_IO_HUP | G_IO_ERR | G_IO_NVAL,
++					intr_watch_cb, iconn);
+ 		break;
+ 	}
+ 
+-- 
+1.8.0.1
+
diff --git a/0001-network-NULL-dereference-fix.patch b/0001-network-NULL-dereference-fix.patch
new file mode 100644
index 0000000..5b6e750
--- /dev/null
+++ b/0001-network-NULL-dereference-fix.patch
@@ -0,0 +1,34 @@
+From b57c64f1aa5c51dd785f2572636b8c41ada06d72 Mon Sep 17 00:00:00 2001
+From: Pavel Raiskup <praiskup at redhat.com>
+Date: Tue, 30 Aug 2011 15:10:46 +0200
+Subject: [PATCH] network: NULL dereference fix
+
+Variable ifindex dereferenced on line 242 before null check on line 249.
+---
+ network/common.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/network/common.c b/network/common.c
+index 4704072..a223685 100644
+--- a/network/common.c
++++ b/network/common.c
+@@ -240,13 +240,15 @@ int bnep_if_down(const char *devname)
+ 
+ int bnep_add_to_bridge(const char *devname, const char *bridge)
+ {
+-	int ifindex = if_nametoindex(devname);
++	int ifindex;
+ 	struct ifreq ifr;
+ 	int sk, err;
+ 
+ 	if (!devname || !bridge)
+ 		return -EINVAL;
+ 
++	ifindex = if_nametoindex(devname);
++
+ 	sk = socket(AF_INET, SOCK_STREAM, 0);
+ 	if (sk < 0)
+ 		return -1;
+-- 
+1.8.0.1
+
diff --git a/0001-network-fix-network-Connect-method-parameters.patch b/0001-network-fix-network-Connect-method-parameters.patch
new file mode 100644
index 0000000..05edb01
--- /dev/null
+++ b/0001-network-fix-network-Connect-method-parameters.patch
@@ -0,0 +1,27 @@
+From 57170b311f1468330f4a9961dc0b3ac45f97bc13 Mon Sep 17 00:00:00 2001
+From: Gustavo Padovan <gustavo.padovan at collabora.co.uk>
+Date: Sat, 30 Jun 2012 00:39:05 -0300
+Subject: [PATCH] network: fix network Connect() method parameters
+
+---
+ network/connection.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/network/connection.c b/network/connection.c
+index 544ec3a..59423a9 100644
+--- a/network/connection.c
++++ b/network/connection.c
+@@ -554,7 +554,9 @@ static void path_unregister(void *data)
+ 
+ static const GDBusMethodTable connection_methods[] = {
+ 	{ GDBUS_ASYNC_METHOD("Connect",
+-			NULL, NULL, connection_connect) },
++				GDBUS_ARGS({"uuid", "s"}),
++				GDBUS_ARGS({"interface", "s"}),
++				connection_connect) },
+ 	{ GDBUS_METHOD("Disconnect",
+ 			NULL, NULL, connection_disconnect) },
+ 	{ GDBUS_METHOD("GetProperties",
+-- 
+1.8.0.1
+
diff --git a/0001-work-around-Logitech-diNovo-Edge-keyboard-firmware-i.patch b/0001-work-around-Logitech-diNovo-Edge-keyboard-firmware-i.patch
new file mode 100644
index 0000000..447e951
--- /dev/null
+++ b/0001-work-around-Logitech-diNovo-Edge-keyboard-firmware-i.patch
@@ -0,0 +1,29 @@
+From 3aca31788655582f3029b3c88ad6f468c4de07a2 Mon Sep 17 00:00:00 2001
+From: Tommy <mesilliac at gmail.com>
+Date: Thu, 10 Jan 2013 09:18:43 +0100
+Subject: [PATCH] work around Logitech diNovo Edge keyboard firmware issue
+
+https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/269851
+---
+ scripts/bluetooth-hid2hci.rules | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/scripts/bluetooth-hid2hci.rules b/scripts/bluetooth-hid2hci.rules
+index 0687c8a..2a571e5 100644
+--- a/scripts/bluetooth-hid2hci.rules
++++ b/scripts/bluetooth-hid2hci.rules
+@@ -11,7 +11,10 @@ ATTR{bInterfaceClass}=="03", ATTR{bInterfaceSubClass}=="01", ATTR{bInterfaceProt
+   RUN+="hid2hci --method=dell --devpath=%p", ENV{HID2HCI_SWITCH}="1"
+ 
+ # Logitech devices
+-KERNEL=="hiddev*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[345abce]|c71[34bc]", \
++KERNEL=="hiddev*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[345abce]|c71[3bc]", \
++  RUN+="hid2hci --method=logitech-hid --devpath=%p"
++# Logitech, Inc. diNovo Edge Keyboard
++KERNEL=="hidraw*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c714", \
+   RUN+="hid2hci --method=logitech-hid --devpath=%p"
+ 
+ ENV{DEVTYPE}!="usb_device", GOTO="hid2hci_end"
+-- 
+1.8.0.1
+
diff --git a/bluez.gitignore b/bluez.gitignore
new file mode 100644
index 0000000..137d2e5
--- /dev/null
+++ b/bluez.gitignore
@@ -0,0 +1,100 @@
+*.o
+*.a
+*.lo
+*.la
+*.so
+.deps
+.libs
+.dirstamp
+Makefile
+Makefile.in
+aclocal.m4
+config.guess
+config.h
+config.h.in
+config.log
+config.status
+config.sub
+configure
+depcomp
+compile
+install-sh
+libtool
+ltmain.sh
+missing
+stamp-h1
+autom4te.cache
+
+ylwrap
+lexer.c
+parser.h
+parser.c
+
+bluez.pc
+lib/bluetooth
+src/builtin.h
+src/bluetoothd
+audio/telephony.c
+sap/sap.c
+scripts/bluetooth.rules
+scripts/97-bluetooth.rules
+scripts/97-bluetooth-hid2hci.rules
+
+sbc/sbcdec
+sbc/sbcenc
+sbc/sbcinfo
+sbc/sbctester
+
+attrib/gatttool
+tools/avctrl
+tools/avinfo
+tools/bccmd
+tools/ciptool
+tools/dfubabel
+tools/dfutool
+tools/hciattach
+tools/hciconfig
+tools/hcieventmask
+tools/hcisecfilter
+tools/hcitool
+tools/hid2hci
+tools/rfcomm
+tools/l2ping
+tools/ppporc
+tools/sdptool
+cups/bluetooth
+test/agent
+test/bdaddr
+test/hciemu
+test/attest
+test/hstest
+test/avtest
+test/l2test
+test/rctest
+test/scotest
+test/gaptest
+test/sdptest
+test/lmptest
+test/ipctest
+test/btiotest
+test/test-textfile
+test/uuidtest
+test/mpris-player
+compat/dund
+compat/hidd
+compat/pand
+unit/test-eir
+mgmt/btmgmt
+monitor/btmon
+emulator/btvirt
+
+doc/*.bak
+doc/*.stamp
+doc/bluez.*
+doc/bluez-*.txt
+doc/*.sgml
+doc/version.xml
+doc/xml
+doc/html
+src/bluetoothd.8
+src/bluetooth.service
diff --git a/bluez.spec b/bluez.spec
index 0aa6b17..c893ba1 100644
--- a/bluez.spec
+++ b/bluez.spec
@@ -1,12 +1,13 @@
 Summary: Bluetooth utilities
 Name: bluez
 Version: 4.101
-Release: 5%{?dist}
+Release: 6%{?dist}
 License: GPLv2+
 Group: Applications/System
 URL: http://www.bluez.org/
 
 Source: http://www.kernel.org/pub/linux/bluetooth/%{name}-%{version}.tar.gz
+Source1: bluez.gitignore
 Source3: dund.init
 Source4: dund.conf
 Source5: pand.init
@@ -15,17 +16,26 @@ Source7: rfcomm.init
 Source8: bluez-uinput.modules
 
 # https://bugzilla.redhat.com/show_bug.cgi?id=874015#c0
-Patch0: bluez-4.101-allow-a2dp-with-pulseaudio.patch
+Patch0: 0001-Allow-PulseAudio-to-connect-by-default.patch
 # https://bugzilla.redhat.com/show_bug.cgi?id=877998
 Patch1: 0001-hid2hci-change-subsystem-in-udev-rule-from-usb-to-us.patch
 # https://bugzilla.redhat.com/show_bug.cgi?id=498756
-Patch4: bluez-socket-mobile-cf-connection-kit.patch
+Patch4: 0001-Activate-the-Socket-Mobile-CF-kit.patch
 # http://thread.gmane.org/gmane.linux.bluez.kernel/2396
 Patch5: 0001-Add-sixaxis-cable-pairing-plugin.patch
 # PS3 BD Remote patches
 Patch6: 0001-input-Add-helper-function-to-request-disconnect.patch
 Patch7: 0002-fakehid-Disconnect-from-PS3-remote-after-10-mins.patch
 Patch8: 0003-fakehid-Use-the-same-constant-as-declared.patch
+# Upstream patches
+Patch9: 0001-audio-Permit-concurrent-use-of-AG-and-HF-roles.patch
+Patch10: 0001-Fix-GDBus-flags-after-conversion-to-macros.patch
+Patch11: 0001-input-Fix-not-adding-watches-when-io-channel-is-conn.patch
+Patch12: 0001-network-fix-network-Connect-method-parameters.patch
+Patch13: 0001-network-NULL-dereference-fix.patch
+# Ubuntu patches
+Patch14: 0001-work-around-Logitech-diNovo-Edge-keyboard-firmware-i.patch
+Patch15: 0001-Enable-the-Gateway-and-Source-audio-profiles-by-defa.patch
 
 BuildRequires: flex
 BuildRequires: dbus-devel >= 0.90
@@ -149,13 +159,16 @@ and mouse.
 %prep
 
 %setup -q
-%patch0 -p1
-%patch1 -p1
-%patch4 -p1 -b .socket-mobile
-%patch5 -p1 -b .cable-pairing
-%patch6 -p1
-%patch7 -p1
-%patch8 -p1
+git init
+if [ -z "$GIT_COMMITTER_NAME" ]; then
+    git config user.email "bluez-owner at fedoraproject.org"
+    git config user.name "Fedora Bluez maintainers"
+fi
+cp %{SOURCE1} .gitignore
+git add .
+git commit -a -q -m "%{version} baseline."
+
+git am -p1 %{patches} < /dev/null
 
 %build
 libtoolize -f -c
@@ -323,6 +336,10 @@ fi
 %exclude /usr/lib/udev/rules.d/97-bluetooth-hid2hci.rules
 
 %changelog
+* Thu Jan 10 2013 Bastien Nocera <bnocera at redhat.com> 4.101-6
+- Use git to manage distro patches
+- Add numerous upstream and downstream patches (#892929)
+
 * Wed Nov 21 2012 Bastien Nocera <bnocera at redhat.com> 4.101-5
 - Fix hid2hci not working with recent kernels (#877998)
 


More information about the scm-commits mailing list