3 %bcond_without static_libs # static libraries
4 %bcond_without braille # Braille embossers support
5 %bcond_without perl # Perl module
6 %bcond_with 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, pdftopdf, pdftoraster
25 License: GPL v2, GPL v2+, GPL v3, GPL v3+, LGPL v2+, MIT
26 Group: Applications/Printing
27 Source0: https://www.openprinting.org/download/cups-filters/%{name}-%{version}.tar.xz
28 # Source0-md5: f6d3c5ca06d992dd80e7cbd47e2399f4
29 Patch0: %{name}-php.patch
30 Patch1: %{name}-php7.patch
31 Patch2: %{name}-php73.patch
32 URL: http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups-filters
33 BuildRequires: autoconf >= 2.65
34 BuildRequires: automake >= 1:1.11
35 BuildRequires: avahi-devel
36 BuildRequires: avahi-glib-devel
37 BuildRequires: cups-devel >= 1:1.6.0
38 BuildRequires: dbus-devel
39 BuildRequires: fontconfig-devel >= 2.0.0
40 BuildRequires: fonts-TTF-DejaVu
41 BuildRequires: freetype-devel >= 2
42 BuildRequires: gettext-tools >= 0.18.3
43 # /usr/bin/gs, for features detection
44 BuildRequires: ghostscript
45 BuildRequires: glib2-devel >= 1:2.30.2
46 BuildRequires: lcms2-devel >= 2
47 BuildRequires: libjpeg-devel
48 %{?with_braille:BuildRequires: liblouis-devel}
49 BuildRequires: libpng-devel
50 BuildRequires: libstdc++-devel >= 6:4.7
51 BuildRequires: libtiff-devel
52 BuildRequires: libtool
53 BuildRequires: openldap-devel
54 %{?with_perl:BuildRequires: perl-devel}
55 %{?with_php:BuildRequires: %{php_name}-devel}
56 BuildRequires: pkgconfig >= 1:0.20
57 BuildRequires: poppler-cpp-devel >= 0.19
58 # /usr/bin/pdftops, for features detection
59 BuildRequires: poppler-progs >= 0.19
60 BuildRequires: qpdf-devel >= 8.3.0
61 BuildRequires: rpmbuild(macros) >= 1.671
62 BuildRequires: tar >= 1:1.22
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)
260 %{!?with_braille:--disable-braille} \
262 --disable-silent-rules \
263 %{!?with_static_libs:--disable-static} \
264 %{?with_php:--with-php} \
265 --with-pdftops=hybrid \
266 --with-rcdir=/etc/rc.d/init.d \
268 --with-mutool-path=/usr/bin/mutool \
269 --with-test-font-path=/usr/share/fonts/TTF/DejaVuSans.ttf
275 %{__perl} Makefile.PL \
277 OPTIMIZE="%{rpmcflags}"
284 rm -rf $RPM_BUILD_ROOT
285 install -d $RPM_BUILD_ROOT%{systemdunitdir}
287 DESTDIR=$RPM_BUILD_ROOT
290 install -d $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d
291 cat > $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/phpcups.ini << 'EOF'
292 ; Enable phpcups extension module
293 extension=libphpcups.so
296 %{__rm} $RPM_BUILD_ROOT%{php_extensiondir}/libphpcups.la
300 %{__make} -C scripting/perl install \
301 DESTDIR=$RPM_BUILD_ROOT
304 install -p utils/cups-browsed.service $RPM_BUILD_ROOT%{systemdunitdir}
306 # obsoleted by pkg-config
307 %{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la
309 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/cups-filters
312 rm -rf $RPM_BUILD_ROOT
314 %post libs -p /sbin/ldconfig
315 %postun libs -p /sbin/ldconfig
317 %post -n cups-browsed
318 if [ "$1" = "1" ]; then
319 # We can remove this after few releases, it's just for the introduction of cups-browsed.
320 if [ -f %{_sysconfdir}/cups/cups-browsed.conf ]; then
321 echo -e "\n# NOTE: This file is not part of CUPS. You need to start & enable cups-browsed service." >>%{_sysconfdir}/cups/cups-browsed.conf
324 # move BrowsePoll from cupsd.conf to cups-browsed.conf
325 if [ -f %{_sysconfdir}/cups/cupsd.conf ] && grep -iq "^BrowsePoll" %{_sysconfdir}/cups/cupsd.conf; then
326 if ! grep -iq "^BrowsePoll" %{_sysconfdir}/cups/cups-browsed.conf; then
327 echo "# Settings automatically moved from cupsd.conf by RPM package:" >>%{_sysconfdir}/cups/cups-browsed.conf
328 grep -i "^BrowsePoll" %{_sysconfdir}/cups/cupsd.conf >> %{_sysconfdir}/cups/cups-browsed.conf || :
330 sed -i -e "s,^BrowsePoll,#BrowsePoll directive moved to cups-browsed.conf\n#BrowsePoll,i" %{_sysconfdir}/cups/cupsd.conf || :
333 /sbin/chkconfig --add cups-browsed
334 %service cups-browsed restart
335 %systemd_post cups-browsed.service
337 %preun -n cups-browsed
338 if [ "$1" = "0" ]; then
339 %service cups-browsed stop
340 /sbin/chkconfig --del cups-browsed
342 %systemd_preun cups-browsed.service
344 %postun -n cups-browsed
348 %defattr(644,root,root,755)
349 %doc AUTHORS COPYING NEWS README
350 %attr(755,root,root) %{_bindir}/driverless
351 %attr(755,root,root) %{_bindir}/driverless-fax
352 %attr(755,root,root) %{_bindir}/foomatic-rip
353 %attr(700,root,root) %{_cups_serverbin}/backend/beh
354 %attr(700,root,root) %{_cups_serverbin}/backend/cups-brf
355 %attr(700,root,root) %{_cups_serverbin}/backend/driverless
356 %attr(700,root,root) %{_cups_serverbin}/backend/driverless-fax
357 %attr(700,root,root) %{_cups_serverbin}/backend/implicitclass
358 %attr(755,root,root) %{_cups_serverbin}/driver/driverless
359 %attr(755,root,root) %{_cups_serverbin}/driver/driverless-fax
360 %attr(755,root,root) %{_cups_serverbin}/filter/bannertopdf
361 %attr(755,root,root) %{_cups_serverbin}/filter/brftopagedbrf
362 %attr(755,root,root) %{_cups_serverbin}/filter/cgmtopdf
363 %attr(755,root,root) %{_cups_serverbin}/filter/cmxtopdf
364 %attr(755,root,root) %{_cups_serverbin}/filter/commandtoescpx
365 %attr(755,root,root) %{_cups_serverbin}/filter/commandtopclx
366 %attr(755,root,root) %{_cups_serverbin}/filter/emftopdf
367 %attr(755,root,root) %{_cups_serverbin}/filter/foomatic-rip
368 %attr(755,root,root) %{_cups_serverbin}/filter/gstopdf
369 %attr(755,root,root) %{_cups_serverbin}/filter/gstopxl
370 %attr(755,root,root) %{_cups_serverbin}/filter/gstoraster
371 %attr(755,root,root) %{_cups_serverbin}/filter/imagetopdf
372 %attr(755,root,root) %{_cups_serverbin}/filter/imagetops
373 %attr(755,root,root) %{_cups_serverbin}/filter/imagetoraster
374 %attr(755,root,root) %{_cups_serverbin}/filter/mupdftoraster
375 %attr(755,root,root) %{_cups_serverbin}/filter/musicxmltobrf
376 %attr(755,root,root) %{_cups_serverbin}/filter/pdftopdf
377 %attr(755,root,root) %{_cups_serverbin}/filter/pdftops
378 %attr(755,root,root) %{_cups_serverbin}/filter/pdftoraster
379 %attr(755,root,root) %{_cups_serverbin}/filter/rastertoescpx
380 %attr(755,root,root) %{_cups_serverbin}/filter/rastertopclm
381 %attr(755,root,root) %{_cups_serverbin}/filter/rastertopclx
382 %attr(755,root,root) %{_cups_serverbin}/filter/rastertopdf
383 %attr(755,root,root) %{_cups_serverbin}/filter/rastertops
384 %attr(755,root,root) %{_cups_serverbin}/filter/svgtopdf
385 %attr(755,root,root) %{_cups_serverbin}/filter/sys5ippprinter
386 %attr(755,root,root) %{_cups_serverbin}/filter/texttopdf
387 %attr(755,root,root) %{_cups_serverbin}/filter/texttops
388 %attr(755,root,root) %{_cups_serverbin}/filter/texttotext
389 %attr(755,root,root) %{_cups_serverbin}/filter/vectortobrf
390 %attr(755,root,root) %{_cups_serverbin}/filter/vectortopdf
391 %attr(755,root,root) %{_cups_serverbin}/filter/vectortoubrl
392 %attr(755,root,root) %{_cups_serverbin}/filter/wmftopdf
393 %attr(755,root,root) %{_cups_serverbin}/filter/xfigtopdf
394 %{_datadir}/cups/banners/*
395 %{_datadir}/cups/charsets
396 %{_datadir}/cups/data/classified.pdf
397 %{_datadir}/cups/data/confidential.pdf
398 %{_datadir}/cups/data/default.pdf
399 %{_datadir}/cups/data/default-testpage.pdf
400 %{_datadir}/cups/data/form_english.pdf
401 %{_datadir}/cups/data/form_english_in.odt
402 %{_datadir}/cups/data/form_russian.pdf
403 %{_datadir}/cups/data/form_russian_in.odt
404 %{_datadir}/cups/data/secret.pdf
405 %{_datadir}/cups/data/standard.pdf
406 %{_datadir}/cups/data/topsecret.pdf
407 %{_datadir}/cups/data/unclassified.pdf
408 %{_datadir}/cups/data/testprint
409 %{_datadir}/cups/drv/cupsfilters.drv
410 %{_datadir}/cups/drv/generic-ubrl.drv
411 %{_datadir}/cups/mime/cupsfilters.types
412 %{_datadir}/cups/mime/cupsfilters.convs
413 %{_datadir}/cups/mime/cupsfilters-ghostscript.convs
414 %{_datadir}/cups/mime/cupsfilters-mupdf.convs
415 %{_datadir}/cups/mime/cupsfilters-poppler.convs
416 # definitions for drivers; pcl.h is used by cupsfilters.drv
417 %{_datadir}/cups/ppdc/escp.h
418 %{_datadir}/cups/ppdc/pcl.h
419 %{_datadir}/ppd/cupsfilters
420 %{_mandir}/man1/driverless.1*
421 %{_mandir}/man1/foomatic-rip.1*
425 %defattr(644,root,root,755)
426 %attr(755,root,root) %{_cups_serverbin}/filter/brftoembosser
427 %attr(755,root,root) %{_cups_serverbin}/filter/imagetobrf
428 %attr(755,root,root) %{_cups_serverbin}/filter/imagetoubrl
429 %attr(755,root,root) %{_cups_serverbin}/filter/imageubrltoindexv3
430 %attr(755,root,root) %{_cups_serverbin}/filter/imageubrltoindexv4
431 %attr(755,root,root) %{_cups_serverbin}/filter/textbrftoindexv3
432 %attr(755,root,root) %{_cups_serverbin}/filter/textbrftoindexv4
433 %attr(755,root,root) %{_cups_serverbin}/filter/texttobrf
434 %dir %{_datadir}/cups/braille
435 %attr(755,root,root) %{_datadir}/cups/braille/cups-braille.sh
436 %attr(755,root,root) %{_datadir}/cups/braille/index.sh
437 %attr(755,root,root) %{_datadir}/cups/braille/indexv3.sh
438 %attr(755,root,root) %{_datadir}/cups/braille/indexv4.sh
439 %{_datadir}/cups/drv/generic-brf.drv
440 %{_datadir}/cups/drv/indexv3.drv
441 %{_datadir}/cups/drv/indexv4.drv
442 %{_datadir}/cups/mime/braille.convs
443 %{_datadir}/cups/mime/braille.types
444 %{_datadir}/cups/ppdc/braille.defs
445 %{_datadir}/cups/ppdc/fr-braille.po
446 %{_datadir}/cups/ppdc/imagemagick.defs
447 %{_datadir}/cups/ppdc/index.defs
448 %{_datadir}/cups/ppdc/liblouis.defs
449 %{_datadir}/cups/ppdc/liblouis1.defs
450 %{_datadir}/cups/ppdc/liblouis2.defs
451 %{_datadir}/cups/ppdc/liblouis3.defs
452 %{_datadir}/cups/ppdc/liblouis4.defs
453 %{_datadir}/cups/ppdc/media-braille.defs
457 %defattr(644,root,root,755)
458 %doc fontembed/README
459 %attr(755,root,root) %{_libdir}/libcupsfilters.so.*.*.*
460 %attr(755,root,root) %ghost %{_libdir}/libcupsfilters.so.1
461 %attr(755,root,root) %{_libdir}/libfontembed.so.*.*.*
462 %attr(755,root,root) %ghost %{_libdir}/libfontembed.so.1
465 %defattr(644,root,root,755)
466 %attr(755,root,root) %{_libdir}/libcupsfilters.so
467 %attr(755,root,root) %{_libdir}/libfontembed.so
468 %{_includedir}/cupsfilters
469 %{_includedir}/fontembed
470 %{_pkgconfigdir}/libcupsfilters.pc
471 %{_pkgconfigdir}/libfontembed.pc
473 %if %{with static_libs}
475 %defattr(644,root,root,755)
476 %{_libdir}/libcupsfilters.a
477 %{_libdir}/libfontembed.a
480 %files -n cups-browsed
481 %defattr(644,root,root,755)
482 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cups/cups-browsed.conf
483 %attr(755,root,root) %{_sbindir}/cups-browsed
484 %attr(754,root,root) /etc/rc.d/init.d/cups-browsed
485 %{systemdunitdir}/cups-browsed.service
486 %{_mandir}/man5/cups-browsed.conf.5*
487 %{_mandir}/man8/cups-browsed.8*
489 %files -n cups-backend-parallel
490 %defattr(644,root,root,755)
491 %attr(700,root,root) %{_cups_serverbin}/backend/parallel
493 %files -n cups-backend-serial
494 %defattr(644,root,root,755)
495 %attr(700,root,root) %{_cups_serverbin}/backend/serial
499 %defattr(644,root,root,755)
500 %doc scripting/perl/README
501 %{perl_vendorarch}/CUPS.pm
502 %dir %{perl_vendorarch}/auto/CUPS
503 %{perl_vendorarch}/auto/CUPS/autosplit.ix
504 %attr(755,root,root) %{perl_vendorarch}/auto/CUPS/CUPS.so
505 %{_mandir}/man3/CUPS.3pm*
509 %files -n %{php_name}-cups
510 %defattr(644,root,root,755)
511 %doc scripting/php/README
512 %config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/phpcups.ini
513 %attr(755,root,root) %{php_extensiondir}/libphpcups.so