diff --git a/sane-backends.changes b/sane-backends.changes index 8625b75..b70d199 100644 --- a/sane-backends.changes +++ b/sane-backends.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Fri Jan 16 10:43:32 CET 2009 - jsmeix@suse.de + +- Avoid to suppress falsely found as "unsupported" models + in 55-libsane.rules and in 70-scanner.fdi + (see Novell/Suse Bugzilla bnc#439193 starting at comment #6). +- Avoid to get changed sources packaged into our source RPM + (see Novell/Suse Bugzilla bnc#463464 comment #11). + ------------------------------------------------------------------- Tue Jan 13 12:34:56 CET 2009 - olh@suse.de diff --git a/sane-backends.spec b/sane-backends.spec index 2116a96..330a4aa 100644 --- a/sane-backends.spec +++ b/sane-backends.spec @@ -25,7 +25,7 @@ Group: Hardware/Scanner AutoReqProv: on Summary: SANE (Scanner Access Now Easy) Scanner Drivers Version: 1.0.19 -Release: 99 +Release: 100 Url: http://www.sane-project.org/ # URL for Source0: http://alioth.debian.org/frs/download.php/2318/sane-backends-1.0.19.tar.gz Source0: sane-backends-%{version}.tar.bz2 @@ -59,7 +59,7 @@ Source110: models.dat # to avoid yast2-scanner in BuildRequires which would drag almost the whole YaST: Source200: create_scanner_database # Source201 actually generates the 56-sane-backends-autoconfig.rules file -# by calling create_scanner_database which reads the description files +# by reading scanner.database which was created before by create_scanner_database # to extract the needed info from which create_sane-backends-autoconfig.rules # generates the 56-sane-backends-autoconfig.rules file: Source201: create_sane-backends-autoconfig.rules @@ -103,7 +103,7 @@ Patch103: install-umax_pp-tool.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build # The postinstall script requires this: PreReq: coreutils, /bin/sed, /bin/grep -# bug437293 +# See https://bugzilla.novell.com/show_bug.cgi?id=437293 %ifarch ppc64 Obsoletes: sane-64bit %endif @@ -305,8 +305,14 @@ sed -e '/^:mfg/s/EPSON/Epson/' %{SOURCE105} >doc/descriptions-external/epkowa.de for d in doc/descriptions-external/hp3770.desc doc/descriptions-external/hp8200.desc do sed -i -e '/^:mfg/s/Hewlett Packard/Hewlett-Packard/' $d done -# Create our hpaio.desc descriptions-external file: +# Create our hpaio.desc descriptions-external file +# (use it as bash input because sources may be installed without execute permissions): bash %{SOURCE109} <%{SOURCE110} >doc/descriptions-external/hpaio.desc +# Copy the create_scanner_database script from the sources directory to the build directory +# to avoid that the original source becomes modified later in the install section +# and ends up in the source RPM, see https://bugzilla.novell.com/show_bug.cgi?id=463464#c11 +cp %{SOURCE200} create_scanner_database +chmod u+x create_scanner_database %build %{?suse_update_config:%{suse_update_config -f}} @@ -429,13 +435,14 @@ sed -i -e '/:model "SnapScan 1236u"/,/:firmware "required"/s/required//' %{build # and where the support status is "complete" or "good"). # Modify create_scanner_database to find the description files in the BuildRoot directory # (the usual delimiter '/' cannot be used because buildroot contains it too): -sed -i -e 's|/usr/share/sane/descriptions|%{buildroot}/usr/share/sane/descriptions|' %{SOURCE200} +sed -i -e 's|/usr/share/sane/descriptions|%{buildroot}/usr/share/sane/descriptions|' create_scanner_database # Create the scanner database and store it because it is also needed later # to disable "unsupported" model entries both in the udev rules file libsane.rules # and in the HAL fdi file 70-scanner.fdi. # The file name "scanner.database" is used hardcoded in create_sane-backends-autoconfig.rules. -bash %{SOURCE200} >scanner.database -# Run create_sane-backends-autoconfig.rules: +./create_scanner_database >scanner.database +# Run create_sane-backends-autoconfig.rules which reads scanner.database +# (use it as bash input because sources may be installed without execute permissions): bash %{SOURCE201} >autoconfig.rules # Install the scanner autoconfiguration udev rules file: install -d %{buildroot}%{_sysconfdir}/udev/rules.d @@ -484,8 +491,16 @@ sed -i -e 's/^ENV{DEVTYPE}/# ENV{DEVTYPE}/' tools/udev/libsane.rules # see https://bugzilla.novell.com/show_bug.cgi?id=439193 # Extract a list of USB IDs for "unsupported" scanners # and store it because it is also needed later to -# disable "unsupported" model entries in the HAL fdi file 70-scanner.fdi: -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 >unsupportedUSBIDs +# disable "unsupported" model entries in the HAL fdi file 70-scanner.fdi +# It can happen that there is a status "unsupported" entry for a backend +# for a model which is actually supported by another backend, for example +# 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 | egrep -q 'complete|good|basic|minimal|untested' || echo $USBID >>unsupportedUSBIDs +done # 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 ) @@ -610,6 +625,12 @@ exit 0 %{_sysconfdir}/udev/rules.d/56-sane-backends-autoconfig.rules %changelog +* Fri Jan 16 2009 jsmeix@suse.de +- Avoid to suppress falsely found as "unsupported" models + in 55-libsane.rules and in 70-scanner.fdi + (see Novell/Suse Bugzilla bnc#439193 starting at comment #6). +- Avoid to get changed sources packaged into our source RPM + (see Novell/Suse Bugzilla bnc#463464 comment #11). * Tue Jan 13 2009 olh@suse.de - obsolete old -XXbit packages (bnc#437293) * Wed Dec 03 2008 lnussel@suse.de