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 +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 +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 +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 +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?= + +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 +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 +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 +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 +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-4.101-allow-a2dp-with-pulseaudio.patch b/bluez-4.101-allow-a2dp-with-pulseaudio.patch deleted file mode 100644 index 53fdb32..0000000 --- a/bluez-4.101-allow-a2dp-with-pulseaudio.patch +++ /dev/null @@ -1,15 +0,0 @@ -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 - diff --git a/bluez-socket-mobile-cf-connection-kit.patch b/bluez-socket-mobile-cf-connection-kit.patch deleted file mode 100644 index c3ef889..0000000 --- a/bluez-socket-mobile-cf-connection-kit.patch +++ /dev/null @@ -1,12 +0,0 @@ -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" -+ 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 030d1af..35ae92d 100644 --- a/bluez.spec +++ b/bluez.spec @@ -1,12 +1,13 @@ Summary: Bluetooth utilities Name: bluez Version: 4.101 -Release: 4%{?dist} +Release: 5%{?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@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 4.101-5 +- Use git to manage distro patches +- Add numerous upstream and downstream patches (#892929) + * Wed Nov 21 2012 Bastien Nocera 4.101-4 - Clean up requires and build requires - Use CUPS macro (#772236)