diff --git a/.gitignore b/.gitignore index d0c7f1d..bf9c232 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ sane-backends-1.0.21.tar.gz /sane-backends-1.0.25.tar.gz /sane-backends-1.0.27.tar.gz /sane-backends-1.0.28.tar.gz +/sane-backends-1.0.29.tar.gz 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 deleted file mode 100644 index 4687a24..0000000 --- a/0001-genesys-Make-sure-calib_reg-are-available-before-wri.patch +++ /dev/null @@ -1,13 +0,0 @@ -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 cf22a37..f37b9e0 100644 --- a/sane-backends.spec +++ b/sane-backends.spec @@ -1,45 +1,26 @@ # let -devel require drivers to make them available as multilib %global needs_multilib_quirk 1 -%if !0%{?fedora}%{?rhel} || 0%{?fedora} >= 16 || 0%{?rhel} >= 7 %global _hardened_build 1 -%endif -%if !0%{?fedora}%{?rhel} || 0%{?fedora} >= 17 || 0%{?rhel} >= 7 -%global udevdir %{_prefix}/lib/udev -%else -%global udevdir /lib/udev -%endif -%global udevrulesdir %{udevdir}/rules.d -%global udevhwdbdir %{udevdir}/hwdb.d - -%if !0%{?fedora}%{?rhel} || 0%{?fedora} >= 18 || 0%{?rhel} >= 7 %global libusb1 1 -%else -%global libusb1 0 -%endif %global __provides_exclude_from ^%{_libdir}/sane/.*\.so.*$ %global __requires_exclude ^libsane-.*\.so\.[0-9]*(\(\).*)?+$ -%if ! 0%{?fedora}%{?rhel} || 0%{?fedora} >= 20 || 0%{?rhel} >= 8 %global _maindocdir %{_docdir}/%{name} %global _docdocdir %{_docdir}/%{name}-doc -%else -%global _maindocdir %{_docdir}/%{name}-%{version} -%global _docdocdir %{_docdir}/%{name}-doc-%{version} -%endif Summary: Scanner access software Name: sane-backends -Version: 1.0.28 -Release: 7%{?dist} +Version: 1.0.29 +Release: 1%{?dist} # lib/ is LGPLv2+, backends are GPLv2+ with exceptions # Tools are GPLv2+, docs are public domain # see LICENSE for details License: GPLv2+ and GPLv2+ with exceptions and Public Domain and IJG and LGPLv2+ and MIT # Alioth Download URLs are amazing. -Source0: https://gitlab.com/sane-project/backends/uploads/9e718daff347826f4cfe21126c8d5091/%{name}-%{version}.tar.gz +Source0: https://gitlab.com/sane-project/backends/uploads/54f858b20a364fc35d820df935a86478/%{name}-%{version}.tar.gz Source1: sane.png Source2: saned.socket Source3: saned@.service.in @@ -55,12 +36,9 @@ 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 -# blacklist Samsung C460 for JPEG, #1760916 -Patch5: sane-xerox-mfp-blacklist-C460-for-JPEG.patch -# glibcxx assert aborts genesys backend -Patch6: sane-genesys-vector-glibcxxassert.patch +# undeclared variable on s390x, from upstream +# https://gitlab.com/sane-project/backends/-/merge_requests/329 +Patch4: sane-genesys-s390x-ftbfs.patch URL: http://www.sane-project.org @@ -86,15 +64,17 @@ BuildRequires: systemd-devel BuildRequires: systemd # needed by macros in rpm scriptlets BuildRequires: systemd-rpm-macros +# for escl backend +BuildRequires: libcurl-devel +BuildRequires: avahi-devel +# for escl backend and USB I/O recording and replay +BuildRequires: libxml2-devel Requires: libpng Requires: systemd >= 196 Requires: systemd-udev >= 196 Requires: sane-backends-libs%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} -# Don't drag around obsoletes forever -%if ! (0%{?fedora} >= 27 || 0%{?rhel} >= 8) -Obsoletes: sane-backends < 1.0.25-3 -Conflicts: sane-backends < 1.0.25-3 -%endif +# needed for escl backend +Requires: avahi-libs %description Scanner Access Now Easy (SANE) is a universal scanner interface. The @@ -106,10 +86,6 @@ hand-held scanner, video and still cameras, frame-grabbers, etc.). Summary: SANE backends documentation BuildArch: noarch # Don't drag around obsoletes forever -%if 0%{?fedora}%{?rhel} && (0%{?fedora} < 25 || 0%{?rhel} <= 8) -Obsoletes: sane-backends < 1.0.23-10 -Conflicts: sane-backends < 1.0.23-10 -%endif %description doc This package contains documentation for SANE backends. @@ -149,13 +125,6 @@ Easy (SANE) modules. Summary: SANE backend drivers for scanners Requires: sane-backends = %{?epoch:%{epoch}:}%{version}-%{release} Requires: sane-backends-libs%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} -# Don't drag around obsoletes forever -%if 0%{?rhel} && 0%{?rhel} < 8 -Obsoletes: sane-backends < 1.0.22-4 -Obsoletes: sane-backends-libs < 1.0.22-4 -Conflicts: sane-backends < 1.0.22-4 -Conflicts: sane-backends-libs < 1.0.22-4 -%endif %description drivers-scanners This package contains backend drivers to access scanner hardware through SANE. @@ -164,13 +133,6 @@ This package contains backend drivers to access scanner hardware through SANE. Summary: Scanner backend drivers for digital cameras Requires: sane-backends = %{?epoch:%{epoch}:}%{version}-%{release} Requires: sane-backends-libs%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} -# Don't drag around obsoletes forever -%if 0%{?rhel} && 0%{?rhel} < 8 -Obsoletes: sane-backends-libs-gphoto2 < 1.0.22-4 -Conflicts: sane-backends-libs-gphoto2 < 1.0.22-4 -Provides: sane-libs-gphoto2 = %{?epoch:%{epoch}:}%{version}-%{release} -Provides: sane-libs-gphoto2%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} -%endif %description drivers-cameras This package contains backend drivers to access digital cameras through SANE. @@ -180,12 +142,6 @@ Summary: Scanner network daemon Requires: sane-backends = %{?epoch:%{epoch}:}%{version}-%{release} Requires: sane-backends-libs%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Requires(pre): shadow-utils -%{?systemd_requires} -# Split off saned from 1.0.25-3 on, don't drag around obsoletes forever -%if ! (0%{?fedora} >= 27 || 0%{?rhel} >= 8) -Obsoletes: sane-backends < 1.0.25-3 -Conflicts: sane-backends < 1.0.25-3 -%endif %description daemon This package contains saned which is the daemon that allows remote clients to @@ -198,9 +154,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 -%patch5 -p1 -b .c460-blacklist-for-jpeg -%patch6 -p1 -b .genesys-vector-assert +%patch4 -p1 -b .genesys-s390x-ftbfs %build CFLAGS="%optflags -fno-strict-aliasing" @@ -218,7 +172,9 @@ LDFLAGS="-pie" %if %libusb1 --with-usb \ %endif - --enable-pthread + --enable-pthread \ + --enable-avahi \ + --with-libcurl make %{?_smp_mflags} # Write udev/hwdb files @@ -239,11 +195,11 @@ rm -f %{buildroot}%{_mandir}/man1/gamma4scanimage.1* rm -f %{buildroot}%{_libdir}/sane/*.a %{buildroot}%{_libdir}/*.a rm -f %{buildroot}%{_libdir}/libsane*.la %{buildroot}%{_libdir}/sane/*.la -mkdir -p %{buildroot}%{udevrulesdir} -mkdir -p %{buildroot}%{udevhwdbdir} -install -m 0644 tools/udev/sane-backends.rules %{buildroot}%{udevrulesdir}/65-sane-backends.rules -install -m 0644 tools/udev/sane-backends.hwdb %{buildroot}%{udevhwdbdir}/20-sane-backends.hwdb -install -m 0644 %{SOURCE5} %{buildroot}%{udevrulesdir}/66-saned.rules +mkdir -p %{buildroot}%{_udevrulesdir} +mkdir -p %{buildroot}%{_udevhwdbdir} +install -m 0644 tools/udev/sane-backends.rules %{buildroot}%{_udevrulesdir}/65-sane-backends.rules +install -m 0644 tools/udev/sane-backends.hwdb %{buildroot}%{_udevhwdbdir}/20-sane-backends.hwdb +install -m 0644 %{SOURCE5} %{buildroot}%{_udevrulesdir}/66-saned.rules mkdir -p %{buildroot}%{_libdir}/pkgconfig install -m 0644 tools/sane-backends.pc %{buildroot}%{_libdir}/pkgconfig/ @@ -313,8 +269,8 @@ exit 0 %dir /etc/sane.d %dir /etc/sane.d/dll.d %config(noreplace) /etc/sane.d/*.conf -%{udevrulesdir}/65-sane-backends.rules -%{udevhwdbdir}/20-sane-backends.hwdb +%{_udevrulesdir}/65-sane-backends.rules +%{_udevhwdbdir}/20-sane-backends.hwdb %{_datadir}/pixmaps/sane.png %{_bindir}/sane-find-scanner @@ -333,7 +289,7 @@ exit 0 %files libs %{_libdir}/libsane.so.1 -%{_libdir}/libsane.so.1.0.28 +%{_libdir}/libsane.so.1.0.29 %files devel %{_bindir}/sane-config @@ -373,6 +329,7 @@ exit 0 %{_libdir}/sane/libsane-epson.so %{_libdir}/sane/libsane-epson2.so %{_libdir}/sane/libsane-epsonds.so +%{_libdir}/sane/libsane-escl.so %{_libdir}/sane/libsane-fujitsu.so %{_libdir}/sane/libsane-genesys.so %{_libdir}/sane/libsane-gt68xx.so @@ -417,7 +374,9 @@ exit 0 # armv7hl (until F30), i686 and x86_64 architectures. # Because qcam is missing on some archs and releases, # I'll leave here a wildcard record -%{_libdir}/sane/*.so +%ifarch x86_64 i686 +%{_libdir}/sane/libsane-qcam.so +%endif %{_libdir}/sane/libsane-ricoh.so %{_libdir}/sane/libsane-ricoh2.so %{_libdir}/sane/libsane-rts8891.so @@ -442,23 +401,26 @@ exit 0 %{_libdir}/sane/libsane-v4l.so %{_libdir}/sane/libsane-xerox_mfp.so %{_libdir}/sane/*.so.1 -%{_libdir}/sane/*.so.1.0.28 +%{_libdir}/sane/*.so.1.0.29 %exclude %{_libdir}/sane/*gphoto2.so* %files drivers-cameras %{_libdir}/sane/libsane-gphoto2.so %{_libdir}/sane/libsane-gphoto2.so.1 -%{_libdir}/sane/libsane-gphoto2.so.1.0.28 +%{_libdir}/sane/libsane-gphoto2.so.1.0.29 %files daemon %{_sbindir}/saned %{_mandir}/man8/saned* -%{udevrulesdir}/66-saned.rules +%{_udevrulesdir}/66-saned.rules %{_unitdir}/saned.socket %{_unitdir}/saned@.service %changelog +* Mon Feb 03 2020 Zdenek Dohnal - 1.0.29-1 +- 1.0.29 + * Thu Jan 30 2020 Fedora Release Engineering - 1.0.28-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild diff --git a/sane-genesys-s390x-ftbfs.patch b/sane-genesys-s390x-ftbfs.patch new file mode 100644 index 0000000..407e52d --- /dev/null +++ b/sane-genesys-s390x-ftbfs.patch @@ -0,0 +1,13 @@ +diff --git a/backend/genesys/low.cpp b/backend/genesys/low.cpp +index 7937fcc..4020456 100644 +--- a/backend/genesys/low.cpp ++++ b/backend/genesys/low.cpp +@@ -539,7 +539,7 @@ Image read_unshuffled_image_from_scanner(Genesys_Device* dev, const ScanSession& + } + + #ifdef WORDS_BIGENDIAN +- if (depth == 16) { ++ if (session.params.depth == 16) { + dev->pipeline.push_node(); + } + #endif diff --git a/sane-genesys-vector-glibcxxassert.patch b/sane-genesys-vector-glibcxxassert.patch deleted file mode 100644 index 2825e89..0000000 --- a/sane-genesys-vector-glibcxxassert.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/backend/genesys.cc b/backend/genesys.cc -index 0368e21..5ec37bc 100644 ---- a/backend/genesys.cc -+++ b/backend/genesys.cc -@@ -778,6 +778,12 @@ void sanei_genesys_create_default_gamma_table(Genesys_Device* dev, - size = 4096; - } - max = size - 1; -+ } else if (dev->model->asic_type == GENESYS_GL846 -+ || dev->model->asic_type == GENESYS_GL847 -+ || dev->model->asic_type == GENESYS_GL848 -+ || dev->model->asic_type == GENESYS_GL124) { -+ size = 257; -+ max = 65535; - } else { - size = 256; - max = 65535; diff --git a/sane-xerox-mfp-blacklist-C460-for-JPEG.patch b/sane-xerox-mfp-blacklist-C460-for-JPEG.patch deleted file mode 100644 index 401a4a7..0000000 --- a/sane-xerox-mfp-blacklist-C460-for-JPEG.patch +++ /dev/null @@ -1,12 +0,0 @@ -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; diff --git a/sources b/sources index e9cc2b1..2d1a38a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (sane-backends-1.0.28.tar.gz) = 84607739cea28c31f9a2f21df583c3d9f3ad1e7e87ad54fb8af8103450b22d2de6cf1670563eaa8310750491f840b377a2ca42c5eaee45aaec500a0a6792b3af +SHA512 (sane-backends-1.0.29.tar.gz) = 9ee431b0c048119719e15905f8743c7a0fd8bc6fcee81d75df8459a989cab7e39bf045518976713a7e1d94c816dd1a1e0fa190612d815c0ddb6a51d2abf3fd54