From 8b3c813162c357722900482f4a8edf9ea53a9f91 Mon Sep 17 00:00:00 2001 From: jow Date: Sun, 3 Jun 2012 17:37:56 +0000 Subject: [PATCH] [packages] sane-backends: backport upstream commit 5ea227caeacd504b64eef301e83fa63e0a25b3f7 (#11575) git-svn-id: svn://svn.openwrt.org/openwrt/packages@32036 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- utils/sane-backends/Makefile | 4 +- .../001-upstream-keep-usb-device.patch | 68 +++++++++++++++++++ ...nneeded.patch => 002-remove-uneeded.patch} | 0 3 files changed, 70 insertions(+), 2 deletions(-) create mode 100644 utils/sane-backends/patches/001-upstream-keep-usb-device.patch rename utils/sane-backends/patches/{001-remove-unneeded.patch => 002-remove-uneeded.patch} (100%) diff --git a/utils/sane-backends/Makefile b/utils/sane-backends/Makefile index 77eb07309..877f84795 100644 --- a/utils/sane-backends/Makefile +++ b/utils/sane-backends/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2006-2011 OpenWrt.org +# Copyright (C) 2006-2012 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=sane-backends PKG_VERSION:=1.0.22 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=ftp://ftp.sane-project.org/pub/sane/$(PKG_NAME)-$(PKG_VERSION) \ diff --git a/utils/sane-backends/patches/001-upstream-keep-usb-device.patch b/utils/sane-backends/patches/001-upstream-keep-usb-device.patch new file mode 100644 index 000000000..9e1e7f49c --- /dev/null +++ b/utils/sane-backends/patches/001-upstream-keep-usb-device.patch @@ -0,0 +1,68 @@ +From 5ea227caeacd504b64eef301e83fa63e0a25b3f7 Mon Sep 17 00:00:00 2001 +From: Alex Belkin +Date: Tue, 8 Mar 2011 17:57:19 +0300 +Subject: [PATCH] keep usb device by default (correct for bug introduced by tcp sub-backend + +--- + backend/xerox_mfp.c | 27 +++++++++++---------------- + 1 files changed, 11 insertions(+), 16 deletions(-) + +--- a/backend/xerox_mfp.c ++++ b/backend/xerox_mfp.c +@@ -37,10 +37,10 @@ + static const SANE_Device **devlist = NULL; /* sane_get_devices array */ + static struct device *devices_head = NULL; /* sane_get_devices list */ + +-transport available_transports[] = { ++enum { TRANSPORT_USB, TRANSPORT_TCP, TRANSPORTS_MAX }; ++transport available_transports[TRANSPORTS_MAX] = { + { "usb", usb_dev_request, usb_dev_open, usb_dev_close, usb_configure_device }, + { "tcp", tcp_dev_request, tcp_dev_open, tcp_dev_close, tcp_configure_device }, +- { 0 } + }; + + static int resolv_state(int state) +@@ -824,7 +824,13 @@ free_devices (void) + devices_head = NULL; + } + +-/* SANE API ignores return code of this callback */ ++static transport *tr_from_devname(SANE_String_Const devname) ++{ ++ if (strncmp("tcp", devname, 3) == 0) ++ return &available_transports[TRANSPORT_TCP]; ++ return &available_transports[TRANSPORT_USB]; ++} ++ + static SANE_Status + list_one_device (SANE_String_Const devname) + { +@@ -839,12 +845,7 @@ list_one_device (SANE_String_Const devna + return SANE_STATUS_GOOD; + } + +- for (tr = available_transports; tr->ttype; tr++) { +- if (!strncmp (devname, tr->ttype, strlen(tr->ttype))) +- break; +- } +- if (!tr->ttype) +- return SANE_STATUS_INVAL; ++ tr = tr_from_devname(devname); + + dev = calloc (1, sizeof (struct device)); + if (dev == NULL) +@@ -878,13 +879,7 @@ list_one_device (SANE_String_Const devna + static SANE_Status + list_conf_devices (UNUSED (SANEI_Config * config), const char *devname) + { +- transport *tr; +- +- for (tr = available_transports; tr->ttype; tr++) { +- if (!strncmp (devname, tr->ttype, strlen(tr->ttype))) +- return tr->configure_device(devname, list_one_device); +- } +- return SANE_STATUS_INVAL; ++ return tr_from_devname(devname)->configure_device(devname, list_one_device); + } + + SANE_Status diff --git a/utils/sane-backends/patches/001-remove-unneeded.patch b/utils/sane-backends/patches/002-remove-uneeded.patch similarity index 100% rename from utils/sane-backends/patches/001-remove-unneeded.patch rename to utils/sane-backends/patches/002-remove-uneeded.patch