From 7ffdd89b521732e492db4d4eeb7c82962e3875b2d6704849a40e9c43b2cb2fb8 Mon Sep 17 00:00:00 2001
From: Johannes Meixner <jsmeix@suse.com>
Date: Mon, 31 Jan 2022 13:34:31 +0000
Subject: [PATCH] Accepting request 949860 from
 home:StefanBruens:branches:graphics

- Upgraded to sane-backends version 1.1.1
  * Backends
    + epson2: Fixed support for many scanners that don't support
      focus command.
    + epson2: Improve reliability of long scans.
    + epsonds: Implemented support for the following Epson scanners:
      - DS-1610, DS-1630, DS-1660W, DS-310, DS-320, DS-360W, DS-410,
        DS-530, DS-530II, DS-531, DS-535, DS-535H, DS-535II, DS-570W,
        DS-570WII, DS-571W, DS-575W, DS-575WII, DS-70, DS-80W
      - ES-200, ES-300W, ES-300WR, ES-400, ES-400II, ES-50, ES-500W,
        ES-500WII, ES-500WR, ES-55R, ES-580W, ES-60W, ES-60WB,
        ES-60WW, ES-65WR,
      - ET-2700 Series, ET-2710 Series, ET-2810 Series,
        ET-M2140 Series, ET-M3140 Series,
      - EW-052A Series,
      - FF-680W,
      - L3150 Series, L3200 Series, L3210 Series, L3250 Series,
        L4150 Series,
      - M2140 Series, M3140 Series,
      - RR-60, RR-600W, RR-70W,
      - XP-2100 Series, XP-2150 Series
    + epson2: Marked XP-452 455 series as supported in
      documentation
    + escl: Fixed scanning problems on certain scanners due to
      incorrect URL being used (#479)
    + escl: Fixed support for different resolutions when using
      JPEG format
    + escl: Fixed handling of ipp-usb redirects to localhost
      which previously caused certain scanners to be always
      reported as busy
    + escl: Added support for Brother DCP-J772DW and Epson
      ET-2750 scanners
    + escl: Marked the following scanners as supported in
      documentation:
      - Canon PIXMA G4511
      - Canon PIXMA TR4550 Series
      - Canon PIXMA TR4551 Series
      - Epson ET-6100
    + escl: Implemented support for disabling PDF output on
      scanners where it's broken (#510)
    + escl: Implemented support for Canon PIXME TR4520 and
      TR7500 scanners
    + genesys: Improved scan quality on Canon LiDE 35/40/50/60
      by using brighter LED illumination
    + genesys: Fixed control of contrast and brigthness on certain
      scanners (#271)
    + genesys: Fixed crashes when handling slightly unexpected
      conditions (#464)
    + genesys: Fixed support for Plustek Opticfilm 7200 v2 scanner
    + genesys: Fixed button support on HP ScanJet G4010
    + genesys: Fixed compilation on gcc-4.8
    + genesys: Fixed incorrect LED exposure calculation leading to
      wrong color balance on certain resolutions on gl841 scanners
    + genesys: Improved gray scan quality on Canon LiDE 110, 120,
      210, 220 (#106, #52)
    + genesys: Fixed issue of motor becoming stuck at certain
      resolutions on Canon LiDE 50 and possibly other gl841
      scanners (#357)
    + genesys: Fixed periodic black lines in gray scans on Canon
      LiDE 80
    + genesys: Removed support for broken 75 and 100 dpi hardware
      resolutions to fix preview scans (#383). These resolutions
      did not have any benefit compared to next smallest 150 dpi
      resolution
    + genesys: Add support for running in embedded environments
      that don't support threads
    + genesys: Fixed gray scans to use white color for illumination
      instead of red on Canon LiDE 35/40/50/60 and potentially
      other gl841 scanners. Old behavior can be restored via the
      color filter setting to select specific color component for
      the gray scan
    + genesys: The genesys backend is now distributed under GPL v2
      or later license. Previously there existed an exception that
      allowed additional uses of the backend
    + gt68xx: Fixed several memory issues that can potentially lead
      to crashes or increased memory use
    + hp4200: Fixed crash when using HP ScanJet 4200C (#454)
    + microtek: Fixed support for embedded platforms using uclibc
    + pieusb: Implemented support for Reflecta RPS 10M scanner
    + pieusb: Fixed support for automatically advancing slides on
      DigitDia 4000
    + pixma: Fixed compliation with NDEBUG macro defined
    + pixma: Marked Canon PIXMA G4511 as supported in documentation
    + scangearmp2: Mark GX6000, GX7000, TS5400 and MX455 series
      as supported
  * Frontends
    + Improved documentation of scanimage concerning options
      provided by backends
    + scanimage: Improved help to specify which options are
      advanced
    + scanimage: Implemented support for PDF output format
- Cleanup create_hpaio.desc_from_models.dat:
  * Remove scanners unsupported by hplip (scan-type < 0)
  * Simplify and significantly speed it up

OBS-URL: https://build.opensuse.org/request/show/949860
OBS-URL: https://build.opensuse.org/package/show/graphics/sane-backends?expand=0&rev=106
---
 create_hpaio.desc_from_models.dat | 43 ++++----------
 sane-backends-1.0.32.tar.gz       |  3 -
 sane-backends-1.1.1.tar.gz        |  3 +
 sane-backends.changes             | 98 +++++++++++++++++++++++++++++++
 sane-backends.spec                | 12 ++--
 5 files changed, 119 insertions(+), 40 deletions(-)
 delete mode 100644 sane-backends-1.0.32.tar.gz
 create mode 100644 sane-backends-1.1.1.tar.gz

diff --git a/create_hpaio.desc_from_models.dat b/create_hpaio.desc_from_models.dat
index b505df7..b4152c4 100644
--- a/create_hpaio.desc_from_models.dat
+++ b/create_hpaio.desc_from_models.dat
@@ -43,40 +43,24 @@ echo ':status :untested'
 echo ':comment "fallback entry for HP all-in-one devices"'
 echo
 
-# Function to unify a model name:
-Unify()
-{ MODEL=$( echo $MODEL | sed -e 's/hp_//i' -e 's/Aii-in-One/all-in-one/i' )
+# Function to normalize model names:
+Normalize()
+{ MODELS=$( echo $MODELS | sed -e 's/hp_//ig' -e 's/Aii-in-One/all-in-one/ig' )
   for w in LaserJet Mopier DeskJet Business Inkjet Officejet Photosmart PSC Printer Scanner Copier DJ CP CM MFP Apollo series Color all-in-one
-  do MODEL=$( echo $MODEL | sed -e "s/$w/$w/i" )
+  do MODELS=$( echo $MODELS | sed -e "s/$w/$w/ig" )
   done
 }
 
 # Function to output one model entry:
 Output()
-{ if [ -n "$CLASS" -a ! "0" = "$TYPE" ]
-  then UNIFIEDMODELS=""
-       for MODEL in $( echo $MODELS )
-       do Unify
-          UNIFIEDMODELS=$( echo $UNIFIEDMODELS $MODEL )
-       done
-       UNIFIEDMODELS=$( echo $UNIFIEDMODELS | tr ' ' '\n' | sort -u | tr '\n' ' ' )
+{ if [ "$TYPE" -gt "0" ]
+  then Normalize
+       UNIFIEDMODELS=$( echo $MODELS | tr ' ' '\n' | sort -u | tr '\n' ' ' )
+       ID=$(( "0x$ID" ))
        for MODEL in $( echo $UNIFIEDMODELS )
        do MODEL=$( echo $MODEL | sed -e "s/_/ /g" )
           echo ":model \"$MODEL\""
-          if echo "$ID" | grep -q '[1-9a-f]'
-          then if echo "$ID" | grep -q '^[0-9a-f][0-9a-f][0-9a-f][0-9a-f]$'
-               then echo ":usbid \"0x03f0\" \"0x$ID\""
-               else if echo "$ID" | grep -q '^[0-9a-f][0-9a-f][0-9a-f]$'
-                    then echo ":usbid \"0x03f0\" \"0x0$ID\""
-                    else if echo "$ID" | grep -q '^[0-9a-f][0-9a-f]$'
-                         then echo ":usbid \"0x03f0\" \"0x00$ID\""
-                         else if echo "$ID" | grep -q '^[1-9a-f]$'
-                              then echo ":usbid \"0x03f0\" \"0x000$ID\""
-                              fi
-                         fi
-                    fi
-               fi
-          fi
+          if [ "$ID" -gt "0" ] ; then printf ":usbid \"0x03f0\" \"0x%.4x\"\n" $ID ; fi
           echo ':status :good'
           echo
        done
@@ -84,18 +68,17 @@ Output()
 }
 
 # Output model entries:
-CLASS=""
+TYPE="0"
 exec <$TMP_DATA
 while read KEY VALUE
 do case "$KEY" in
         class) Output
-                ID=""
+                ID="0"
                 TYPE="0"
-                CLASS="$VALUE"
-                MODELS="$CLASS" ;;
+                MODELS="$VALUE" ;;
         model*) MODELS=$( echo $MODELS $VALUE ) ;;
         scan-type) TYPE="$VALUE" ;;
-        usb-pid) ID=$( echo "$VALUE" | tr '[:upper:]' '[:lower:]' ) ;;
+        usb-pid) ID="$VALUE" ;;
         *) echo "Ignoring key $KEY" 1>&2 ;;
    esac
 done
diff --git a/sane-backends-1.0.32.tar.gz b/sane-backends-1.0.32.tar.gz
deleted file mode 100644
index cc0d3bd..0000000
--- a/sane-backends-1.0.32.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:3a28c237c0a72767086202379f6dc92dbb63ec08dfbab22312cba80e238bb114
-size 7349442
diff --git a/sane-backends-1.1.1.tar.gz b/sane-backends-1.1.1.tar.gz
new file mode 100644
index 0000000..eea6e04
--- /dev/null
+++ b/sane-backends-1.1.1.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:dd4b04c37a42f14c4619e8eea6a957f4c7c617fe59e32ae2872b373940a8b603
+size 7447569
diff --git a/sane-backends.changes b/sane-backends.changes
index 1bbd4d8..f623675 100644
--- a/sane-backends.changes
+++ b/sane-backends.changes
@@ -1,3 +1,101 @@
+-------------------------------------------------------------------
+Fri Jan 28 16:59:19 UTC 2022 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
+
+- Upgraded to sane-backends version 1.1.1
+  * Backends
+    + epson2: Fixed support for many scanners that don't support
+      focus command.
+    + epson2: Improve reliability of long scans.
+    + epsonds: Implemented support for the following Epson scanners:
+      - DS-1610, DS-1630, DS-1660W, DS-310, DS-320, DS-360W, DS-410,
+        DS-530, DS-530II, DS-531, DS-535, DS-535H, DS-535II, DS-570W,
+        DS-570WII, DS-571W, DS-575W, DS-575WII, DS-70, DS-80W
+      - ES-200, ES-300W, ES-300WR, ES-400, ES-400II, ES-50, ES-500W,
+        ES-500WII, ES-500WR, ES-55R, ES-580W, ES-60W, ES-60WB,
+        ES-60WW, ES-65WR,
+      - ET-2700 Series, ET-2710 Series, ET-2810 Series,
+        ET-M2140 Series, ET-M3140 Series,
+      - EW-052A Series,
+      - FF-680W,
+      - L3150 Series, L3200 Series, L3210 Series, L3250 Series,
+        L4150 Series,
+      - M2140 Series, M3140 Series,
+      - RR-60, RR-600W, RR-70W,
+      - XP-2100 Series, XP-2150 Series
+    + epson2: Marked XP-452 455 series as supported in
+      documentation
+    + escl: Fixed scanning problems on certain scanners due to
+      incorrect URL being used (#479)
+    + escl: Fixed support for different resolutions when using
+      JPEG format
+    + escl: Fixed handling of ipp-usb redirects to localhost
+      which previously caused certain scanners to be always
+      reported as busy
+    + escl: Added support for Brother DCP-J772DW and Epson
+      ET-2750 scanners
+    + escl: Marked the following scanners as supported in
+      documentation:
+      - Canon PIXMA G4511
+      - Canon PIXMA TR4550 Series
+      - Canon PIXMA TR4551 Series
+      - Epson ET-6100
+    + escl: Implemented support for disabling PDF output on
+      scanners where it's broken (#510)
+    + escl: Implemented support for Canon PIXME TR4520 and
+      TR7500 scanners
+    + genesys: Improved scan quality on Canon LiDE 35/40/50/60
+      by using brighter LED illumination
+    + genesys: Fixed control of contrast and brigthness on certain
+      scanners (#271)
+    + genesys: Fixed crashes when handling slightly unexpected
+      conditions (#464)
+    + genesys: Fixed support for Plustek Opticfilm 7200 v2 scanner
+    + genesys: Fixed button support on HP ScanJet G4010
+    + genesys: Fixed compilation on gcc-4.8
+    + genesys: Fixed incorrect LED exposure calculation leading to
+      wrong color balance on certain resolutions on gl841 scanners
+    + genesys: Improved gray scan quality on Canon LiDE 110, 120,
+      210, 220 (#106, #52)
+    + genesys: Fixed issue of motor becoming stuck at certain
+      resolutions on Canon LiDE 50 and possibly other gl841
+      scanners (#357)
+    + genesys: Fixed periodic black lines in gray scans on Canon
+      LiDE 80
+    + genesys: Removed support for broken 75 and 100 dpi hardware
+      resolutions to fix preview scans (#383). These resolutions
+      did not have any benefit compared to next smallest 150 dpi
+      resolution
+    + genesys: Add support for running in embedded environments
+      that don't support threads
+    + genesys: Fixed gray scans to use white color for illumination
+      instead of red on Canon LiDE 35/40/50/60 and potentially
+      other gl841 scanners. Old behavior can be restored via the
+      color filter setting to select specific color component for
+      the gray scan
+    + genesys: The genesys backend is now distributed under GPL v2
+      or later license. Previously there existed an exception that
+      allowed additional uses of the backend
+    + gt68xx: Fixed several memory issues that can potentially lead
+      to crashes or increased memory use
+    + hp4200: Fixed crash when using HP ScanJet 4200C (#454)
+    + microtek: Fixed support for embedded platforms using uclibc
+    + pieusb: Implemented support for Reflecta RPS 10M scanner
+    + pieusb: Fixed support for automatically advancing slides on
+      DigitDia 4000
+    + pixma: Fixed compliation with NDEBUG macro defined
+    + pixma: Marked Canon PIXMA G4511 as supported in documentation
+    + scangearmp2: Mark GX6000, GX7000, TS5400 and MX455 series
+      as supported
+  * Frontends
+    + Improved documentation of scanimage concerning options
+      provided by backends
+    + scanimage: Improved help to specify which options are
+      advanced
+    + scanimage: Implemented support for PDF output format
+- Cleanup create_hpaio.desc_from_models.dat:
+  * Remove scanners unsupported by hplip (scan-type < 0)
+  * Simplify and significantly speed it up
+
 -------------------------------------------------------------------
 Mon Feb 15 13:57:16 UTC 2021 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
 
diff --git a/sane-backends.spec b/sane-backends.spec
index f9e66bf..0eda89e 100644
--- a/sane-backends.spec
+++ b/sane-backends.spec
@@ -1,7 +1,7 @@
 #
 # spec file for package sane-backends
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -50,7 +50,7 @@ BuildRequires:  pkgconfig(systemd)
 Summary:        SANE (Scanner Access Now Easy) Scanner Drivers
 License:        GPL-2.0-or-later AND SUSE-GPL-2.0+-with-sane-exception AND SUSE-Public-Domain
 Group:          Hardware/Scanner
-Version:        1.0.32
+Version:        1.1.1
 Release:        0
 URL:            http://www.sane-project.org/
 # On https://gitlab.com/sane-project/backends/-/releases
@@ -62,7 +62,7 @@ URL:            http://www.sane-project.org/
 # and autoconf fails as it requires a complete git clone, see https://gitlab.com/sane-project/backends/issues/248
 # We use the second one "sane-backends-1.0.32.tar.gz" that is a dist tarball with a prebuilt configure script via
 # wget https://gitlab.com/sane-project/backends/uploads/104f09c07d35519cc8e72e604f11643f/sane-backends-1.0.32.tar.gz
-Source0:        sane-backends-1.0.32.tar.gz
+Source0:        https://gitlab.com/sane-project/backends/uploads/7d30fab4e115029d91027b6a58d64b43/sane-backends-1.1.1.tar.gz
 # Source100... is SUSE specific stuff:
 # Source102 is the OpenSLP registration file for the saned:
 Source102:      sane.reg
@@ -380,10 +380,8 @@ sed -i -e 's/GROUP="scanner"/GROUP="lp"/' tools/udev/libsane.rules
 # the "Epson Perfection 1670" is "unsupported" by the "epkowa" backend
 # but works "good" with the "snapscan" backend
 # see https://bugzilla.novell.com/show_bug.cgi?id=439193#c6
-cat /dev/null >unsupportedUSBIDs
-for USBID in $( grep '||[^|]*|0x[0-9A-Fa-f][0-9A-Fa-f]*:0x[0-9A-Fa-f][0-9A-Fa-f]*|unsupported|' scanner.database | cut -s -d '|' -f 7 | sort -f -u )
-do grep -o "|$USBID|.*|" scanner.database | grep -E -q 'complete|good|basic|minimal|untested' || echo $USBID >>unsupportedUSBIDs
-done
+sed -n -e '\@|0x.*:0x.*|@ { s/.*|\(0x[0-9A-Fa-f:x]*\)|\([a-z]*\)|.*/\1 S:\2/ ; s/S:unsupported/1_uns/ ; s/S:.*/0_sup/ ; p } ; d' < scanner.database \
+  | sort -u | uniq -w 13 | sed '/0_sup/ d ; s/\(.*\) 1_uns/\1/' > unsupportedUSBIDs
 # Ignore case when using sed to avoid possible problems
 # with upper case letters in the USB IDs:
 for m in $( sed -e 's/0x/./ig' -e 's/:/.,.ATTR.idProduct.==/' unsupportedUSBIDs )