The package rpms/sane-backends.git has added or updated architecture specific content in its spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s): https://src.fedoraproject.org/cgit/rpms/sane-backends.git/commit/?id=5185ac9....
Change: +%ifarch armv7hl i686 x86_64
Thanks.
Full change: ============
commit f67fcd597558c50136378401267bd27d9f5f82bd Author: Zdenek Dohnal zdohnal@redhat.com Date: Thu Oct 17 11:36:31 2019 +0200
1761530 - genesys aborts when accessing invalid vector index and built with GLIBCXX_ASSERTIONS
diff --git a/sane-backends.spec b/sane-backends.spec index 27a0aa1..7808ce7 100644 --- a/sane-backends.spec +++ b/sane-backends.spec @@ -458,6 +458,7 @@ exit 0 - 1761145, 1761001, 1761051, 1761234 - genesys backend now needs gcc-c++, it is not built otherwise - 1758886 - CanoScan LiDE scanners supported by genesys backend are not detected - 1760916 - Samsung C460 does not have JPEG support +- 1761530 - genesys aborts when accessing invalid vector index and built with GLIBCXX_ASSERTIONS
* Mon Sep 30 2019 Zdenek Dohnal zdohnal@redhat.com - 1.0.28-1 - 1.0.28 diff --git a/sane-genesys-vector-glibcxxassert.patch b/sane-genesys-vector-glibcxxassert.patch new file mode 100644 index 0000000..48ed253 --- /dev/null +++ b/sane-genesys-vector-glibcxxassert.patch @@ -0,0 +1,56 @@ +diff --git a/backend/genesys_low.cc b/backend/genesys_low.cc +index 097375f..20dd3a4 100644 +--- a/backend/genesys_low.cc ++++ b/backend/genesys_low.cc +@@ -49,6 +49,11 @@ + + #include <vector> + ++template <typename T> ++T safe_vec_addr(std::vector<T>& vec, int i) ++{ ++ return vec.size() >= (unsigned long int)(i+1) ? vec[i] : (T)0; ++} + + Genesys_Device::~Genesys_Device() + { +@@ -1209,17 +1214,17 @@ SANE_Status sanei_genesys_generate_gamma_buffer(Genesys_Device * dev, + dev->settings.brightness); + for (int i = 0; i < size; i++) + { +- uint16_t value=rgamma[i]; ++ uint16_t value = safe_vec_addr(rgamma, i); + value=lut[value]; + gamma[i * 2 + size * 0 + 0] = value & 0xff; + gamma[i * 2 + size * 0 + 1] = (value >> 8) & 0xff; + +- value=ggamma[i]; ++ value = safe_vec_addr(ggamma, i); + value=lut[value]; + gamma[i * 2 + size * 2 + 0] = value & 0xff; + gamma[i * 2 + size * 2 + 1] = (value >> 8) & 0xff; + +- value=bgamma[i]; ++ value = safe_vec_addr(bgamma, i); + value=lut[value]; + gamma[i * 2 + size * 4 + 0] = value & 0xff; + gamma[i * 2 + size * 4 + 1] = (value >> 8) & 0xff; +@@ -1229,15 +1234,15 @@ SANE_Status sanei_genesys_generate_gamma_buffer(Genesys_Device * dev, + { + for (int i = 0; i < size; i++) + { +- uint16_t value=rgamma[i]; ++ uint16_t value = safe_vec_addr(rgamma, i); + gamma[i * 2 + size * 0 + 0] = value & 0xff; + gamma[i * 2 + size * 0 + 1] = (value >> 8) & 0xff; + +- value=ggamma[i]; ++ value = safe_vec_addr(ggamma, i); + gamma[i * 2 + size * 2 + 0] = value & 0xff; + gamma[i * 2 + size * 2 + 1] = (value >> 8) & 0xff; + +- value=bgamma[i]; ++ value = safe_vec_addr(bgamma, i); + gamma[i * 2 + size * 4 + 0] = value & 0xff; + gamma[i * 2 + size * 4 + 1] = (value >> 8) & 0xff; + }
commit 62dc8e3ea6b5095ce574211295b0a85cb40fc0a1 Author: Zdenek Dohnal zdohnal@redhat.com Date: Thu Oct 17 11:33:51 2019 +0200
1760916 - Samsung C460 does not have JPEG support
diff --git a/sane-backends.spec b/sane-backends.spec index a3814f4..27a0aa1 100644 --- a/sane-backends.spec +++ b/sane-backends.spec @@ -57,6 +57,8 @@ Patch2: sane-backends-1.0.23-sane-config-multilib.patch Patch3: sane-backends-saned-manpage.patch # several canoscan models did not work due genesys backend rewritten, taken from upstream Patch4: 0001-genesys-Make-sure-calib_reg-are-available-before-wri.patch +# blacklist Samsung C460 for JPEG, #1760916 +Patch5: sane-xerox-mfp-blacklist-C460-for-JPEG.patch
URL: http://www.sane-project.org
@@ -193,6 +195,7 @@ access image acquisition devices available on the local host. %patch2 -p1 -b .sane-config-multilib %patch3 -p1 -b .saned-manpage %patch4 -p1 -b .genesys-regression +%patch5 -p1 -b .c460-blacklist-for-jpeg
%build CFLAGS="%optflags -fno-strict-aliasing" @@ -454,6 +457,7 @@ exit 0 * Thu Oct 17 2019 Zdenek Dohnal zdohnal@redhat.com - 1.0.28-2 - 1761145, 1761001, 1761051, 1761234 - genesys backend now needs gcc-c++, it is not built otherwise - 1758886 - CanoScan LiDE scanners supported by genesys backend are not detected +- 1760916 - Samsung C460 does not have JPEG support
* Mon Sep 30 2019 Zdenek Dohnal zdohnal@redhat.com - 1.0.28-1 - 1.0.28 diff --git a/sane-xerox-mfp-blacklist-C460-for-JPEG.patch b/sane-xerox-mfp-blacklist-C460-for-JPEG.patch new file mode 100644 index 0000000..401a4a7 --- /dev/null +++ b/sane-xerox-mfp-blacklist-C460-for-JPEG.patch @@ -0,0 +1,12 @@ +diff --git a/backend/xerox_mfp.c b/backend/xerox_mfp.c +index b7fcbee..2cb73ee 100644 +--- a/backend/xerox_mfp.c ++++ b/backend/xerox_mfp.c +@@ -209,6 +209,7 @@ static int isSupportedDevice(struct device __sane_unused__ *dev) + if (dev->compressionTypes & (1 << 6)) { + /* blacklist malfunctioning device(s) */ + if (!strncmp(dev->sane.model, "SCX-4500W", 9) || ++ !strncmp(dev->sane.model, "C460", 4) || + !strncmp(dev->sane.model, "M288x", 5)) + return 0; + return 1;
commit 7d3dd917343a955ac80b6cb84febb4e2dbee7c0f Author: Zdenek Dohnal zdohnal@redhat.com Date: Thu Oct 17 11:31:27 2019 +0200
1758886 - CanoScan LiDE scanners supported by genesys backend are not detected
diff --git a/0001-genesys-Make-sure-calib_reg-are-available-before-wri.patch b/0001-genesys-Make-sure-calib_reg-are-available-before-wri.patch new file mode 100644 index 0000000..4687a24 --- /dev/null +++ b/0001-genesys-Make-sure-calib_reg-are-available-before-wri.patch @@ -0,0 +1,13 @@ +diff -up sane-backends-1.0.28/backend/genesys_gl841.cc.genesys-regression sane-backends-1.0.28/backend/genesys_gl841.cc +--- sane-backends-1.0.28/backend/genesys_gl841.cc.genesys-regression 2019-10-14 13:11:10.772763713 +0200 ++++ sane-backends-1.0.28/backend/genesys_gl841.cc 2019-10-14 13:11:57.602389188 +0200 +@@ -5042,6 +5042,9 @@ gl841_init (Genesys_Device * dev) + /* Set analog frontend */ + RIE (gl841_set_fe(dev, sensor, AFE_INIT)); + ++ // FIXME: slow_back_home modifies dev->calib_reg and requires it to be filled ++ dev->calib_reg = dev->reg; ++ + /* Move home */ + RIE (gl841_slow_back_home (dev, SANE_TRUE)); + diff --git a/sane-backends.spec b/sane-backends.spec index 502c564..a3814f4 100644 --- a/sane-backends.spec +++ b/sane-backends.spec @@ -55,6 +55,8 @@ Patch1: sane-backends-1.0.23-soname.patch Patch2: sane-backends-1.0.23-sane-config-multilib.patch # saned manpage incomplete and exists when saned is not installed (#1515762) Patch3: sane-backends-saned-manpage.patch +# several canoscan models did not work due genesys backend rewritten, taken from upstream +Patch4: 0001-genesys-Make-sure-calib_reg-are-available-before-wri.patch
URL: http://www.sane-project.org
@@ -190,6 +192,7 @@ access image acquisition devices available on the local host. %patch1 -p1 -b .soname %patch2 -p1 -b .sane-config-multilib %patch3 -p1 -b .saned-manpage +%patch4 -p1 -b .genesys-regression
%build CFLAGS="%optflags -fno-strict-aliasing" @@ -448,8 +451,9 @@ exit 0 %{_unitdir}/saned@.service
%changelog -* Mon Oct 14 2019 Zdenek Dohnal zdohnal@redhat.com - 1.0.28-2 +* Thu Oct 17 2019 Zdenek Dohnal zdohnal@redhat.com - 1.0.28-2 - 1761145, 1761001, 1761051, 1761234 - genesys backend now needs gcc-c++, it is not built otherwise +- 1758886 - CanoScan LiDE scanners supported by genesys backend are not detected
* Mon Sep 30 2019 Zdenek Dohnal zdohnal@redhat.com - 1.0.28-1 - 1.0.28
commit 5185ac94abd1821dbf3bf974f7c673cfe6943127 Author: Zdenek Dohnal zdohnal@redhat.com Date: Thu Oct 17 11:27:14 2019 +0200
1761145, 1761001, 1761051, 1761234 - genesys backend now needs gcc-c++, it is not built otherwise
diff --git a/sane-backends.spec b/sane-backends.spec index 6721f08..502c564 100644 --- a/sane-backends.spec +++ b/sane-backends.spec @@ -33,7 +33,7 @@ Summary: Scanner access software Name: sane-backends Version: 1.0.28 -Release: 1%{?dist} +Release: 2%{?dist} # lib/ is LGPLv2+, backends are GPLv2+ with exceptions # Tools are GPLv2+, docs are public domain # see LICENSE for details @@ -56,13 +56,12 @@ Patch2: sane-backends-1.0.23-sane-config-multilib.patch # saned manpage incomplete and exists when saned is not installed (#1515762) Patch3: sane-backends-saned-manpage.patch
- -#Patch5: sane-backends-revert-samsung-patch.patch - URL: http://www.sane-project.org
# gcc is no longer in buildroot by default BuildRequires: gcc +# genesys backend is not written in C++, so it is needed as buildrequire +BuildRequires: gcc-c++
BuildRequires: %{_bindir}/latex %if %libusb1 @@ -333,7 +332,104 @@ exit 0 %{_libdir}/pkgconfig/sane-backends.pc
%files drivers-scanners -%{_libdir}/sane/*.so +# we need to specify all .so files for available backends because something like +# #1761145 can happen - genesys did not compile because of lack gcc-c++ in buildroot +# and configure printed only warning. So now we can figure out missing backend support +# during build +%{_libdir}/sane/libsane-abaton.so +%{_libdir}/sane/libsane-agfafocus.so +%{_libdir}/sane/libsane-apple.so +%{_libdir}/sane/libsane-artec.so +%{_libdir}/sane/libsane-artec_eplus48u.so +%{_libdir}/sane/libsane-as6e.so +%{_libdir}/sane/libsane-avision.so +%{_libdir}/sane/libsane-bh.so +%{_libdir}/sane/libsane-canon.so +%{_libdir}/sane/libsane-canon630u.so +%{_libdir}/sane/libsane-canon_dr.so +%{_libdir}/sane/libsane-canon_pp.so +%{_libdir}/sane/libsane-cardscan.so +%{_libdir}/sane/libsane-coolscan.so +%{_libdir}/sane/libsane-coolscan2.so +%{_libdir}/sane/libsane-coolscan3.so +%{_libdir}/sane/libsane-dc210.so +%{_libdir}/sane/libsane-dc240.so +%{_libdir}/sane/libsane-dc25.so +%{_libdir}/sane/libsane-dell1600n_net.so +%{_libdir}/sane/libsane-dll.so +%{_libdir}/sane/libsane-dmc.so +%{_libdir}/sane/libsane-epjitsu.so +%{_libdir}/sane/libsane-epson.so +%{_libdir}/sane/libsane-epson2.so +%{_libdir}/sane/libsane-epsonds.so +%{_libdir}/sane/libsane-fujitsu.so +%{_libdir}/sane/libsane-genesys.so +%{_libdir}/sane/libsane-gt68xx.so +%{_libdir}/sane/libsane-hp.so +%{_libdir}/sane/libsane-hp3500.so +%{_libdir}/sane/libsane-hp3900.so +%{_libdir}/sane/libsane-hp4200.so +%{_libdir}/sane/libsane-hp5400.so +%{_libdir}/sane/libsane-hp5590.so +%{_libdir}/sane/libsane-hpljm1005.so +%{_libdir}/sane/libsane-hpsj5s.so +%{_libdir}/sane/libsane-hs2p.so +%{_libdir}/sane/libsane-ibm.so +%{_libdir}/sane/libsane-kodak.so +%{_libdir}/sane/libsane-kodakaio.so +%{_libdir}/sane/libsane-kvs1025.so +%{_libdir}/sane/libsane-kvs20xx.so +%{_libdir}/sane/libsane-kvs40xx.so +%{_libdir}/sane/libsane-leo.so +%{_libdir}/sane/libsane-lexmark.so +%{_libdir}/sane/libsane-ma1509.so +%{_libdir}/sane/libsane-magicolor.so +%{_libdir}/sane/libsane-matsushita.so +%{_libdir}/sane/libsane-microtek.so +%{_libdir}/sane/libsane-microtek2.so +%{_libdir}/sane/libsane-mustek.so +%{_libdir}/sane/libsane-mustek_pp.so +%{_libdir}/sane/libsane-mustek_usb.so +%{_libdir}/sane/libsane-mustek_usb2.so +%{_libdir}/sane/libsane-nec.so +%{_libdir}/sane/libsane-net.so +%{_libdir}/sane/libsane-niash.so +%{_libdir}/sane/libsane-p5.so +%{_libdir}/sane/libsane-pie.so +%{_libdir}/sane/libsane-pieusb.so +%{_libdir}/sane/libsane-pixma.so +%{_libdir}/sane/libsane-plustek.so +%{_libdir}/sane/libsane-plustek_pp.so +# qcam is not on aarch64, ppc64le and s390x. SANE needs +# ioperm, inb and outb functions or portaccess function +# to support qcam backend. Those functions are only in +# armv7hl, i686 and x86_64 architectures. +%ifarch armv7hl i686 x86_64 +%{_libdir}/sane/libsane-qcam.so +%endif +%{_libdir}/sane/libsane-ricoh.so +%{_libdir}/sane/libsane-ricoh2.so +%{_libdir}/sane/libsane-rts8891.so +%{_libdir}/sane/libsane-s9036.so +%{_libdir}/sane/libsane-sceptre.so +%{_libdir}/sane/libsane-sharp.so +%{_libdir}/sane/libsane-sm3600.so +%{_libdir}/sane/libsane-sm3840.so +%{_libdir}/sane/libsane-snapscan.so +%{_libdir}/sane/libsane-sp15c.so +%{_libdir}/sane/libsane-st400.so +%{_libdir}/sane/libsane-stv680.so +%{_libdir}/sane/libsane-tamarack.so +%{_libdir}/sane/libsane-teco1.so +%{_libdir}/sane/libsane-teco2.so +%{_libdir}/sane/libsane-teco3.so +%{_libdir}/sane/libsane-test.so +%{_libdir}/sane/libsane-u12.so +%{_libdir}/sane/libsane-umax.so +%{_libdir}/sane/libsane-umax1220u.so +%{_libdir}/sane/libsane-umax_pp.so +%{_libdir}/sane/libsane-v4l.so +%{_libdir}/sane/libsane-xerox_mfp.so %{_libdir}/sane/*.so.1 %{_libdir}/sane/*.so.1.0.28
@@ -352,6 +448,9 @@ exit 0 %{_unitdir}/saned@.service
%changelog +* Mon Oct 14 2019 Zdenek Dohnal zdohnal@redhat.com - 1.0.28-2 +- 1761145, 1761001, 1761051, 1761234 - genesys backend now needs gcc-c++, it is not built otherwise + * Mon Sep 30 2019 Zdenek Dohnal zdohnal@redhat.com - 1.0.28-1 - 1.0.28