3 %bcond_without static_libs # static libraries
4 %bcond_without braille # Braille embossers support
5 %bcond_without perl # Perl module
6 %bcond_without php # PHP extension
11 Summary: OpenPrinting CUPS filters and backends
12 Summary(pl.UTF-8): Filtry i backendy CUPS-a z projektu OpenPrinting
16 # For a breakdown of the licensing, see COPYING file
17 # GPLv2: filters: commandto*, imagetoraster, pdftops, rasterto*,
18 # imagetopdf, pstopdf, texttopdf
19 # backends: parallel, serial
20 # GPLv2+: filters: gstopxl, textonly, texttops, imagetops
21 # GPLv3: filters: bannertopdf
22 # GPLv3+: filters: urftopdf
23 # LGPLv2+: utils: cups-browsed
24 # MIT: filters: gstoraster, pdftoijs, pdftoopvp, pdftopdf, pdftoraster
25 License: GPL v2, GPL v2+, GPL v3, GPL v3+, LGPL v2+, MIT
26 Group: Applications/Printing
27 Source0: http://www.openprinting.org/download/cups-filters/%{name}-%{version}.tar.xz
28 # Source0-md5: 45a0ccc742d50e51c90e4b8ec1e8be5c
29 Patch0: %{name}-dbus.patch
30 Patch1: %{name}-php.patch
31 Patch2: %{name}-php7.patch
32 Patch3: %{name}-php73.patch
33 Patch4: %{name}-poppler.patch
34 URL: http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups-filters
35 BuildRequires: autoconf >= 2.65
36 BuildRequires: automake >= 1:1.11
37 BuildRequires: avahi-devel
38 BuildRequires: avahi-glib-devel
39 BuildRequires: cups-devel >= 1:1.6.0
40 BuildRequires: dbus-devel
41 BuildRequires: fontconfig-devel >= 2.0.0
42 BuildRequires: freetype-devel >= 2
43 # /usr/bin/gs, for features detection
44 %{?with_php:BuildRequires: %{php_name}-devel}
45 BuildRequires: ghostscript
46 BuildRequires: ghostscript-ijs-devel
47 BuildRequires: glib2-devel >= 1:2.30.2
48 BuildRequires: lcms2-devel >= 2
49 BuildRequires: libjpeg-devel
50 %{?with_braille:BuildRequires: liblouis-devel}
51 BuildRequires: libpng-devel
52 BuildRequires: libstdc++-devel >= 6:4.7
53 BuildRequires: libtiff-devel
54 BuildRequires: libtool
55 BuildRequires: openldap-devel
56 %{?with_perl:BuildRequires: perl-devel}
57 BuildRequires: pkgconfig >= 1:0.20
58 # just for cpp/poppler-version.h
59 BuildRequires: poppler-cpp-devel >= 0.19
60 BuildRequires: poppler-devel >= 0.19
61 # /usr/bin/pdftops, for features detection
62 BuildRequires: poppler-progs >= 0.19
63 BuildRequires: qpdf-devel >= 8.3.0
64 BuildRequires: rpmbuild(macros) >= 1.671
65 BuildRequires: zlib-devel
66 # DejaVuSans.ttf (testing font for test scripts)
67 #BuildRequires: fonts-TTF-DejaVu
68 Requires: %{name}-libs = %{version}-%{release}
71 Requires: cups >= 1:1.6.0
72 Requires: fontconfig >= 2.0.0
76 Requires: poppler >= 0.19
77 Requires: poppler-progs >= 0.19
78 Requires: qpdf-libs >= 8.3.0
80 Suggests: fonts-TTF-freefont
81 Provides: cups-filter-foomatic
82 Provides: ghostscript-cups = 9.08
83 Obsoletes: cups-filter-foomatic
84 Obsoletes: foomatic-filters
85 Obsoletes: ghostscript-cups < 9.08
86 Conflicts: cups-backend-hp < 3.13.11-2
87 Conflicts: hplip-ppd < 3.13.11-2
88 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
90 %define _cups_serverbin %(/usr/bin/cups-config --serverbin)
93 Contains backends, filters, and other software that was once part of
94 the core CUPS distribution but is no longer maintained by Apple Inc.
95 In addition it contains additional filters developed independently of
96 Apple, especially filters for the PDF-centric printing workflow
97 introduced by OpenPrinting.
99 %description -l pl.UTF-8
100 Ten pakiet zawiera backendy, filtry i inne oprogramowanie, będące
101 kiedyś częścią CUPS-a, ale nie utrzymywane już przez firmę Apple Inc.
102 Dodatkowo pakiet zawiera dodatkowe filtry stworzone niezależnie od
103 Apple'a, w szczególności filtry dla PDF-ocentrycznego obiegu
104 drukowania wprowadzonego przez OpenPrinting.
107 Summary: OpenPrinting CUPS filters for Braille embossers
108 Summary(pl.UTF-8): Filtry CUPS-a z projektu OpenPrinting dla drukarek Braille'a
109 Group: Applications/Printing
110 Requires: %{name} = %{version}-%{release}
113 OpenPrinting CUPS filters for Braille embossers.
115 %description braille -l pl.UTF-8
116 Filtry CUPS-a z projektu OpenPrinting dla drukarek Braille'a.
119 Summary: OpenPrinting CUPS filters and backends - cupsfilters and fontembed libraries
120 Summary(pl.UTF-8): Filtry i backendy CUPS-a z projektu OpenPrinting - biblioteki cupsfilters i fontembed
121 # LGPLv2: libcupsfilters
123 License: LGPL v2, MIT
125 Requires: cups-lib >= 1:1.6.0
128 This package provides cupsfilters and fontembed libraries.
130 %description libs -l pl.UTF-8
131 Ten pakiet udostępnia biblioteki cupsfilters i fontembed.
134 Summary: OpenPrinting CUPS filters and backends - development environment
135 Summary(pl.UTF-8): Filtry i backendy CUPS-a z projektu OpenPrinting - środowisko programistyczne
136 License: LGPL v2, MIT
137 Group: Development/Libraries
138 Requires: %{name}-libs = %{version}-%{release}
139 Requires: cups-devel >= 1:1.6.0
140 Requires: libjpeg-devel
141 Requires: libpng-devel
142 Requires: libtiff-devel
145 This is the development package for OpenPrinting CUPS filters and
148 %description devel -l pl.UTF-8
149 To jest pakiet programistyczny dla filtrów i backendów CUPS-a z
150 projektu OpenPrinting.
153 Summary: OpenPrinting CUPS filters and backends - static cupsfilters and fontembed libraries
154 Summary(pl.UTF-8): Filtry i backendy CUPS-a z projektu OpenPrinting - statyczne biblioteki cupsfilters i fontembed
155 License: LGPL v2, MIT
156 Group: Development/Libraries
157 Requires: %{name}-devel = %{version}-%{release}
160 This package provides static cupsfilters and fontembed libraries.
162 %description static -l pl.UTF-8
163 Ten pakiet udostępnia statyczne biblioteki cupsfilters i fontembed.
165 %package -n cups-browsed
166 Summary: A daemon for browsing the Bonjour broadcasts of shared, remote CUPS printers
167 Summary(pl.UTF-8): Demon do przeglądania broadcastów Bonjour współdzielonych, zdalnych drukarek CUPS
168 Group: Applications/Printing
169 Requires(post,preun): /sbin/chkconfig
170 Requires(post,preun,postun): systemd-units
171 Requires: glib2 >= 1:2.30.2
172 Requires: systemd-units >= 38
174 %description -n cups-browsed
175 A daemon for browsing the Bonjour broadcasts of shared, remote CUPS
178 %description -n cups-browsed -l pl.UTF-8
179 Demon do przeglądania broadcastów Bonjour współdzielonych, zdalnych
182 %package -n cups-backend-parallel
183 Summary: Parallel port backend for CUPS
184 Summary(pl.UTF-8): Backend CUPS-a obsługujący porty równoległe
185 # must be larger than cups.spec before 1.6.0
187 License: GPL v2 + OpenSSL exception
188 Group: Applications/Printing
189 Requires: cups >= 1:1.6.0
191 %description -n cups-backend-parallel
192 This package allow CUPS printing on printers connected by parallel
195 %description -n cups-backend-parallel -l pl.UTF-8
196 Ten pakiet umożliwia drukowanie z poziomu CUPS-a na drukarkach
197 podłączonych do portów równoległych.
199 %package -n cups-backend-serial
200 Summary: Serial port backend for CUPS
201 Summary(pl.UTF-8): Backend CUPS-a obsługujący porty szeregowe
202 # must be larger than cups.spec before 1.6.0
204 License: GPL v2 + OpenSSL exception
205 Group: Applications/Printing
206 Requires: cups >= 1:1.6.0
208 %description -n cups-backend-serial
209 This package allow CUPS printing on printers connected by serial
212 %description -n cups-backend-serial -l pl.UTF-8
213 Ten pakiet umożliwia drukowanie z poziomu CUPS-a na drukarkach
214 podłączonych do portów szeregowych.
216 %package -n perl-cups
217 Summary: Perl module for CUPS
218 Summary(pl.UTF-8): Moduł Perla CUPS
219 # must be larger than cups.spec before 1.6.0
221 License: GPL v2 + OpenSSL exception
222 Group: Development/Languages/Perl
223 Requires: cups-lib >= 1:1.6.0
225 %description -n perl-cups
226 Perl module for Common Unix Printing System.
228 %description -n perl-cups -l pl.UTF-8
229 Moduł Perla do ogólnego systemu druku dla Uniksa.
231 %package -n %{php_name}-cups
232 Summary: PHP module for CUPS
233 Summary(pl.UTF-8): Moduł PHP CUPS
234 # must be larger than cups.spec before 1.6.0
236 License: GPL v2 + OpenSSL exception
237 Group: Development/Languages/PHP
238 Requires: cups-lib >= 1:1.6.0
239 %{?requires_php_extension}
241 %description -n %{php_name}-cups
242 PHP module for Common Unix Printing System.
244 %description -n %{php_name}-cups -l pl.UTF-8
245 Moduł PHP do ogólnego systemu druku dla Uniksa.
247 # CREATE ANY NEW PACKAGES BEFORE cups-backend-* (EPOCH)
263 %{!?with_braille:--disable-braille} \
267 --disable-silent-rules \
268 %{!?with_static_libs:--disable-static} \
269 %{?with_php:--with-php} \
270 --with-pdftops=hybrid \
271 --with-rcdir=/etc/rc.d/init.d \
273 --with-mutool-path=/usr/bin/mutool \
274 --with-test-font-path=/usr/share/fonts/TTF/DejaVuSans.ttf
280 %{__perl} Makefile.PL \
282 OPTIMIZE="%{rpmcflags}"
289 rm -rf $RPM_BUILD_ROOT
290 install -d $RPM_BUILD_ROOT%{systemdunitdir}
292 DESTDIR=$RPM_BUILD_ROOT
295 install -d $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d
296 cat > $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/phpcups.ini << 'EOF'
297 ; Enable phpcups extension module
298 extension=libphpcups.so
301 %{__rm} $RPM_BUILD_ROOT%{php_extensiondir}/libphpcups.la
305 %{__make} -C scripting/perl install \
306 DESTDIR=$RPM_BUILD_ROOT
309 install -p utils/cups-browsed.service $RPM_BUILD_ROOT%{systemdunitdir}
311 # obsoleted by pkg-config
312 %{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la
314 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/cups-filters
315 # Not sure what is this good for.
316 %{__rm} $RPM_BUILD_ROOT%{_bindir}/ttfread
319 rm -rf $RPM_BUILD_ROOT
321 %post libs -p /sbin/ldconfig
322 %postun libs -p /sbin/ldconfig
324 %post -n cups-browsed
325 if [ "$1" = "1" ]; then
326 # We can remove this after few releases, it's just for the introduction of cups-browsed.
327 if [ -f %{_sysconfdir}/cups/cups-browsed.conf ]; then
328 echo -e "\n# NOTE: This file is not part of CUPS. You need to start & enable cups-browsed service." >>%{_sysconfdir}/cups/cups-browsed.conf
331 # move BrowsePoll from cupsd.conf to cups-browsed.conf
332 if [ -f %{_sysconfdir}/cups/cupsd.conf ] && grep -iq "^BrowsePoll" %{_sysconfdir}/cups/cupsd.conf; then
333 if ! grep -iq "^BrowsePoll" %{_sysconfdir}/cups/cups-browsed.conf; then
334 echo "# Settings automatically moved from cupsd.conf by RPM package:" >>%{_sysconfdir}/cups/cups-browsed.conf
335 grep -i "^BrowsePoll" %{_sysconfdir}/cups/cupsd.conf >> %{_sysconfdir}/cups/cups-browsed.conf || :
337 sed -i -e "s,^BrowsePoll,#BrowsePoll directive moved to cups-browsed.conf\n#BrowsePoll,i" %{_sysconfdir}/cups/cupsd.conf || :
340 /sbin/chkconfig --add cups-browsed
341 %service cups-browsed restart
342 %systemd_post cups-browsed.service
344 %preun -n cups-browsed
345 if [ "$1" = "0" ]; then
346 %service cups-browsed stop
347 /sbin/chkconfig --del cups-browsed
349 %systemd_preun cups-browsed.service
351 %postun -n cups-browsed
355 %defattr(644,root,root,755)
356 %doc AUTHORS COPYING NEWS README
357 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fonts/conf.d/99pdftoopvp.conf
358 %attr(755,root,root) %{_bindir}/driverless
359 %attr(755,root,root) %{_bindir}/foomatic-rip
360 %attr(755,root,root) %{_cups_serverbin}/backend/beh
361 %attr(755,root,root) %{_cups_serverbin}/backend/cups-brf
362 %attr(755,root,root) %{_cups_serverbin}/backend/driverless
363 %attr(755,root,root) %{_cups_serverbin}/driver/driverless
364 %attr(755,root,root) %{_cups_serverbin}/filter/bannertopdf
365 %attr(755,root,root) %{_cups_serverbin}/filter/brftopagedbrf
366 %attr(755,root,root) %{_cups_serverbin}/filter/cgmtopdf
367 %attr(755,root,root) %{_cups_serverbin}/filter/cmxtopdf
368 %attr(755,root,root) %{_cups_serverbin}/filter/commandtoescpx
369 %attr(755,root,root) %{_cups_serverbin}/filter/commandtopclx
370 %attr(755,root,root) %{_cups_serverbin}/filter/emftopdf
371 %attr(755,root,root) %{_cups_serverbin}/filter/foomatic-rip
372 %attr(755,root,root) %{_cups_serverbin}/filter/gstopdf
373 %attr(755,root,root) %{_cups_serverbin}/filter/gstopxl
374 %attr(755,root,root) %{_cups_serverbin}/filter/gstoraster
375 %attr(755,root,root) %{_cups_serverbin}/filter/imagetopdf
376 %attr(755,root,root) %{_cups_serverbin}/filter/imagetops
377 %attr(755,root,root) %{_cups_serverbin}/filter/imagetoraster
378 %attr(755,root,root) %{_cups_serverbin}/filter/mupdftoraster
379 %attr(755,root,root) %{_cups_serverbin}/filter/musicxmltobrf
380 %attr(755,root,root) %{_cups_serverbin}/filter/pdftoijs
381 %attr(755,root,root) %{_cups_serverbin}/filter/pdftoopvp
382 %attr(755,root,root) %{_cups_serverbin}/filter/pdftopdf
383 %attr(755,root,root) %{_cups_serverbin}/filter/pdftops
384 %attr(755,root,root) %{_cups_serverbin}/filter/pdftoraster
385 %attr(755,root,root) %{_cups_serverbin}/filter/rastertoescpx
386 %attr(755,root,root) %{_cups_serverbin}/filter/rastertopclm
387 %attr(755,root,root) %{_cups_serverbin}/filter/rastertopclx
388 %attr(755,root,root) %{_cups_serverbin}/filter/rastertopdf
389 %attr(755,root,root) %{_cups_serverbin}/filter/rastertops
390 %attr(755,root,root) %{_cups_serverbin}/filter/svgtopdf
391 %attr(755,root,root) %{_cups_serverbin}/filter/sys5ippprinter
392 %attr(755,root,root) %{_cups_serverbin}/filter/texttopdf
393 %attr(755,root,root) %{_cups_serverbin}/filter/texttops
394 %attr(755,root,root) %{_cups_serverbin}/filter/texttotext
395 %attr(755,root,root) %{_cups_serverbin}/filter/vectortobrf
396 %attr(755,root,root) %{_cups_serverbin}/filter/vectortopdf
397 %attr(755,root,root) %{_cups_serverbin}/filter/vectortoubrl
398 %attr(755,root,root) %{_cups_serverbin}/filter/wmftopdf
399 %attr(755,root,root) %{_cups_serverbin}/filter/xfigtopdf
400 %{_datadir}/cups/banners/*
401 %{_datadir}/cups/charsets
402 %{_datadir}/cups/data/classified.pdf
403 %{_datadir}/cups/data/confidential.pdf
404 %{_datadir}/cups/data/default.pdf
405 %{_datadir}/cups/data/default-testpage.pdf
406 %{_datadir}/cups/data/form_english.pdf
407 %{_datadir}/cups/data/form_english_in.odt
408 %{_datadir}/cups/data/form_russian.pdf
409 %{_datadir}/cups/data/form_russian_in.odt
410 %{_datadir}/cups/data/secret.pdf
411 %{_datadir}/cups/data/standard.pdf
412 %{_datadir}/cups/data/topsecret.pdf
413 %{_datadir}/cups/data/unclassified.pdf
414 %{_datadir}/cups/data/testprint
415 %{_datadir}/cups/drv/cupsfilters.drv
416 %{_datadir}/cups/drv/generic-ubrl.drv
417 %{_datadir}/cups/mime/cupsfilters.types
418 %{_datadir}/cups/mime/cupsfilters.convs
419 %{_datadir}/cups/mime/cupsfilters-ghostscript.convs
420 %{_datadir}/cups/mime/cupsfilters-mupdf.convs
421 %{_datadir}/cups/mime/cupsfilters-poppler.convs
422 # definitions for drivers; pcl.h is used by cupsfilters.drv
423 %{_datadir}/cups/ppdc/escp.h
424 %{_datadir}/cups/ppdc/pcl.h
425 %{_datadir}/ppd/cupsfilters
426 %{_mandir}/man1/driverless.1*
427 %{_mandir}/man1/foomatic-rip.1*
431 %defattr(644,root,root,755)
432 %attr(755,root,root) %{_cups_serverbin}/filter/brftoembosser
433 %attr(755,root,root) %{_cups_serverbin}/filter/imagetobrf
434 %attr(755,root,root) %{_cups_serverbin}/filter/imagetoubrl
435 %attr(755,root,root) %{_cups_serverbin}/filter/imageubrltoindexv3
436 %attr(755,root,root) %{_cups_serverbin}/filter/imageubrltoindexv4
437 %attr(755,root,root) %{_cups_serverbin}/filter/textbrftoindexv3
438 %attr(755,root,root) %{_cups_serverbin}/filter/textbrftoindexv4
439 %attr(755,root,root) %{_cups_serverbin}/filter/texttobrf
440 %dir %{_datadir}/cups/braille
441 %attr(755,root,root) %{_datadir}/cups/braille/cups-braille.sh
442 %attr(755,root,root) %{_datadir}/cups/braille/index.sh
443 %attr(755,root,root) %{_datadir}/cups/braille/indexv3.sh
444 %attr(755,root,root) %{_datadir}/cups/braille/indexv4.sh
445 %{_datadir}/cups/drv/generic-brf.drv
446 %{_datadir}/cups/drv/indexv3.drv
447 %{_datadir}/cups/drv/indexv4.drv
448 %{_datadir}/cups/mime/braille.convs
449 %{_datadir}/cups/mime/braille.types
450 %{_datadir}/cups/ppdc/braille.defs
451 %{_datadir}/cups/ppdc/fr-braille.po
452 %{_datadir}/cups/ppdc/imagemagick.defs
453 %{_datadir}/cups/ppdc/index.defs
454 %{_datadir}/cups/ppdc/liblouis.defs
455 %{_datadir}/cups/ppdc/liblouis1.defs
456 %{_datadir}/cups/ppdc/liblouis2.defs
457 %{_datadir}/cups/ppdc/liblouis3.defs
458 %{_datadir}/cups/ppdc/liblouis4.defs
459 %{_datadir}/cups/ppdc/media-braille.defs
463 %defattr(644,root,root,755)
464 %doc fontembed/README
465 %attr(755,root,root) %{_libdir}/libcupsfilters.so.*.*.*
466 %attr(755,root,root) %ghost %{_libdir}/libcupsfilters.so.1
467 %attr(755,root,root) %{_libdir}/libfontembed.so.*.*.*
468 %attr(755,root,root) %ghost %{_libdir}/libfontembed.so.1
471 %defattr(644,root,root,755)
472 %attr(755,root,root) %{_libdir}/libcupsfilters.so
473 %attr(755,root,root) %{_libdir}/libfontembed.so
474 %{_includedir}/cupsfilters
475 %{_includedir}/fontembed
476 %{_pkgconfigdir}/libcupsfilters.pc
477 %{_pkgconfigdir}/libfontembed.pc
480 %defattr(644,root,root,755)
481 %{_libdir}/libcupsfilters.a
482 %{_libdir}/libfontembed.a
484 %files -n cups-browsed
485 %defattr(644,root,root,755)
486 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cups/cups-browsed.conf
487 %attr(755,root,root) %{_sbindir}/cups-browsed
488 %attr(755,root,root) %{_cups_serverbin}/backend/implicitclass
489 %attr(754,root,root) /etc/rc.d/init.d/cups-browsed
490 %{systemdunitdir}/cups-browsed.service
491 %{_mandir}/man5/cups-browsed.conf.5*
492 %{_mandir}/man8/cups-browsed.8*
494 %files -n cups-backend-parallel
495 %defattr(644,root,root,755)
496 %attr(755,root,root) %{_cups_serverbin}/backend/parallel
498 %files -n cups-backend-serial
499 %defattr(644,root,root,755)
500 %attr(755,root,root) %{_cups_serverbin}/backend/serial
504 %defattr(644,root,root,755)
505 %doc scripting/perl/README
506 %{perl_vendorarch}/CUPS.pm
507 %dir %{perl_vendorarch}/auto/CUPS
508 %{perl_vendorarch}/auto/CUPS/autosplit.ix
509 %attr(755,root,root) %{perl_vendorarch}/auto/CUPS/CUPS.so
510 %{_mandir}/man3/CUPS.3pm*
514 %files -n %{php_name}-cups
515 %defattr(644,root,root,755)
516 %doc scripting/php/README
517 %config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/phpcups.ini
518 %attr(755,root,root) %{php_extensiondir}/libphpcups.so