Accepting request 114829 from home:jsmeix:branches:graphics

Use libusb1 via BuildRequires libusb-1_0-devel (instead of using libusb0 via libusb-compat). BuildIgnore ghostscript-x11 which is not needed and blows up the build system. Minor cleanups in the spec file.

OBS-URL: https://build.opensuse.org/request/show/114829
OBS-URL: https://build.opensuse.org/package/show/graphics/sane-backends?expand=0&rev=53
This commit is contained in:
Johannes Meixner 2012-04-20 11:20:52 +00:00 committed by Git OBS Bridge
parent 88036f59a7
commit b89b0531f7
2 changed files with 61 additions and 136 deletions

View File

@ -1,3 +1,21 @@
-------------------------------------------------------------------
Fri Apr 20 12:24:49 CEST 2012 - jsmeix@suse.de
- Configure --enable-libusb_1_0 plus BuildRequires libusb-1_0-devel
to use libusb1 (instead of using libusb0 via libusb-compat),
see https://bugzilla.novell.com/show_bug.cgi?id=559697#c7
for the libusb versioning numbering.
- Use traditional bash scriptlets for post/postun with
an explicite "exit 0" line at the end to be fail safe
and therefore also "PreReq: /sbin/ldconfig" explicitly,
see the "Shared_libraries" section in
http://en.opensuse.org/openSUSE:Packaging_scriptlet_snippets
- BuildIgnore ghostscript-x11 because BuildRequires texlive-latex
is needed for sane.tex -> sane.dvi -> sane.ps but texlive-latex
requires texlive which requires ghostscript-x11 but the latter
is not needed and blows up the build system.
- Minor cleanups in the spec file.
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Mar 20 15:44:31 UTC 2012 - jslaby@suse.de Tue Mar 20 15:44:31 UTC 2012 - jslaby@suse.de

View File

@ -18,17 +18,23 @@
Name: sane-backends Name: sane-backends
BuildRequires: libgphoto2-devel BuildRequires: libgphoto2-devel
BuildRequires: libjpeg-devel
BuildRequires: libtool
BuildRequires: libusb-compat-devel
BuildRequires: net-snmp-devel
BuildRequires: pkg-config
BuildRequires: texlive-latex
%if 0%{?suse_version} > 1130 %if 0%{?suse_version} > 1130
BuildRequires: libieee1284-devel BuildRequires: libieee1284-devel
%else %else
BuildRequires: libieee1284 BuildRequires: libieee1284
%endif %endif
BuildRequires: libjpeg-devel
BuildRequires: libtool
BuildRequires: libusb-1_0-devel
BuildRequires: net-snmp-devel
BuildRequires: pkg-config
# texlive-latex is needed to make doc/sane.ps from doc/sane.tex
# but texlive-latex requires texlive which requires ghostscript-x11
# but ghostscript-x11 is not needed for sane.tex -> sane.dvi -> sane.ps
# so that the needless package ghostscript-x11 blows up the build system
# and is explicitly excluded to be installed in the build system:
BuildRequires: texlive-latex
#!BuildIgnore: ghostscript-x11
Summary: SANE (Scanner Access Now Easy) Scanner Drivers Summary: SANE (Scanner Access Now Easy) Scanner Drivers
License: GPL-2.0 ; GPL-2.0+ ; LGPL-2.1+ ; SUSE-Public-Domain License: GPL-2.0 ; GPL-2.0+ ; LGPL-2.1+ ; SUSE-Public-Domain
Group: Hardware/Scanner Group: Hardware/Scanner
@ -80,7 +86,7 @@ Source200: create_scanner_database
Source201: create_sane-backends-autoconfig.rules Source201: create_sane-backends-autoconfig.rules
# Patch1 does locale rename: no -> nb: # Patch1 does locale rename: no -> nb:
# Patch1 is obsolete since sane-backends-1.0.19 because it uses 'nb'. # Patch1 is obsolete since sane-backends-1.0.19 because it uses 'nb'.
# Patch2 fixes too small arrays in backend/niash.c: # Patch2 fix-buffer-overflow.patch fixes too small arrays in backend/niash.c:
Patch2: fix-buffer-overflow.patch Patch2: fix-buffer-overflow.patch
# Patch3 replaces fixed HZ compile-time value by sysconf(_SC_CLK_TCK) runtime value: # Patch3 replaces fixed HZ compile-time value by sysconf(_SC_CLK_TCK) runtime value:
# Patch3 is obsolete since sane-backends-1.0.19 because it is fixed in the source. # Patch3 is obsolete since sane-backends-1.0.19 because it is fixed in the source.
@ -93,17 +99,17 @@ Patch2: fix-buffer-overflow.patch
# Patch7 lets sanei_scsi_find_devices continue on to look at subsequent devices # Patch7 lets sanei_scsi_find_devices continue on to look at subsequent devices
# if the attach callback returns anything other than SANE_STATUS_GOOD: # if the attach callback returns anything other than SANE_STATUS_GOOD:
# Patch7 is obsolete since sane-backends-1.0.20 because it is fixed in the source. # Patch7 is obsolete since sane-backends-1.0.20 because it is fixed in the source.
# Patch8 re-adds SANE_CAP_ALWAYS_SETTABLE to sane.h which was erroneously # Patch8 re-add-SANE_CAP_ALWAYS_SETTABLE.patch re-adds SANE_CAP_ALWAYS_SETTABLE to sane.h
# removed in sane-backends-1.0.20 so that sane-frontends and xsane can no longer build, # which was erroneously removed in sane-backends-1.0.20 so that sane-frontends and xsane
# see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=527675 # can no longer build, see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=527675
# SANE_CAP_ALWAYS_SETTABLE is still missing in sane-backends-1.0.21 # SANE_CAP_ALWAYS_SETTABLE is still missing in sane-backends-1.0.21
Patch8: re-add-SANE_CAP_ALWAYS_SETTABLE.patch Patch8: re-add-SANE_CAP_ALWAYS_SETTABLE.patch
# Patch9 fix-hp3900_config.c.patch fixes a possible for loop overflow in hp3900_config.c # Patch9 fix-hp3900_config.c.patch fixes a possible for loop overflow in hp3900_config.c
# see https://bugzilla.novell.com/show_bug.cgi?id=517281 # see https://bugzilla.novell.com/show_bug.cgi?id=517281
# and https://alioth.debian.org/tracker/index.php?func=detail&aid=311856&group_id=30186&atid=410366 # and https://alioth.debian.org/tracker/index.php?func=detail&aid=311856&group_id=30186&atid=410366
# which is obsolete since sane-backends-1.0.21 because it is fixed in the source. # which is obsolete since sane-backends-1.0.21 because it is fixed in the source.
# Patch10 fixes undefined 'foo = ++foo modulo bar' operations in mustek_pp_ccd300.c # Patch10 fix-mustek_pp_ccd300.c.patch fixes undefined 'foo = ++foo modulo bar' operations
# see https://bugzilla.novell.com/show_bug.cgi?id=498435 # in mustek_pp_ccd300.c see https://bugzilla.novell.com/show_bug.cgi?id=498435
# and https://alioth.debian.org/tracker/index.php?func=detail&aid=311857&group_id=30186&atid=410366 # and https://alioth.debian.org/tracker/index.php?func=detail&aid=311857&group_id=30186&atid=410366
# where the upstream maintainer did not understand what is wrong and closed it as "Wont Fix" # where the upstream maintainer did not understand what is wrong and closed it as "Wont Fix"
# so that we have to keep this patch: # so that we have to keep this patch:
@ -149,23 +155,23 @@ Patch10: fix-mustek_pp_ccd300.c.patch
# The libtool script used in sane-backends is slightly modified to support that. # The libtool script used in sane-backends is slightly modified to support that.
# Patch102 was dropped because there is no reason to build them as libtool modules # Patch102 was dropped because there is no reason to build them as libtool modules
# and it would make our package incompatible with the rest of the SANE world. # and it would make our package incompatible with the rest of the SANE world.
# Patch103 installs tools/umax_pp as /usr/bin/umax_pp which is built # Patch103 install-umax_pp-tool.patch installs tools/umax_pp as /usr/bin/umax_pp which is built
# but not installed but it is needed to recover from a failed scan # but not installed but it is needed to recover from a failed scan
# with scanners which use the umax_pp backend, see http://bugs.debian.org/496833 # with scanners which use the umax_pp backend, see http://bugs.debian.org/496833
Patch103: install-umax_pp-tool.patch Patch103: install-umax_pp-tool.patch
# Patch104 removes descriptions-external/hpoj.desc from doc/Makefile.am # Patch104 no-descriptions-external-hpoj.patch removes descriptions-external/hpoj.desc from doc/Makefile.am
# because it is intentionally removed from the sources in the prep section: # because it is intentionally removed from the sources in the prep section:
Patch104: no-descriptions-external-hpoj.patch Patch104: no-descriptions-external-hpoj.patch
# additional usb id
Patch105: sane-backends-1.0.21-SCX4500W.patch
# fix usb device support in xerox_mfp (bnc#745245)
Patch106: sane-backends-1.0.22-xerox_mfp-fix-usb-devices.patch
# Patch105 sane-backends-1.0.20-xerox_mfp.diff backports post 1.0.20 xerox_mfp changes # Patch105 sane-backends-1.0.20-xerox_mfp.diff backports post 1.0.20 xerox_mfp changes
# and is therefore removed since sane-backends-1.0.21 which contains those changes. # and is therefore removed since sane-backends-1.0.21 which contains those changes.
# Patch106 sane-backends-1.0.21-SCX4500W.patch adds usb id for SCX4500W:
Patch106: sane-backends-1.0.21-SCX4500W.patch
# Patch107 sane-backends-1.0.22-xerox_mfp-fix-usb-devices.patch fixes usb device support in xerox_mfp (bnc#745245):
Patch107: sane-backends-1.0.22-xerox_mfp-fix-usb-devices.patch
# Install into this non-root directory (required when norootforbuild is used): # Install into this non-root directory (required when norootforbuild is used):
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
# The postinstall script requires this: # Prerequire /sbin/ldconfig which is used in the traditional bash scriptlets for post/postun:
PreReq: coreutils, /bin/sed, /bin/grep PreReq: /sbin/ldconfig
# See https://bugzilla.novell.com/show_bug.cgi?id=437293 # See https://bugzilla.novell.com/show_bug.cgi?id=437293
%ifarch ppc64 %ifarch ppc64
Obsoletes: sane-64bit Obsoletes: sane-64bit
@ -193,108 +199,6 @@ The "saned" daemon provides the service "sane-port" to access scanners
that are connected to a server via network from client hosts that run that are connected to a server via network from client hosts that run
the "net" meta driver. the "net" meta driver.
Authors:
--------
Abel Deuring <a.deuring@satzbau-gmbh.de>
Andras Major <andras@users.sourceforge.net>
Andreas Beck <becka@uni-duesseldorf.de>
Andreas Bolsch <ab@maths.nott.ac.uk>
Andreas Czechanowski <m075@ins.uni-stuttgart.de>
Andreas Nowack <nowack.andreas@gmx.de>
Andreas Rick <andreas.rick@free.fr>
Andrew Kuchling <amk@magnet.com>
Bernd Schroeder <bernd@aquila.muc.de>
Bertrik Sikken <bertrik@zonnet.nl>
Brian J. Murrell <brian@interlinx.bc.ca>
Chris Bagwell <cbagwell@users.sourceforge.net>
Chris Pinkham <cpinkham@corp.infi.net>
Christian Bucher <cbucher@vernetzt.at>
David Etherton <etherton@netcom.com>
David F. Skoll <dskoll@iname.com>
David Huggins-Daines <bn711@freenet.carleton.ca>
David Mosberger <David.Mosberger@acm.org>
David Stevenson <david.stevenson@zoom.co.uk>
Didier Carlier <didier@sema.be>
Earle F. Philhower III <earle@ziplabel.com>
Eddy De Greef <eddy_de_greef@scarlet.be>
Eugene S. Weiss <yossarian@users.sourceforge.net>
Feico W. Dillema <dillema@acm.org>
Franck Schneider <schnefra@hol.fr>
Frank Zago <sane@zago.net>
Frederik Ramm <frederik@remote.org>
Fred Odendaal <freshshelf@rogers.com>
Gerard Klaver <gerard@gkall.hobby.nl>
Gerhard Jaeger <gerhard@gjaeger.de>
Giuseppe Sacco <eppesuig@debian.org>
Glenn Ramsey <glenn@componic.com>
Gordon Matzigkeit <gord@gnu.ai.mit.edu>
Guido Muesch <odiug@faho.rwth-aachen.de>
Helmut Koeberle <helmut.koeberle@bytec.de>
Henning Geinitz <sane@geinitz.org>
Henrik Johansson <henrikjo@post.urfors.se>
Ilia Sotnikov <hostcc@gmail.com>
Ingo Schneider <schneidi@informatik.tu-muenchen.de>
Ingo Wilken <Ingo.Wilken@informatik.uni-oldenburg.de>
James Perry <jamesp@epcc.ed.ac.uk>
Jeff Freedman <jsf@hevanet.com>
Jochen Eisinger <jochen.eisinger@gmx.net>
Jonathan Bravo Lopez <jkdsoft@gmail.com>
Jon Chambers <jon@jon.demon.co.uk>
Juergen G. Schimmer <schimmi@nbgm.siemens.de>
Julien Blache <jb@jblache.org>
Karl Anders Oygard <karlo@opera.no>
Karl Heinz Kremer <khk@khk.net>
Karsten Festag <karsten.festag@gmx.de>
Kazuhiro Sasayama <kaz@hypercore.co.jp>
Kazuya Fukuda <kaafuu@mug.biglobe.ne.jp>
Kevin Charter <charter@cs.rice.edu>
M. Allan Noah <kitno455@gmail.com>
Manuel Panea <Manuel.Panea@rzg.mpg.de>
Marcio Teixeira <marciot@users.sourceforge.net>
Marian Eichholz <eichholz@computer.org>
Markus Mertinat <Markus.Mertinat@Physik.Uni-Augsburg.DE>
Martijn van Oosterhout <kleptog@svana.org>
Matthew Duggan <stauff1@users.sourceforge.net>
Matthew Marjanovic <maddog@mir.com>
Mattias Ellert <mattias.ellert@tsl.uu.se>
Max Vorobiev <pcwizard@yandex.ru>
Meino Christian Cramer <mccramer@s.netic.de>
M.F. <massifr@tiscalinet.it>
Michael Herder <crapmail@nurfuerspam.de>
Michael K. Johnson <johnsonm@redhat.com>
Michel Roelofs <michelr@stack.nl>
Milon Firikis <milonf@ariadne-t.gr>
Mitsuru Okaniwa <m-okaniwa@bea.hi-ho.ne.jp>
Nathan Rutman <nathan@gordian.com>
Oliver Rauch <Oliver.Rauch@Rauch-domain.de>
Oliver Schirrmeister <oschirr@abm.de>
Oliver Schwartz <oliverschwartz@users.sourceforge.net>
Patrick Lessard <palessar@cgocable.ca>
Patrick Reynolds <patrickr@virginia.edu>
Peter Fales <peter@fales-lorenz.net>
Peter Kirchgessner <peter@kirchgessner.net>
Petter Reinholdtsen <pere@hungry.com>
Pierre Willenbrock <pierre@pirsoft.dnsalias.org>
Randolph Bentson <bentson@grieg.holmsjoen.com>
Rene Rebe <rene@exactcode.de>
Roger Wolff <R.E.Wolff@BitWizard.nl>
Roy Zhou <Roy@mail.mustek-hz.com.cn>
Sebastien Sable <Sebastien.Sable@snv.jussieu.fr>
Sergey Vlasov <vsu@altlinux.ru>
Simon Krix <kinsei@users.sourceforge.net>
Simon Munton <simon@munton.demon.co.uk>
Stephane Voltz <stef.dev@free.fr>
Thomas Soumarmon <soumarmt@nerim.net>
Tom Martone <tom@martoneconsulting.com>
Tom Wang <tom.wang@mustek.com.tw>
Tristan Tarrant <ttarrant@etnoteam.it>
Troy Rollo <sane@troy.rollo.name>
Ullrich Sigwanz <usigwanz@freesurf.ch>
Ulrich Deiters <ukd@xenon.pc.Uni-Koeln.DE>
Wittawat Yamwong <wittawat@web.de>
%package devel %package devel
Summary: Development files for sane-backends Summary: Development files for sane-backends
License: GPL-2.0 ; GPL-2.0+ ; LGPL-2.1+ ; SUSE-Public-Domain License: GPL-2.0 ; GPL-2.0+ ; LGPL-2.1+ ; SUSE-Public-Domain
@ -335,30 +239,26 @@ accidentally disabled when only one scanner was disconnected.
If you do not like automated driver activation, do not install this If you do not like automated driver activation, do not install this
package or remove it when it is already installed. package or remove it when it is already installed.
Authors:
--------
Johannes Meixner <jsmeix@novell.com>
%prep %prep
%setup -q %setup -q
# Apply upstream patches first of all: # Apply upstream patches first of all:
# Then apply non-upstream patches: # Then apply non-upstream patches:
# Patch2 fixes too small arrays in backend/niash.c: # Patch2 fix-buffer-overflow.patch fixes too small arrays in backend/niash.c:
%patch2 %patch2
# Patch8 re-adds SANE_CAP_ALWAYS_SETTABLE to sane.h which was erroneously removed: # Patch8 re-add-SANE_CAP_ALWAYS_SETTABLE.patch re-adds SANE_CAP_ALWAYS_SETTABLE to sane.h which was erroneously removed:
%patch8 %patch8
# Patch10 fixes undefined 'foo = ++foo modulo bar' operations in mustek_pp_ccd300.c: # Patch10 fix-mustek_pp_ccd300.c.patch fixes undefined 'foo = ++foo modulo bar' operations in mustek_pp_ccd300.c:
%patch10 %patch10
# Patch100... is SUSE specific stuff: # Patch100... is SUSE specific stuff:
# Patch103 installs tools/umax_pp as /usr/bin/umax_pp: # Patch103 install-umax_pp-tool.patch installs tools/umax_pp as /usr/bin/umax_pp:
%patch103 %patch103
# Patch104 removes descriptions-external/hpoj.desc from doc/Makefile.am # Patch104 no-descriptions-external-hpoj.patch removes descriptions-external/hpoj.desc from doc/Makefile.am
# because it is intentionally removed from the sources in the prep section: # because it is intentionally removed from the sources in the prep section:
%patch104 %patch104
%patch105 -p1 # Patch106 sane-backends-1.0.21-SCX4500W.patch adds usb id for SCX4500W:
%patch106 -p1 %patch106 -p1
# Patch107 sane-backends-1.0.22-xerox_mfp-fix-usb-devices.patch fixes usb device support in xerox_mfp (bnc#745245):
%patch107 -p1
# Source100... is SUSE specific stuff: # Source100... is SUSE specific stuff:
# Remove hpoj.desc completely to avoid confusion with its successor hpaio.desc # Remove hpoj.desc completely to avoid confusion with its successor hpaio.desc
# because since openSUSE 10.3 the package hp-officeJet (for hpoj.desc) is dropped. # because since openSUSE 10.3 the package hp-officeJet (for hpoj.desc) is dropped.
@ -398,6 +298,8 @@ export CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -DGIMP_ENABLE_COMPAT_CRUFT=1 -fno-st
export LDFLAGS="-L/%_lib $LDFLAGS" export LDFLAGS="-L/%_lib $LDFLAGS"
# Enable pthread instead of fork (used in Debian since Feb 2009 and no issues so far), # Enable pthread instead of fork (used in Debian since Feb 2009 and no issues so far),
# see https://bugzilla.novell.com/show_bug.cgi?id=633780 # see https://bugzilla.novell.com/show_bug.cgi?id=633780
# Enable libusb-1.0 support which is available since sane-backends 1.0.20
# and libusb-1_0 is available at least since openSUSE 11.1.
# Disable locking because /var/lock/sane/ would be a world-writable directory. # Disable locking because /var/lock/sane/ would be a world-writable directory.
./configure --prefix=/usr \ ./configure --prefix=/usr \
--exec-prefix=/usr \ --exec-prefix=/usr \
@ -409,6 +311,7 @@ export LDFLAGS="-L/%_lib $LDFLAGS"
--with-gphoto2 \ --with-gphoto2 \
--with-docdir=%{_defaultdocdir}/sane-backends \ --with-docdir=%{_defaultdocdir}/sane-backends \
--enable-pthread \ --enable-pthread \
--enable-libusb_1_0 \
--disable-locking --disable-locking
# Enable locking for backends where "99" is the group of the lockfile path (LOCKPATH_GROUP) # Enable locking for backends where "99" is the group of the lockfile path (LOCKPATH_GROUP)
# because "99" is the group of the user who runs the build when norootforbuild is used # because "99" is the group of the user who runs the build when norootforbuild is used
@ -606,9 +509,13 @@ install -m644 %{SOURCE102} %{buildroot}%{_sysconfdir}/slp.reg.d
rm %{buildroot}%{_defaultdocdir}/sane-backends/{README.os2,README.aix,README.solaris} rm %{buildroot}%{_defaultdocdir}/sane-backends/{README.os2,README.aix,README.solaris}
%find_lang sane-backends %find_lang sane-backends
%post -p /sbin/ldconfig %post
/sbin/ldconfig
exit 0
%postun -p /sbin/ldconfig %postun
/sbin/ldconfig
exit 0
%files -f sane-backends.lang %files -f sane-backends.lang
%defattr(-,root,root) %defattr(-,root,root)