summaryrefslogtreecommitdiff
path: root/debian
diff options
context:
space:
mode:
Diffstat (limited to 'debian')
-rw-r--r--debian/changelog13
-rw-r--r--debian/control1
-rw-r--r--debian/libsane1.symbols2
-rw-r--r--debian/patches/0185-fix_memory.patch62
-rw-r--r--debian/patches/series1
-rwxr-xr-xdebian/rules1
6 files changed, 78 insertions, 2 deletions
diff --git a/debian/changelog b/debian/changelog
index 18224ab..ea3cab2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,16 @@
+sane-backends (1.3.1-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Reenable v4l.
+ * debian/libsane1.symbols:
+ - Replace hurd-i386 with hurd-any to fix FTBFS (Closes: #1081122).
+ - Remove kfreebsd.
+ * New debian/patches/0185-fix_memory.patch:
+ - Fix memory handling at backends/hp5590_low.c
+ (Closes: #1071658, #1071660).
+
+ -- Jörg Frings-Fürst <debian@jff.email> Sun, 08 Dec 2024 19:33:14 +0100
+
sane-backends (1.3.0-2) unstable; urgency=medium
* Fix FTBFS on hurd-i386 & hurd-amd64 (Closes: #1081122).
diff --git a/debian/control b/debian/control
index a77f110..e25d36b 100644
--- a/debian/control
+++ b/debian/control
@@ -23,6 +23,7 @@ Build-Depends:
libsystemd-dev [linux-any],
libtiff-dev,
libusb-1.0-0-dev,
+ libv4l-dev,
libxml2-dev,
pkgconf,
po-debconf,
diff --git a/debian/libsane1.symbols b/debian/libsane1.symbols
index b32e02e..4a63c19 100644
--- a/debian/libsane1.symbols
+++ b/debian/libsane1.symbols
@@ -1,6 +1,6 @@
libsane.so.1 libsane1 #MINVER#
* Build-Depends-Package: libsane-dev
- (arch=!hurd-i386 !kfreebsd-any)cmsg@Base 1.0.29
+ (arch=!hurd-any)cmsg@Base 1.0.29
fail_test@Base 1.0.29
md5_buffer@Base 1.0.27
md5_finish_ctx@Base 1.0.27
diff --git a/debian/patches/0185-fix_memory.patch b/debian/patches/0185-fix_memory.patch
new file mode 100644
index 0000000..137ae31
--- /dev/null
+++ b/debian/patches/0185-fix_memory.patch
@@ -0,0 +1,62 @@
+Description: Fix memory handling at backend/hp5590_low.c
+Author:
+Origin: upstream, https://gitlab.com/sane-project/backends/-/merge_requests/857
+Bug: https://gitlab.com/sane-project/backends/-/issues/782
+ https://gitlab.com/sane-project/backends/-/issues/781
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1071658
+ https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1071660
+Forwarded: not-needed
+Applied-Upstream: https://gitlab.com/sane-project/backends/-/merge_requests/857
+Last-Update: 2024-12-08
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+diff --git a/backend/hp5590.c b/backend/hp5590.c
+index 78c93132558365c8005c45fb756da57d1dfe9005..56acfb13c308f889daba472e05f1a03bb5967d18 100644
+--- a/backend/hp5590.c
++++ b/backend/hp5590.c
+@@ -2154,6 +2154,24 @@ sane_read_internal (struct hp5590_scanner * scanner, SANE_Byte * data,
+ max_length,
+ scanner->transferred_image_size);
+
++ /*
++ * We will truncate down the buffer size to *under* what the
++ * internal USB reading buffer can supply. This will avoid page read issues
++ * at the end of the buffer.
++ *
++ * See: https://gitlab.com/sane-project/backends/-/issues/781
++ *
++ */
++ if (max_length > BULK_READ_PAGE_SIZE * MAX_READ_PAGES)
++ {
++ DBG (DBG_proc, "%s, truncating sane_read buffer from %u to %u\n",
++ __func__,
++ max_length,
++ BULK_READ_PAGE_SIZE * MAX_READ_PAGES);
++
++ max_length = BULK_READ_PAGE_SIZE * MAX_READ_PAGES;
++ }
++
+ SANE_Int length_limited = 0;
+ *length = max_length;
+ if ((unsigned long long) *length > scanner->transferred_image_size)
+diff --git a/backend/hp5590_low.c b/backend/hp5590_low.c
+index 2d19dcf951717919099995a402002e1d18822849..7038f438640c72ede3b9d01d09d14b750f2c0041 100644
+--- a/backend/hp5590_low.c
++++ b/backend/hp5590_low.c
+@@ -99,9 +99,15 @@ struct usb_in_usb_ctrl_setup {
+ #define CORE_FLAG_NOT_READY 1 << 1
+
+ /* Bulk transfers are done in pages, below their respective sizes */
++/*
++ * Note that we limit the amount we can supply to sane_read() to avoid
++ * clashes with the size of the internal read buffer.
++ *
++ */
+ #define BULK_WRITE_PAGE_SIZE 0x0f000
+ #define BULK_READ_PAGE_SIZE 0x10000
+-#define ALLOCATE_BULK_READ_PAGES 16 /* 16 * 65536 = 1Mb */
++#define ALLOCATE_BULK_READ_PAGES 17 /* 16 * 65536 = 1Mb */
++#define MAX_READ_PAGES 16 /* maximum that we will return to sane_read() */
+
+ /* Structure describing bulk read state, because bulk reads will be done in
+ * pages, but function caller uses its own buffer, whose size is certainly
diff --git a/debian/patches/series b/debian/patches/series
index 93fa125..5b54a3b 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -13,3 +13,4 @@
0200-disable-check-equal-stderr.patch
0610-fix_groff_font_warnings.patch
0180-Escl_force_idle_status.patch
+0185-fix_memory.patch
diff --git a/debian/rules b/debian/rules
index d44c8ce..d9f933e 100755
--- a/debian/rules
+++ b/debian/rules
@@ -48,7 +48,6 @@ endif
--with-avahi \
--enable-pnm-backend \
--with-usb \
- --without-v4l \
--disable-locking
override_dh_autoreconf: