From 799ca69a2afaa3b9325c8e18cc8d26a664101e64 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Thu, 3 Sep 2009 09:57:36 +0000 Subject: [PATCH] Update patches --- ...ode-of-bluetooth-CUPS-backend-work-w.patch | 140 ------------------ bluez-utils-oui-usage.patch | 6 +- bluez.spec | 3 - 3 files changed, 3 insertions(+), 146 deletions(-) delete mode 100644 0001-Make-discovery-mode-of-bluetooth-CUPS-backend-work-w.patch diff --git a/0001-Make-discovery-mode-of-bluetooth-CUPS-backend-work-w.patch b/0001-Make-discovery-mode-of-bluetooth-CUPS-backend-work-w.patch deleted file mode 100644 index 8031c95..0000000 --- a/0001-Make-discovery-mode-of-bluetooth-CUPS-backend-work-w.patch +++ /dev/null @@ -1,140 +0,0 @@ -From fdf7b75f5fc8a9726db6756bcddff6aa74b42ba0 Mon Sep 17 00:00:00 2001 -From: Till Kamppeter -Date: Thu, 27 Aug 2009 09:07:49 +0200 -Subject: [PATCH] Make discovery mode of bluetooth CUPS backend work with CUPS 1.4.0 - -The new CUPS 1.4.x does device discovery only for a given time frame -requested by the client (printer setup tool, "lpinfo" command). CUPS's -default for CUPS-1.3.x-ish requests without timeout specification -seems to be 10 seconds. CUPS starts all backends at once in the -beginning (in parallel) and kills every backend which remains running -at the end of the timeout. It accepts output from the backends -whenever it occurs not only when the backend finishes, so a backend -can search for printers infinitely long if it outputs every found -device immediately. Then all printers found during CUPS' timeout are -taken into account. - -The bluetooth backend of 4.48 asks the Bluetooth daemon for printers -and collects results for 10 seconds and after that it outputs -them. This takes a total of 10.5 sec and so CUPS kills the backend -right before it answers (at least with the 10-second default timeout), -resulting in Bluetooth printers never being discovered by CUPS. - -This change fixes it by making each new printer added to the list -being output immediately. Note that the list structure cannot be -removed from cups/main.c as otherwise we would get duplicate -listings. Also important is the addition of unbuffered output on -stdout. ---- - ChangeLog | 2 + - cups/main.c | 63 +++++++++++++++++++++++----------------------------------- - 2 files changed, 27 insertions(+), 38 deletions(-) - -diff --git a/ChangeLog b/ChangeLog -index d06f494..6c170f6 100644 ---- a/ChangeLog -+++ b/ChangeLog -@@ -1,3 +1,5 @@ -+ver 4.51: -+ Make discovery mode of bluetooth CUPS backend work with CUPS 1.4.0. - ver 4.50: - Fix issue with missing manual pages in distribution. - Fix issue with the configuration and state directories. -diff --git a/cups/main.c b/cups/main.c -index da757b0..1bbc78c 100644 ---- a/cups/main.c -+++ b/cups/main.c -@@ -185,6 +185,27 @@ static char *device_get_ieee1284_id(const char *adapter, const char *device) - return id; - } - -+static void print_printer_details(const char *name, const char *bdaddr, const char *id) -+{ -+ char *uri, *escaped; -+ -+ escaped = g_strdelimit(g_strdup(name), "\"", '\''); -+ uri = g_strdup_printf("bluetooth://%c%c%c%c%c%c%c%c%c%c%c%c", -+ bdaddr[0], bdaddr[1], -+ bdaddr[3], bdaddr[4], -+ bdaddr[6], bdaddr[7], -+ bdaddr[9], bdaddr[10], -+ bdaddr[12], bdaddr[13], -+ bdaddr[15], bdaddr[16]); -+ printf("direct %s \"%s\" \"%s (Bluetooth)\"", uri, escaped, escaped); -+ if (id != NULL) -+ printf(" \"%s\"\n", id); -+ else -+ printf("\n"); -+ g_free(escaped); -+ g_free(uri); -+} -+ - static void add_device_to_list(const char *name, const char *bdaddr, const char *id) - { - struct cups_device *device; -@@ -212,27 +233,7 @@ static void add_device_to_list(const char *name, const char *bdaddr, const char - device->id = g_strdup(id); - - device_list = g_slist_prepend(device_list, device); --} -- --static void print_printer_details(const char *name, const char *bdaddr, const char *id) --{ -- char *uri, *escaped; -- -- escaped = g_strdelimit(g_strdup(name), "\"", '\''); -- uri = g_strdup_printf("bluetooth://%c%c%c%c%c%c%c%c%c%c%c%c", -- bdaddr[0], bdaddr[1], -- bdaddr[3], bdaddr[4], -- bdaddr[6], bdaddr[7], -- bdaddr[9], bdaddr[10], -- bdaddr[12], bdaddr[13], -- bdaddr[15], bdaddr[16]); -- printf("direct %s \"%s\" \"%s (Bluetooth)\"", uri, escaped, escaped); -- if (id != NULL) -- printf(" \"%s\"\n", id); -- else -- printf("\n"); -- g_free(escaped); -- g_free(uri); -+ print_printer_details(device->name, device->bdaddr, device->id); - } - - static gboolean parse_device_properties(DBusMessageIter *reply_iter, char **name, char **bdaddr) -@@ -384,23 +385,6 @@ static void remote_device_found(const char *adapter, const char *bdaddr, const c - - static void discovery_completed(void) - { -- GSList *l; -- -- for (l = device_list; l != NULL; l = l->next) { -- struct cups_device *device = (struct cups_device *) l->data; -- -- if (device->name == NULL) -- device->name = g_strdelimit(g_strdup(device->bdaddr), ":", '-'); -- /* Give another try to getting an ID for the device */ -- if (device->id == NULL) -- remote_device_found(NULL, device->bdaddr, device->name); -- print_printer_details(device->name, device->bdaddr, device->id); -- g_free(device->name); -- g_free(device->bdaddr); -- g_free(device->id); -- g_free(device); -- } -- - g_slist_free(device_list); - device_list = NULL; - -@@ -638,6 +622,9 @@ int main(int argc, char *argv[]) - /* Make sure status messages are not buffered */ - setbuf(stderr, NULL); - -+ /* Make sure output is not buffered */ -+ setbuf(stdout, NULL); -+ - /* Ignore SIGPIPE signals */ - #ifdef HAVE_SIGSET - sigset(SIGPIPE, SIG_IGN); --- -1.6.3.3 - diff --git a/bluez-utils-oui-usage.patch b/bluez-utils-oui-usage.patch index 5b0e532..6743148 100644 --- a/bluez-utils-oui-usage.patch +++ b/bluez-utils-oui-usage.patch @@ -1,10 +1,10 @@ -Index: common/oui.c +Index: src/oui.c =================================================================== RCS file: /cvsroot/bluez/utils/common/oui.c,v retrieving revision 1.2 diff -u -p -r1.2 oui.c ---- common/oui.c 13 Jan 2007 17:48:12 -0000 1.2 -+++ common/oui.c 25 Jan 2008 12:16:58 -0000 +--- src/oui.c 13 Jan 2007 17:48:12 -0000 1.2 ++++ src/oui.c 25 Jan 2008 12:16:58 -0000 @@ -38,7 +38,7 @@ /* http://standards.ieee.org/regauth/oui/oui.txt */ diff --git a/bluez.spec b/bluez.spec index 0af9b93..db5e444 100644 --- a/bluez.spec +++ b/bluez.spec @@ -23,8 +23,6 @@ Patch3: bluez-activate-wacom-mode2.patch Patch4: bluez-socket-mobile-cf-connection-kit.patch # http://thread.gmane.org/gmane.linux.bluez.kernel/2396 Patch5: 0001-Add-sixaxis-cable-pairing-plugin.patch -# http://thread.gmane.org/gmane.linux.bluez.kernel/3264/focus=3286 -Patch6: 0001-Make-discovery-mode-of-bluetooth-CUPS-backend-work-w.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root URL: http://www.bluez.org/ @@ -134,7 +132,6 @@ This includes hidd, dund and pand. %patch3 -p1 -b .wacom %patch4 -p1 -b .socket-mobile %patch5 -p1 -b .cable-pairing -%patch6 -p1 -b .newer-cups %build libtoolize -f -c