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: cdf101d2c0ad6b9fe499395cda3e99c6
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.18
59 BuildRequires: poppler-devel >= 0.18
60 # /usr/bin/pdftops, for features detection
61 BuildRequires: poppler-progs >= 0.18
62 BuildRequires: qpdf-devel >= 8.1.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-progs >= 0.18
76 Requires: qpdf-libs >= 8.1.0
78 Suggests: fonts-TTF-freefont
79 Provides: cups-filter-foomatic
80 Provides: ghostscript-cups = 9.08
81 Obsoletes: cups-filter-foomatic
82 Obsoletes: foomatic-filters
83 Obsoletes: ghostscript-cups < 9.08
84 Conflicts: cups-backend-hp < 3.13.11-2
85 Conflicts: hplip-ppd < 3.13.11-2
86 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
88 %define _cups_serverbin %(/usr/bin/cups-config --serverbin)
91 Contains backends, filters, and other software that was once part of
92 the core CUPS distribution but is no longer maintained by Apple Inc.
93 In addition it contains additional filters developed independently of
94 Apple, especially filters for the PDF-centric printing workflow
95 introduced by OpenPrinting.
97 %description -l pl.UTF-8
98 Ten pakiet zawiera backendy, filtry i inne oprogramowanie, będące
99 kiedyś częścią CUPS-a, ale nie utrzymywane już przez firmę Apple Inc.
100 Dodatkowo pakiet zawiera dodatkowe filtry stworzone niezależnie od
101 Apple'a, w szczególności filtry dla PDF-ocentrycznego obiegu
102 drukowania wprowadzonego przez OpenPrinting.
105 Summary: OpenPrinting CUPS filters for Braille embossers
106 Summary(pl.UTF-8): Filtry CUPS-a z projektu OpenPrinting dla drukarek Braille'a
107 Group: Applications/Printing
108 Requires: %{name} = %{version}-%{release}
111 OpenPrinting CUPS filters for Braille embossers.
113 %description braille -l pl.UTF-8
114 Filtry CUPS-a z projektu OpenPrinting dla drukarek Braille'a.
117 Summary: OpenPrinting CUPS filters and backends - cupsfilters and fontembed libraries
118 Summary(pl.UTF-8): Filtry i backendy CUPS-a z projektu OpenPrinting - biblioteki cupsfilters i fontembed
119 # LGPLv2: libcupsfilters
121 License: LGPL v2, MIT
123 Requires: cups-lib >= 1:1.6.0
126 This package provides cupsfilters and fontembed libraries.
128 %description libs -l pl.UTF-8
129 Ten pakiet udostępnia biblioteki cupsfilters i fontembed.
132 Summary: OpenPrinting CUPS filters and backends - development environment
133 Summary(pl.UTF-8): Filtry i backendy CUPS-a z projektu OpenPrinting - środowisko programistyczne
134 License: LGPL v2, MIT
135 Group: Development/Libraries
136 Requires: %{name}-libs = %{version}-%{release}
137 Requires: cups-devel >= 1:1.6.0
138 Requires: libjpeg-devel
139 Requires: libpng-devel
140 Requires: libtiff-devel
143 This is the development package for OpenPrinting CUPS filters and
146 %description devel -l pl.UTF-8
147 To jest pakiet programistyczny dla filtrów i backendów CUPS-a z
148 projektu OpenPrinting.
151 Summary: OpenPrinting CUPS filters and backends - static cupsfilters and fontembed libraries
152 Summary(pl.UTF-8): Filtry i backendy CUPS-a z projektu OpenPrinting - statyczne biblioteki cupsfilters i fontembed
153 License: LGPL v2, MIT
154 Group: Development/Libraries
155 Requires: %{name}-devel = %{version}-%{release}
158 This package provides static cupsfilters and fontembed libraries.
160 %description static -l pl.UTF-8
161 Ten pakiet udostępnia statyczne biblioteki cupsfilters i fontembed.
163 %package -n cups-browsed
164 Summary: A daemon for browsing the Bonjour broadcasts of shared, remote CUPS printers
165 Summary(pl.UTF-8): Demon do przeglądania broadcastów Bonjour współdzielonych, zdalnych drukarek CUPS
166 Group: Applications/Printing
167 Requires(post,preun): /sbin/chkconfig
168 Requires(post,preun,postun): systemd-units
169 Requires: glib2 >= 1:2.30.2
170 Requires: systemd-units >= 38
172 %description -n cups-browsed
173 A daemon for browsing the Bonjour broadcasts of shared, remote CUPS
176 %description -n cups-browsed -l pl.UTF-8
177 Demon do przeglądania broadcastów Bonjour współdzielonych, zdalnych
180 %package -n cups-backend-parallel
181 Summary: Parallel port backend for CUPS
182 Summary(pl.UTF-8): Backend CUPS-a obsługujący porty równoległe
183 # must be larger than cups.spec before 1.6.0
185 License: GPL v2 + OpenSSL exception
186 Group: Applications/Printing
187 Requires: cups >= 1:1.6.0
189 %description -n cups-backend-parallel
190 This package allow CUPS printing on printers connected by parallel
193 %description -n cups-backend-parallel -l pl.UTF-8
194 Ten pakiet umożliwia drukowanie z poziomu CUPS-a na drukarkach
195 podłączonych do portów równoległych.
197 %package -n cups-backend-serial
198 Summary: Serial port backend for CUPS
199 Summary(pl.UTF-8): Backend CUPS-a obsługujący porty szeregowe
200 # must be larger than cups.spec before 1.6.0
202 License: GPL v2 + OpenSSL exception
203 Group: Applications/Printing
204 Requires: cups >= 1:1.6.0
206 %description -n cups-backend-serial
207 This package allow CUPS printing on printers connected by serial
210 %description -n cups-backend-serial -l pl.UTF-8
211 Ten pakiet umożliwia drukowanie z poziomu CUPS-a na drukarkach
212 podłączonych do portów szeregowych.
214 %package -n perl-cups
215 Summary: Perl module for CUPS
216 Summary(pl.UTF-8): Moduł Perla CUPS
217 # must be larger than cups.spec before 1.6.0
219 License: GPL v2 + OpenSSL exception
220 Group: Development/Languages/Perl
221 Requires: cups-lib >= 1:1.6.0
223 %description -n perl-cups
224 Perl module for Common Unix Printing System.
226 %description -n perl-cups -l pl.UTF-8
227 Moduł Perla do ogólnego systemu druku dla Uniksa.
229 %package -n %{php_name}-cups
230 Summary: PHP module for CUPS
231 Summary(pl.UTF-8): Moduł PHP CUPS
232 # must be larger than cups.spec before 1.6.0
234 License: GPL v2 + OpenSSL exception
235 Group: Development/Languages/PHP
236 Requires: cups-lib >= 1:1.6.0
237 %{?requires_php_extension}
239 %description -n %{php_name}-cups
240 PHP module for Common Unix Printing System.
242 %description -n %{php_name}-cups -l pl.UTF-8
243 Moduł PHP do ogólnego systemu druku dla Uniksa.
245 # CREATE ANY NEW PACKAGES BEFORE cups-backend-* (EPOCH)
260 %{!?with_braille:--disable-braille} \
264 --disable-silent-rules \
265 %{!?with_static_libs:--disable-static} \
266 %{?with_php:--with-php} \
267 --with-pdftops=hybrid \
268 --with-rcdir=/etc/rc.d/init.d \
270 --with-mutool-path=/usr/bin/mutool \
271 --with-test-font-path=/usr/share/fonts/TTF/DejaVuSans.ttf
277 %{__perl} Makefile.PL \
279 OPTIMIZE="%{rpmcflags}"
286 rm -rf $RPM_BUILD_ROOT
287 install -d $RPM_BUILD_ROOT%{systemdunitdir}
289 DESTDIR=$RPM_BUILD_ROOT
292 install -d $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d
293 cat > $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/phpcups.ini << 'EOF'
294 ; Enable phpcups extension module
295 extension=libphpcups.so
298 %{__rm} $RPM_BUILD_ROOT%{php_extensiondir}/libphpcups.la
302 %{__make} -C scripting/perl install \
303 DESTDIR=$RPM_BUILD_ROOT
306 install -p utils/cups-browsed.service $RPM_BUILD_ROOT%{systemdunitdir}
308 # obsoleted by pkg-config
309 %{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la
311 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/cups-filters
312 # Not sure what is this good for.
313 %{__rm} $RPM_BUILD_ROOT%{_bindir}/ttfread
316 rm -rf $RPM_BUILD_ROOT
318 %post libs -p /sbin/ldconfig
319 %postun libs -p /sbin/ldconfig
321 %post -n cups-browsed
322 if [ "$1" = "1" ]; then
323 # We can remove this after few releases, it's just for the introduction of cups-browsed.
324 if [ -f %{_sysconfdir}/cups/cups-browsed.conf ]; then
325 echo -e "\n# NOTE: This file is not part of CUPS. You need to start & enable cups-browsed service." >>%{_sysconfdir}/cups/cups-browsed.conf
328 # move BrowsePoll from cupsd.conf to cups-browsed.conf
329 if [ -f %{_sysconfdir}/cups/cupsd.conf ] && grep -iq "^BrowsePoll" %{_sysconfdir}/cups/cupsd.conf; then
330 if ! grep -iq "^BrowsePoll" %{_sysconfdir}/cups/cups-browsed.conf; then
331 echo "# Settings automatically moved from cupsd.conf by RPM package:" >>%{_sysconfdir}/cups/cups-browsed.conf
332 grep -i "^BrowsePoll" %{_sysconfdir}/cups/cupsd.conf >> %{_sysconfdir}/cups/cups-browsed.conf || :
334 sed -i -e "s,^BrowsePoll,#BrowsePoll directive moved to cups-browsed.conf\n#BrowsePoll,i" %{_sysconfdir}/cups/cupsd.conf || :
337 /sbin/chkconfig --add cups-browsed
338 %service cups-browsed restart
339 %systemd_post cups-browsed.service
341 %preun -n cups-browsed
342 if [ "$1" = "0" ]; then
343 %service cups-browsed stop
344 /sbin/chkconfig --del cups-browsed
346 %systemd_preun cups-browsed.service
348 %postun -n cups-browsed
352 %defattr(644,root,root,755)
353 %doc AUTHORS COPYING NEWS README
354 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fonts/conf.d/99pdftoopvp.conf
355 %attr(755,root,root) %{_bindir}/driverless
356 %attr(755,root,root) %{_bindir}/foomatic-rip
357 %attr(755,root,root) %{_cups_serverbin}/backend/beh
358 %attr(755,root,root) %{_cups_serverbin}/backend/cups-brf
359 %attr(755,root,root) %{_cups_serverbin}/backend/driverless
360 %attr(755,root,root) %{_cups_serverbin}/driver/driverless
361 %attr(755,root,root) %{_cups_serverbin}/filter/bannertopdf
362 %attr(755,root,root) %{_cups_serverbin}/filter/brftopagedbrf
363 %attr(755,root,root) %{_cups_serverbin}/filter/cgmtopdf
364 %attr(755,root,root) %{_cups_serverbin}/filter/cmxtopdf
365 %attr(755,root,root) %{_cups_serverbin}/filter/commandtoescpx
366 %attr(755,root,root) %{_cups_serverbin}/filter/commandtopclx
367 %attr(755,root,root) %{_cups_serverbin}/filter/emftopdf
368 %attr(755,root,root) %{_cups_serverbin}/filter/foomatic-rip
369 %attr(755,root,root) %{_cups_serverbin}/filter/gstopdf
370 %attr(755,root,root) %{_cups_serverbin}/filter/gstopxl
371 %attr(755,root,root) %{_cups_serverbin}/filter/gstoraster
372 %attr(755,root,root) %{_cups_serverbin}/filter/imagetopdf
373 %attr(755,root,root) %{_cups_serverbin}/filter/imagetops
374 %attr(755,root,root) %{_cups_serverbin}/filter/imagetoraster
375 %attr(755,root,root) %{_cups_serverbin}/filter/mupdftoraster
376 %attr(755,root,root) %{_cups_serverbin}/filter/musicxmltobrf
377 %attr(755,root,root) %{_cups_serverbin}/filter/pdftoijs
378 %attr(755,root,root) %{_cups_serverbin}/filter/pdftoopvp
379 %attr(755,root,root) %{_cups_serverbin}/filter/pdftopdf
380 %attr(755,root,root) %{_cups_serverbin}/filter/pdftops
381 %attr(755,root,root) %{_cups_serverbin}/filter/pdftoraster
382 %attr(755,root,root) %{_cups_serverbin}/filter/rastertoescpx
383 %attr(755,root,root) %{_cups_serverbin}/filter/rastertopclm
384 %attr(755,root,root) %{_cups_serverbin}/filter/rastertopclx
385 %attr(755,root,root) %{_cups_serverbin}/filter/rastertopdf
386 %attr(755,root,root) %{_cups_serverbin}/filter/rastertops
387 %attr(755,root,root) %{_cups_serverbin}/filter/svgtopdf
388 %attr(755,root,root) %{_cups_serverbin}/filter/sys5ippprinter
389 %attr(755,root,root) %{_cups_serverbin}/filter/texttopdf
390 %attr(755,root,root) %{_cups_serverbin}/filter/texttops
391 %attr(755,root,root) %{_cups_serverbin}/filter/texttotext
392 %attr(755,root,root) %{_cups_serverbin}/filter/vectortobrf
393 %attr(755,root,root) %{_cups_serverbin}/filter/vectortopdf
394 %attr(755,root,root) %{_cups_serverbin}/filter/vectortoubrl
395 %attr(755,root,root) %{_cups_serverbin}/filter/wmftopdf
396 %attr(755,root,root) %{_cups_serverbin}/filter/xfigtopdf
397 %{_datadir}/cups/banners/*
398 %{_datadir}/cups/charsets
399 %{_datadir}/cups/data/classified.pdf
400 %{_datadir}/cups/data/confidential.pdf
401 %{_datadir}/cups/data/default.pdf
402 %{_datadir}/cups/data/default-testpage.pdf
403 %{_datadir}/cups/data/form_english.pdf
404 %{_datadir}/cups/data/form_english_in.odt
405 %{_datadir}/cups/data/form_russian.pdf
406 %{_datadir}/cups/data/form_russian_in.odt
407 %{_datadir}/cups/data/secret.pdf
408 %{_datadir}/cups/data/standard.pdf
409 %{_datadir}/cups/data/topsecret.pdf
410 %{_datadir}/cups/data/unclassified.pdf
411 %{_datadir}/cups/data/testprint
412 %{_datadir}/cups/drv/cupsfilters.drv
413 %{_datadir}/cups/drv/generic-ubrl.drv
414 %{_datadir}/cups/mime/cupsfilters.types
415 %{_datadir}/cups/mime/cupsfilters.convs
416 %{_datadir}/cups/mime/cupsfilters-ghostscript.convs
417 %{_datadir}/cups/mime/cupsfilters-mupdf.convs
418 %{_datadir}/cups/mime/cupsfilters-poppler.convs
419 # definitions for drivers; pcl.h is used by cupsfilters.drv
420 %{_datadir}/cups/ppdc/escp.h
421 %{_datadir}/cups/ppdc/pcl.h
422 %{_datadir}/ppd/cupsfilters
423 %{_mandir}/man1/driverless.1*
424 %{_mandir}/man1/foomatic-rip.1*
428 %defattr(644,root,root,755)
429 %attr(755,root,root) %{_cups_serverbin}/filter/brftoembosser
430 %attr(755,root,root) %{_cups_serverbin}/filter/imagetobrf
431 %attr(755,root,root) %{_cups_serverbin}/filter/imagetoubrl
432 %attr(755,root,root) %{_cups_serverbin}/filter/imageubrltoindexv3
433 %attr(755,root,root) %{_cups_serverbin}/filter/imageubrltoindexv4
434 %attr(755,root,root) %{_cups_serverbin}/filter/textbrftoindexv3
435 %attr(755,root,root) %{_cups_serverbin}/filter/textbrftoindexv4
436 %attr(755,root,root) %{_cups_serverbin}/filter/texttobrf
437 %dir %{_datadir}/cups/braille
438 %attr(755,root,root) %{_datadir}/cups/braille/cups-braille.sh
439 %attr(755,root,root) %{_datadir}/cups/braille/index.sh
440 %attr(755,root,root) %{_datadir}/cups/braille/indexv3.sh
441 %attr(755,root,root) %{_datadir}/cups/braille/indexv4.sh
442 %{_datadir}/cups/drv/generic-brf.drv
443 %{_datadir}/cups/drv/indexv3.drv
444 %{_datadir}/cups/drv/indexv4.drv
445 %{_datadir}/cups/mime/braille.convs
446 %{_datadir}/cups/mime/braille.types
447 %{_datadir}/cups/ppdc/braille.defs
448 %{_datadir}/cups/ppdc/fr-braille.po
449 %{_datadir}/cups/ppdc/imagemagick.defs
450 %{_datadir}/cups/ppdc/index.defs
451 %{_datadir}/cups/ppdc/liblouis.defs
452 %{_datadir}/cups/ppdc/liblouis1.defs
453 %{_datadir}/cups/ppdc/liblouis2.defs
454 %{_datadir}/cups/ppdc/liblouis3.defs
455 %{_datadir}/cups/ppdc/liblouis4.defs
456 %{_datadir}/cups/ppdc/media-braille.defs
460 %defattr(644,root,root,755)
461 %doc fontembed/README
462 %attr(755,root,root) %{_libdir}/libcupsfilters.so.*.*.*
463 %attr(755,root,root) %ghost %{_libdir}/libcupsfilters.so.1
464 %attr(755,root,root) %{_libdir}/libfontembed.so.*.*.*
465 %attr(755,root,root) %ghost %{_libdir}/libfontembed.so.1
468 %defattr(644,root,root,755)
469 %attr(755,root,root) %{_libdir}/libcupsfilters.so
470 %attr(755,root,root) %{_libdir}/libfontembed.so
471 %{_includedir}/cupsfilters
472 %{_includedir}/fontembed
473 %{_pkgconfigdir}/libcupsfilters.pc
474 %{_pkgconfigdir}/libfontembed.pc
477 %defattr(644,root,root,755)
478 %{_libdir}/libcupsfilters.a
479 %{_libdir}/libfontembed.a
481 %files -n cups-browsed
482 %defattr(644,root,root,755)
483 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cups/cups-browsed.conf
484 %attr(755,root,root) %{_sbindir}/cups-browsed
485 %attr(755,root,root) %{_cups_serverbin}/backend/implicitclass
486 %attr(754,root,root) /etc/rc.d/init.d/cups-browsed
487 %{systemdunitdir}/cups-browsed.service
488 %{_mandir}/man5/cups-browsed.conf.5*
489 %{_mandir}/man8/cups-browsed.8*
491 %files -n cups-backend-parallel
492 %defattr(644,root,root,755)
493 %attr(755,root,root) %{_cups_serverbin}/backend/parallel
495 %files -n cups-backend-serial
496 %defattr(644,root,root,755)
497 %attr(755,root,root) %{_cups_serverbin}/backend/serial
501 %defattr(644,root,root,755)
502 %doc scripting/perl/README
503 %{perl_vendorarch}/CUPS.pm
504 %dir %{perl_vendorarch}/auto/CUPS
505 %{perl_vendorarch}/auto/CUPS/autosplit.ix
506 %attr(755,root,root) %{perl_vendorarch}/auto/CUPS/CUPS.so
507 %{_mandir}/man3/CUPS.3pm*
511 %files -n %{php_name}-cups
512 %defattr(644,root,root,755)
513 %doc scripting/php/README
514 %config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/phpcups.ini
515 %attr(755,root,root) %{php_extensiondir}/libphpcups.so