diff --git a/.cvsignore b/.cvsignore index 2381ce6..9b39576 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -bluez-4.37.tar.gz +bluez-4.42.tar.gz diff --git a/bluez-no-unplug-on-disconnect.patch b/bluez-no-unplug-on-disconnect.patch deleted file mode 100644 index 07f0c6f..0000000 --- a/bluez-no-unplug-on-disconnect.patch +++ /dev/null @@ -1,42 +0,0 @@ -From: Luiz Augusto von Dentz -Date: Fri, 24 Apr 2009 21:06:22 +0000 (-0300) -Subject: Fix bug which prevent input devices to work if bluetoothd is restarted. -X-Git-Tag: 4.38~30 -X-Git-Url: http://git.kernel.org/?p=bluetooth%2Fbluez.git;a=commitdiff_plain;h=8ca76f2e9cf85ff39adc8bfa68627b8c4d9512cc - -Fix bug which prevent input devices to work if bluetoothd is restarted. - -In case of bluetoothd being restart or adapter unplugged the devices driver -callback .remove is called to free any data, but the input driver was also -sending the virtual cable unplug which is only necessary for permanent -removal. ---- - -diff --git a/input/device.c b/input/device.c -index 9f13cd5..aaf478b 100644 ---- a/input/device.c -+++ b/input/device.c -@@ -781,10 +781,13 @@ static void disconnect_cb(struct btd_device *device, gboolean removal, - void *user_data) - { - struct input_device *idev = user_data; -+ int flags; - - info("Input: disconnect %s", idev->path); - -- disconnect(idev, 0); -+ flags = removal ? (1 << HIDP_VIRTUAL_CABLE_UNPLUG) : 0; -+ -+ disconnect(idev, flags); - } - - static int input_device_connected(struct input_device *idev, -@@ -1004,8 +1007,6 @@ static void device_unregister(void *data) - debug("Unregistered interface %s on path %s", INPUT_DEVICE_INTERFACE, - idev->path); - -- /* Disconnect if applied */ -- disconnect(idev, (1 << HIDP_VIRTUAL_CABLE_UNPLUG)); - devices = g_slist_remove(devices, idev); - input_device_free(idev); - } diff --git a/bluez-pass-removal-flag.patch b/bluez-pass-removal-flag.patch deleted file mode 100644 index c911f59..0000000 --- a/bluez-pass-removal-flag.patch +++ /dev/null @@ -1,117 +0,0 @@ -From: Luiz Augusto von Dentz -Date: Mon, 27 Apr 2009 13:43:29 +0000 (-0300) -Subject: Make disconnect watch callback to take removal flag. -X-Git-Tag: 4.38~31 -X-Git-Url: http://git.kernel.org/?p=bluetooth%2Fbluez.git;a=commitdiff_plain;h=a381d5342d27b99612fd31dc9cc80b01f412ad39 - -Make disconnect watch callback to take removal flag. - -This should make watches aware of a force disconnection for permanent device -removal making possible to remove any persistent data associate with the -device. ---- - -diff --git a/audio/headset.c b/audio/headset.c -index 686d727..1966a25 100644 ---- a/audio/headset.c -+++ b/audio/headset.c -@@ -2387,7 +2387,8 @@ static int headset_close_rfcomm(struct audio_device *dev) - return 0; - } - --static void disconnect_cb(struct btd_device *btd_dev, void *user_data) -+static void disconnect_cb(struct btd_device *btd_dev, gboolean removal, -+ void *user_data) - { - struct audio_device *device = user_data; - -diff --git a/audio/sink.c b/audio/sink.c -index 679e0ee..e8b96ab 100644 ---- a/audio/sink.c -+++ b/audio/sink.c -@@ -167,7 +167,8 @@ static void pending_request_free(struct audio_device *dev, - g_free(pending); - } - --static void disconnect_cb(struct btd_device *btd_dev, void *user_data) -+static void disconnect_cb(struct btd_device *btd_dev, gboolean removal, -+ void *user_data) - { - struct audio_device *device = user_data; - struct sink *sink = device->sink; -diff --git a/input/device.c b/input/device.c -index 69c1b16..9f13cd5 100644 ---- a/input/device.c -+++ b/input/device.c -@@ -777,7 +777,8 @@ static int disconnect(struct input_device *idev, uint32_t flags) - return connection_disconnect(iconn, flags); - } - --static void disconnect_cb(struct btd_device *device, void *user_data) -+static void disconnect_cb(struct btd_device *device, gboolean removal, -+ void *user_data) - { - struct input_device *idev = user_data; - -diff --git a/network/connection.c b/network/connection.c -index 83377f6..a02e233 100644 ---- a/network/connection.c -+++ b/network/connection.c -@@ -211,7 +211,8 @@ static void connection_destroy(DBusConnection *conn, void *user_data) - cancel_connection(nc, NULL); - } - --static void disconnect_cb(struct btd_device *device, void *user_data) -+static void disconnect_cb(struct btd_device *device, gboolean removal, -+ void *user_data) - { - struct network_conn *nc = user_data; - -diff --git a/src/adapter.c b/src/adapter.c -index 40c5ab0..8278b39 100644 ---- a/src/adapter.c -+++ b/src/adapter.c -@@ -1603,10 +1603,11 @@ static DBusMessage *remove_device(DBusConnection *conn, - ERROR_INTERFACE ".DoesNotExist", - "Device creation in progress"); - -- if (device_is_connected(device)) { -- device_set_temporary(device, TRUE); -+ device_set_temporary(device, TRUE); -+ -+ if (device_is_connected(device)) - device_disconnect(device); -- } else -+ else - adapter_remove_device(conn, adapter, device); - - return dbus_message_new_method_return(msg); -diff --git a/src/device.c b/src/device.c -index e969a6c..e999c95 100644 ---- a/src/device.c -+++ b/src/device.c -@@ -543,7 +543,9 @@ void device_disconnect(struct btd_device *device) - l = l->next; - - if (data->watch) -- data->watch(device, data->user_data); -+ /* temporary is set if device is going to be removed */ -+ data->watch(device, device->temporary, -+ data->user_data); - } - - g_slist_foreach(device->watches, (GFunc) g_free, NULL); -diff --git a/src/device.h b/src/device.h -index 2a56e66..de61e0c 100644 ---- a/src/device.h -+++ b/src/device.h -@@ -83,7 +83,8 @@ void device_remove_connection(struct btd_device *device, DBusConnection *conn, - gboolean device_has_connection(struct btd_device *device, uint16_t handle); - void device_disconnect(struct btd_device *device); - --typedef void (*disconnect_watch) (struct btd_device *device, void *user_data); -+typedef void (*disconnect_watch) (struct btd_device *device, gboolean removal, -+ void *user_data); - - guint device_add_disconnect_watch(struct btd_device *device, - disconnect_watch watch, void *user_data, diff --git a/bluez-socket-mobile-cf-connection-kit.patch b/bluez-socket-mobile-cf-connection-kit.patch index 8893a03..c3ef889 100644 --- a/bluez-socket-mobile-cf-connection-kit.patch +++ b/bluez-socket-mobile-cf-connection-kit.patch @@ -1,7 +1,7 @@ -diff --git a/scripts/bluetooth.rules b/scripts/bluetooth.rules +diff --git a/scripts/bluetooth-serial.rules b/scripts/bluetooth-serial.rules index 072335f..f6284ff 100644 ---- a/scripts/bluetooth.rules -+++ b/scripts/bluetooth.rules +--- 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 diff --git a/bluez.spec b/bluez.spec index 77a9403..f86c5ee 100644 --- a/bluez.spec +++ b/bluez.spec @@ -1,7 +1,7 @@ Summary: Bluetooth utilities Name: bluez -Version: 4.37 -Release: 4%{?dist} +Version: 4.42 +Release: 1%{?dist} License: GPLv2+ Group: Applications/System Source: http://www.kernel.org/pub/linux/bluetooth/%{name}-%{version}.tar.gz @@ -16,13 +16,8 @@ Patch2: bluez-try-utf8-harder.patch Patch3: bluez-activate-wacom-mode2.patch # https://bugzilla.redhat.com/show_bug.cgi?id=498756 Patch4: bluez-socket-mobile-cf-connection-kit.patch - -# http://git.kernel.org/?p=bluetooth/bluez.git;a=commitdiff;h=a381d5342d27b99612fd31dc9cc80b01f412ad39 -Patch5: bluez-pass-removal-flag.patch -# http://git.kernel.org/?p=bluetooth/bluez.git;a=commitdiff;h=8ca76f2e9cf85ff39adc8bfa68627b8c4d9512cc -Patch6: bluez-no-unplug-on-disconnect.patch # https://bugzilla.redhat.com/show_bug.cgi?id=507572 -Patch7: cups-less-errors.patch +Patch5: cups-less-errors.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root URL: http://www.bluez.org/ @@ -112,9 +107,7 @@ use in Bluetooth applications. %patch2 -p1 -b .non-utf8-name %patch3 -p1 -b .wacom %patch4 -p1 -b .socket-mobile -%patch5 -p1 -b .removal -%patch6 -p1 -b .unplug -%patch7 -p1 -b .cups-less-errors +%patch5 -p1 -b .cups-less-errors %build %configure --enable-cups --enable-hid2hci --enable-dfutool --enable-tools --enable-bccmd --enable-gstreamer --enable-hidd --enable-pand --enable-dund @@ -139,7 +132,9 @@ if test -d ${RPM_BUILD_ROOT}/usr/lib64/cups ; then rm -rf ${RPM_BUILD_ROOT}%{_libdir}/cups fi -install -D -m0644 scripts/bluetooth.rules ${RPM_BUILD_ROOT}/%{_sysconfdir}/udev/rules.d/97-bluetooth-serial.rules +rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/udev/bluetooth-hid2hci.rules + +install -D -m0644 scripts/bluetooth-serial.rules ${RPM_BUILD_ROOT}/%{_sysconfdir}/udev/rules.d/97-bluetooth-serial.rules install -D -m0755 scripts/bluetooth_serial ${RPM_BUILD_ROOT}/lib/udev/bluetooth_serial install -D -m0755 %{SOURCE3} $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/modules/bluez-uinput.modules @@ -208,6 +203,9 @@ fi %{_sysconfdir}/alsa/bluetooth.conf %changelog +* Wed Jun 24 2009 Bastien Nocera 4.42-1 +- Update to 4.42 + * Wed Jun 24 2009 Bastien Nocera 4.37-4 - Reduce the number of errors from CUPS when bluetoothd isn't running, or there's no adapters (#507572) diff --git a/sources b/sources index 240de5c..17a8a27 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c1106f56f8e5562cf7c49d3455d2c5f7 bluez-4.37.tar.gz +d24dfd3ca42847123e29f58b29af6948 bluez-4.42.tar.gz