[packages] sane-backends: backport upstream commit 5ea227caeacd504b64eef301e83fa63e0a...
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 3 Jun 2012 17:37:56 +0000 (17:37 +0000)
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 3 Jun 2012 17:37:56 +0000 (17:37 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/packages@32036 3c298f89-4303-0410-b956-a3cf2f4a3e73

utils/sane-backends/Makefile
utils/sane-backends/patches/001-remove-unneeded.patch [deleted file]
utils/sane-backends/patches/001-upstream-keep-usb-device.patch [new file with mode: 0644]
utils/sane-backends/patches/002-remove-uneeded.patch [new file with mode: 0644]

index 77eb073..877f847 100644 (file)
@@ -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-remove-unneeded.patch b/utils/sane-backends/patches/001-remove-unneeded.patch
deleted file mode 100644 (file)
index 3eeca3d..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -293,7 +293,7 @@ target_alias = @target_alias@
- top_build_prefix = @top_build_prefix@
- top_builddir = @top_builddir@
- top_srcdir = @top_srcdir@
--SUBDIRS = include lib sanei backend frontend tools doc po
-+SUBDIRS = include lib sanei backend frontend
- DIST_SUBDIRS = include lib sanei backend frontend tools doc po japi testsuite
- dist_doc_DATA = AUTHORS ChangeLog COPYING LICENSE NEWS PROBLEMS PROJECTS \
-  README README.aix README.beos README.darwin README.djpeg README.freebsd \
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 (file)
index 0000000..9e1e7f4
--- /dev/null
@@ -0,0 +1,68 @@
+From 5ea227caeacd504b64eef301e83fa63e0a25b3f7 Mon Sep 17 00:00:00 2001
+From: Alex Belkin <abc@telekom.ru>
+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/002-remove-uneeded.patch b/utils/sane-backends/patches/002-remove-uneeded.patch
new file mode 100644 (file)
index 0000000..3eeca3d
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -293,7 +293,7 @@ target_alias = @target_alias@
+ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+-SUBDIRS = include lib sanei backend frontend tools doc po
++SUBDIRS = include lib sanei backend frontend
+ DIST_SUBDIRS = include lib sanei backend frontend tools doc po japi testsuite
+ dist_doc_DATA = AUTHORS ChangeLog COPYING LICENSE NEWS PROBLEMS PROJECTS \
+  README README.aix README.beos README.darwin README.djpeg README.freebsd \