Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.2
cups-drivers
cups-drivers.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File cups-drivers.spec of Package cups-drivers
# # spec file for package cups-drivers (Version 1.3.9) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: cups-drivers BuildRequires: a2ps bison cairo-devel cups-devel cupsddk foomatic-filters BuildRequires: gcc-c++ ghostscript-ijs-devel ghostscript-library BuildRequires: ghostscript-x11 gimp-devel glib2-devel gtk2-devel BuildRequires: libgimpprint-devel libpng-devel libtiff-devel libxml2-devel BuildRequires: libxslt openssl-devel pango-devel License: GPL v2 only ; GPL v2 or later Group: Hardware/Printing Summary: Drivers for the Common UNIX Printing System Version: 1.3.9 Release: 3 Provides: cups_drv Requires: ghostscript-library >= 7.05, foomatic-filters PreReq: sysvinit, sh-utils, procps Obsoletes: cups_drv AutoReqProv: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build # number of jobs to run simultaneously %define numprocs %(cat %_sourcedir/CPUs 2>/dev/null || echo 1) # linuxprinting.org database variables %define DBDate 20080909 %define foomaticver bzr %define gutenprintver 5.0.2 %define splixver 1.1.1 %define m2300wver 0.51 #URL: http://www.linuxprinting.org/download/foomatic/ Source0: http://www.linuxprinting.org/download/foomatic/foomatic-db-engine-%{foomaticver}-%{DBDate}.tar.bz2 Source1: http://www.linuxprinting.org/download/foomatic/foomatic-filters-%{foomaticver}-%{DBDate}.tar.bz2 Source2: http://www.linuxprinting.org/download/foomatic/foomatic-db-%{foomaticver}-%{DBDate}.tar.bz2 # make sure that gimp-print version NEVER differs from ghostscript-library Source3: gutenprint-%{gutenprintver}.tar.bz2 Source4: splix-%{splixver}.tar.bz2 Source5: http://heanet.dl.sourceforge.net/sourceforge/m2300w/m2300w-%{m2300wver}.tar.bz2 Source100: foomatic-driver.known Source101: foomatic-driver.unsupported Patch0: cups-drivers-1.3.8-A4.patch Patch1: cups-drivers-1.3.8-samsunggdi.patch Patch2: cups-drivers-1.1.23-stcolor.patch Patch3: cups-drivers-1.3.8-hl7x0_language.patch Patch4: cups-drivers-1.3.8-missing_xml_close.patch Patch5: cups-drivers-1.3.8-Samsung-CLP-550.patch Patch6: cups-drivers-1.3.8-gcc_warn.patch Patch7: cups-drivers-1.3.9-maxspot_compare.patch Patch300: gutenprint-5.0.0-A4.patch Patch301: gutenprint-5.0.2-resolution.patch Patch302: gutenprint-5.0.2-updp10_pagesize.patch Patch400: splix-1.1.1-install.patch Patch401: splix-1.1.1-make.patch Patch500: m2300w-0.51-foomatic.patch Patch501: m2300w-0.51-resolution.patch Patch502: m2300w-0.51-disable_gs_test.patch Patch503: m2300w-fgets-overflow.patch %description This package contains free printer driver descriptions for CUPS. It contains a recent snapshot of the printer database from http://www.linuxprinting.org. Authors: -------- Grant Taylor <www.linuxprinting.com> %package -n gutenprint License: GPL v2 or later Summary: Gutenprint drivers for CUPS Group: Hardware/Printing Requires: ghostscript-library >= 7.05, cups >= 1.2.2, pstoraster Version: %{gutenprintver} Release: 16 Obsoletes: cups-drivers-stp Provides: cups-drivers-stp PreReq: procps %description -n gutenprint This package contains the gutenprint drivers (formerly known as gimp-print drivers) for CUPS. %package -n gutenprint-devel License: GPL v2 or later Summary: Development Environment for Gutenprint Group: Hardware/Printing Version: %{gutenprintver} Release: 16 Requires: ghostscript-library >= 7.05, cups >= 1.2.2, gutenprint = %{gutenprintver} Requires: gtk2-devel, glibc-devel %description -n gutenprint-devel This package contains the development environment for the gutenprint printer drivers. Authors: -------- Grant Taylor <www.linuxprinting.com> %package -n gutenprint-gimpplugin License: GPL v2 or later Summary: GIMP plug-in for gutenprint Group: Hardware/Printing Version: %{gutenprintver} Release: 6 %description -n gutenprint-gimpplugin This package contains the gutenprint GIMP plug-in. Authors: -------- Grant Taylor <www.linuxprinting.com> %define INSTALL install -m755 -s %define INSTALL_SCRIPT install -m755 %define INSTALL_DIR install -d -m755 %define INSTALL_DATA install -m644 %prep %setup -q -c -n %{name} %setup -q -T -D -a 0 -n %{name} mv foomatic-db-engine-%{foomaticver}-%{DBDate} foomatic-db-engine %setup -q -T -D -a 1 -n %{name} mv foomatic-filters-%{foomaticver}-%{DBDate} foomatic-filters %setup -q -T -D -a 2 -n %{name} mv foomatic-db-%{foomaticver}-%{DBDate} foomatic-db %setup -q -T -D -a 3 -n %{name} mv gutenprint-%{gutenprintver} gutenprint %setup -q -T -D -a 4 -n %{name} mv splix-%{splixver} splix %setup -q -T -D -a 5 -n %{name} mv m2300w-%{m2300wver} m2300w %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 # pushd gutenprint %patch300 -p1 %patch301 -p1 %patch302 -p1 popd # # pushd splix %patch400 -p1 %patch401 -p1 popd # # pushd m2300w %patch500 -p1 %patch501 -p1 %patch502 -p1 %patch503 -p1 popd # # ------- %Build --------------------------------------------------------- %build # This package failed to build when testing with -Wl,-as-needed # So we disable it here, if you want to retest, delete this comment # and the 'export SUSE_ASNEEDED=0' line: export SUSE_ASNEEDED=0 # abbrev. mydir=$RPM_BUILD_DIR/%{name} # Generate a working set into the package source tree # ##### FOOMATIC cd foomatic-db ./make_configure # Fix for lib64 architectures perl -pi -e "s:/usr/lib/(cups|pdq|ppr):%{_libdir}/\1:g" configure # delete not included drivers for i in `ls -1 db/source/driver | sed 's;\.xml$;;' | grep -v -f %{SOURCE100}`; do echo "deleting driver $i" echo "$i (unknown)" >> drivers.deleted rm -f db/source/driver/$i.xml done for i in `cat %{SOURCE101}` ; do echo "deleting unsupported driver $i" echo "$i (unsupported)" >> drivers.deleted rm -f db/source/driver/$i.xml done # hpdj fails on ColorMode -> remove it rm db/source/opt/7.xml ./configure \ --prefix=%{_prefix} \ --mandir=%{_mandir} \ --sysconfdir=%{_sysconfdir} \ --libdir=%{_libdir} \ --disable-gzip-ppds \ --disable-ppds-to-cups cd ../foomatic-filters ./make_configure # Fix for lib64 architectures perl -pi -e "s:/usr/lib/(cups|pdq|ppr):%{_libdir}/\1:g" configure ./configure \ --prefix=%{_prefix} \ --mandir=%{_mandir} \ --sysconfdir=%{_sysconfdir} \ --libdir=%{_libdir} make # cd ../foomatic-db-engine ./make_configure # Fix for lib64 architectures perl -pi -e "s:/usr/lib/(cups|pdq|ppr):%{_libdir}/\1:g" configure ./configure \ --prefix=%{_prefix} \ --mandir=%{_mandir} \ --sysconfdir=%{_sysconfdir} \ --libdir=%{_libdir} make inplace # # Delete drivers with empty command line prototype, they would give # unusable printer/driver combos. perl ./foomatic-cleanupdrivers ../foomatic-db # # Add the Foomatgic data for gutenprint perl ./foomatic-kitload -k ../gutenprint/src/foomatic/foomatic-db/gutenprint-ijs.5.0 -f # # Correct the default drivers of the printer entries to have a valid # default for every printer. perl ./foomatic-preferred-driver # # Remove inplace build make clean # make PREFIX=%{_prefix} \ PERL_INSTALLDIRS=vendor \ # DESTDIR=%{BuildRoot} # cd ../foomatic-db make \ PREFIX=%{_prefix} \ DESTDIR=$mydir/foomatic-db-engine \ install cd ../foomatic-filters make \ PREFIX=%{_prefix} \ DESTDIR=$mydir/foomatic-db-engine \ install echo "BuilRoot = '"$RPM_BUILD_ROOT\' cd ../foomatic-db-engine mkdir -p $mydir/foomatic-db-engine/usr/share/foomatic/templates make \ PREFIX=%{_prefix} \ DESTDIR=$mydir/foomatic-db-engine \ inplace install perl -pi -e "s:/usr/(bin|share):./usr/\1:g" Foomatic/Defaults.pm ln -sf /usr/bin/gzip ./usr/bin ./usr/bin/foomatic-compiledb -j %{numprocs} -f mkdir model echo "renaming models" set +x for i in `ls -1 ppd | sed 's/-.*//' | sort -u`; do mkdir model/$i done for i in `ls -1 ppd`; do mv ppd/$i model/`echo $i | sed 's/-.*//'`/`echo $i | sed 's/[A-z]*-//'` done set -x for i in Ricoh Gestetner Infotec Lanier NRG Savin; do echo "deleting unwished Postscript printer from $i" rm -f model/$i/*-Postscript.ppd done # delete further drivers; already in package manufacturer-PPDs for i in 2250 2280 2600 2800 3000 2300; do rm -f model/HP/Business_Inkjet_${i}-Postscript.ppd done for i in 2550 2800 3000 3800 4500 4550 4700 4730_MFP 5550 5M 8500 8550; do rm -f model/HP/Color_LaserJet_${i}-Postscript.ppd done for i in 1200 1220 1320 2100 2200 2410 2420 2430 3200 3300 4 4000 4050; do rm -f model/HP/LaserJet_${i}-Postscript.ppd done for i in 4100_MFP 4100 4240 4250 4345_MFP 4350 4ML 4MP 4V 4_Plus; do rm -f model/HP/LaserJet_${i}-Postscript.ppd done for i in 5100 5M 5MP 5Si 6MP 8000 8100 8150 9000_MFP 9000 9040 9050; do rm -f model/HP/LaserJet_${i}-Postscript.ppd done for i in 1300 2300 3015 3380 4200 4300; do rm -f model/HP/LaserJet_${i}-Postscript.ppd done for i in 2500 3700 4600 4610 4650 5500 9500 9500_MFP; do rm -f model/HP/Color_LaserJet_${i}-Postscript.ppd done cd .. # ##### GUTENPRINT # start with gutenprint and generate foomatic files. export PATH=$PATH":$mydir" pushd gutenprint CFLAGS="$RPM_OPT_FLAGS -fstack-protector -fno-strict-aliasing -I/usr/include/gtk-2.0 -I/usr/include/cairo -I/usr/include/glib-2.0 -I%{_libdir}/gtk-2.0/include -I%{_libdir}/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/gimp-2.0" ./configure \ --prefix=%{_prefix} \ --mandir=%{_mandir} \ --infodir=%{_infodir} \ --sysconfdir=%{_sysconfdir} \ --libdir=%{_libdir} \ --disable-static \ --enable-shared \ --enable-cups-ppds \ --enable-translated-cups-ppds=no \ --enable-simplified-cups-ppds=yes \ --disable-libgutenprintui \ --enable-libgutenprintui2 \ --enable-samples \ --enable-escputil \ --with-pic=yes \ --with-foomatic \ --with-foomatic3 \ --without-gimp \ --with-gimp2 \ --with-ghostscript make popd # ##### SPLIX # cd splix ( export CXXFLAGS="$RPM_OPT_FLAGS -I../include "`cups-config --cflags`; make DISABLE_JBIG=1; ) cd .. # ##### Minolta 2300W # cd m2300w autoreconf ./configure --prefix=%{_prefix} make CFLAGS="$RPM_OPT_FLAGS" cd .. # # ------- %Install ------------------------------------------------------- %install rm -rf $RPM_BUILD_ROOT/usr/share/cups/model # create required directories first %{INSTALL_DIR} $RPM_BUILD_ROOT/bin %{INSTALL_DIR} $RPM_BUILD_ROOT/usr/share/cups/model %{INSTALL_DIR} $RPM_BUILD_ROOT/usr/lib/cups/filter # ##### FOOMATIC # # put linuxprinting PPDs into CUPS driver directory cp -a foomatic-db-engine/model $RPM_BUILD_ROOT/usr/share/cups chmod -R a+X,u+rw,go+r $RPM_BUILD_ROOT/usr/share/cups/model # ##### GUTENPRINT # cd gutenprint make DESTDIR=$RPM_BUILD_ROOT \ FOOMATIC_KITLOAD=${RPM_BUILD_DIR}/%{name}/foomatic-db-engine/foomatic-kitload \ install mv $RPM_BUILD_ROOT/%{_datadir}/cups/model/gutenprint/5.0/C \ $RPM_BUILD_ROOT/%{_datadir}/cups/model rmdir $RPM_BUILD_ROOT/%{_datadir}/cups/model/gutenprint/5.0 rmdir $RPM_BUILD_ROOT/%{_datadir}/cups/model/gutenprint mv $RPM_BUILD_ROOT/%{_datadir}/cups/model/C \ $RPM_BUILD_ROOT/%{_datadir}/cups/model/gutenprint cd .. # mv $RPM_BUILD_ROOT/%{_bindir}/testpattern $RPM_BUILD_ROOT/%{_libdir}/gutenprint/%{gutenprintver} # ##### GUTENPRINT (end) # # # unpack the PPDs for modification (next step) set +x echo "unpacking PPD files..." find $RPM_BUILD_ROOT/usr/share/cups/model -name "*.ppd.gz" | while read PPDFILE do gzip -d "$PPDFILE" done set -x # # fix "Hewlett-Packard" and "HEWLETT-PACKARD" to "HP" (bugzilla#36530) set +x echo "replacing \"Hewlett-Packard\" by \"HP\" in PPD files..." perl -pi -e 's/^(\*Manufacturer[^"]*")Hewlett-Packard"/$1HP"/io;' \ $RPM_BUILD_ROOT/usr/share/cups/model/HP/*.ppd perl -pi -e 's/^(\*Manufacturer[^"]*")hp"/$1HP"/o;' \ $RPM_BUILD_ROOT/usr/share/cups/model/HP/*.ppd set -x # # unify *Manufacturer and *ModelName (bugzilla#36848) set +x echo "replacing \"Okidata\" by \"Oki\" in PPD files..." perl -pi -e 's/^(\*(Manufacturer|ModelName|ShortNickName|NickName)[^"]*")Okidata/$1Oki/io;' \ $RPM_BUILD_ROOT/usr/share/cups/model/Okidata/*.ppd set -x # fix: set CompressionMethod to 0 for DeskJet_500 only perl -pi -e 's(\(sModel=500\)")($1 -dCompressionMethod=0")' \ $RPM_BUILD_ROOT/usr/share/cups/model/HP/DeskJet_500-hpdj.ppd set +x echo "Removing non conform Resolution values in PostScript" find $RPM_BUILD_ROOT/usr/share/cups/model -name "*-Postscript.ppd" | \ while read PPDFILE; do perl -pi -e 's/\*DefaultResolution: default/*DefaultResolution: Unknown/; \ s/^\*Resolution default\/Printer Default: .*\n//; \ s/^\*FoomaticRIPOptionSetting Resolution\=default: .*\n//;' \ "$PPDFILE" > /dev/null done # append "black and white only" to gutenprint stp-hp-clj* PPDs (bugzilla#220079) echo "Appending \"black and white only\" to some gutenprint HP printers" find $RPM_BUILD_ROOT/usr/share/cups/model/gutenprint -name "stp-hp-clj_*.ppd" | \ while read PPDFILE; do perl -pi -e \ 's/^(\*NickName: "HP Color LaserJet.*)"/$1 black and white only"/;' \ "$PPDFILE" > /dev/null done ### if [ ! -f $RPM_SOURCE_DIR/CPUs ]; then ### exit 1; ### fi # modify and pack the PPDs echo "...modifying and compressing PPD files" find $RPM_BUILD_ROOT/usr/share/cups/model -name "*.ppd" | while read PPDFILE do if egrep -q '^\*ImageableArea [[:space:]]*A4[:/]' "$PPDFILE"; then perl -pi -e 's:^(\*Default.*)Letter\s*$:$1A4\n:; \ s:^(\*ImageableArea A4.*\:\s+)"0 0 595 842":$1"24 48 571 818":; \ s:^(\*ImageableArea Letter.*\:\s+)"0 0 612 792":$1"24 48 588 768":' \ "$PPDFILE" > /dev/null fi gzip "$PPDFILE" done set -x # ##### SPLIX # cd splix make CUPSFILTER="$RPM_BUILD_ROOT"%{_libdir}/cups/filter \ CUPSPPD="$RPM_BUILD_ROOT"/usr/share/cups/model \ install \ DISABLE_JBIG=1 cd .. # ##### Minolta 2300W # cd m2300w make install \ INSTROOT=$RPM_BUILD_ROOT \ DOCDIR=$RPM_BUILD_ROOT/%{_defaultdocdir}/%{name}/m2300w-%{m2300wver} rm -rf $RPM_BUILD_ROOT/usr/share/YaST2 gzip -9 $RPM_BUILD_ROOT/usr/share/cups/model/Minolta/*-m2?00w.ppd cd .. # # LSB requirements # # Create LSB directories install -d -m 755 $RPM_BUILD_ROOT/usr/share/ppd install -d -m 755 $RPM_BUILD_ROOT/usr/lib/printdriver # set LSB symlink to let CUPS find the PPDs ln -s /usr/share/ppd $RPM_BUILD_ROOT/usr/share/cups/model/0-driverppds # %clean test -n "$RPM_BUILD_ROOT" && test "$RPM_BUILD_ROOT" != / && true # rm -rf $RPM_BUILD_ROOT # # ------- %Post ---------------------------------------------------------- %post # send CUPS daemon signal to import new files if test -x /etc/init.d/cups && /etc/init.d/cups status >/dev/null ; then /etc/init.d/cups reload >/dev/null || /bin/true fi exit 0 %post -n gutenprint %run_ldconfig # send CUPS daemon signal to import new files if test -x /etc/init.d/cups && /etc/init.d/cups status >/dev/null ; then /etc/init.d/cups reload >/dev/null || /bin/true fi exit 0 %postun -n gutenprint %run_ldconfig # ------- %Files --------------------------------------------------------- %files %defattr(-,root,root) %{_bindir}/m2300w %{_bindir}/m2400w %{_bindir}/m2300w-wrapper %dir /usr/share/cups %dir /usr/share/cups/model %dir /usr/share/cups/model/[A-Z]* # LSB 3.2 follows... %dir /usr/share/ppd %dir /usr/lib/printdriver %dir /usr/share/cups/model/0-driverppds # enf of LSB 3.2 stuff /usr/share/cups/model/[A-Z]*/*.ppd* %{_libdir}/cups/filter/rastertospl2 %dir /usr/share/m2300w %dir /usr/share/m2300w/%{m2300wver} %dir /usr/share/m2300w/%{m2300wver}/psfiles /usr/share/m2300w/%{m2300wver}/psfiles/* %doc %{_defaultdocdir}/%{name} %files -n gutenprint %defattr(-,root,root) %config /etc/cups/command.types %{_bindir}/cups-calibrate %{_bindir}/escputil %{_bindir}/ijsgutenprint.5.0 %{_libdir}/cups/backend %{_libdir}/cups/filter/c* %{_libdir}/cups/filter/rastertogutenprint* %{_sbindir}/cups-genppd* %dir /usr/share/cups %dir /usr/share/cups/model /usr/share/cups/calibrate.ppm %dir /usr/share/cups/model/gutenprint /usr/share/cups/model/gutenprint/* %dir %{_libdir}/gutenprint %dir %{_libdir}/gutenprint/%{gutenprintver} %{_libdir}/gutenprint/%{gutenprintver}/* %{_libdir}/libgutenprint*.so?* %dir /usr/share/gutenprint /usr/share/gutenprint/* /usr/share/locale/*/*/gutenprint* %doc /usr/share/man/man?/*.gz %dir %{_libdir}/cups/driver %{_libdir}/cups/driver/gutenprint* %files -n gutenprint-devel %defattr(-,root,root) %dir /usr/include/gutenprint /usr/include/gutenprint/* %dir /usr/include/gutenprintui2 /usr/include/gutenprintui2/* %{_libdir}/libgutenprint*.la %{_libdir}/pkgconfig/gutenprint* %{_libdir}/libgutenprint*.so %files -n gutenprint-gimpplugin %defattr(-,root,root) %{_libdir}/gimp/2.0/plug-ins/* %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor