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