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: 1ea8d0311463d4026f0f631a4843dec2
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
310 # Not sure what is this good for.
311 %{__rm} $RPM_BUILD_ROOT%{_bindir}/ttfread
314 rm -rf $RPM_BUILD_ROOT
316 %post libs -p /sbin/ldconfig
317 %postun libs -p /sbin/ldconfig
319 %post -n cups-browsed
320 if [ "$1" = "1" ]; then
321 # We can remove this after few releases, it's just for the introduction of cups-browsed.
322 if [ -f %{_sysconfdir}/cups/cups-browsed.conf ]; then
323 echo -e "\n# NOTE: This file is not part of CUPS. You need to start & enable cups-browsed service." >>%{_sysconfdir}/cups/cups-browsed.conf
326 # move BrowsePoll from cupsd.conf to cups-browsed.conf
327 if [ -f %{_sysconfdir}/cups/cupsd.conf ] && grep -iq "^BrowsePoll" %{_sysconfdir}/cups/cupsd.conf; then
328 if ! grep -iq "^BrowsePoll" %{_sysconfdir}/cups/cups-browsed.conf; then
329 echo "# Settings automatically moved from cupsd.conf by RPM package:" >>%{_sysconfdir}/cups/cups-browsed.conf
330 grep -i "^BrowsePoll" %{_sysconfdir}/cups/cupsd.conf >> %{_sysconfdir}/cups/cups-browsed.conf || :
332 sed -i -e "s,^BrowsePoll,#BrowsePoll directive moved to cups-browsed.conf\n#BrowsePoll,i" %{_sysconfdir}/cups/cupsd.conf || :
335 /sbin/chkconfig --add cups-browsed
336 %service cups-browsed restart
337 %systemd_post cups-browsed.service
339 %preun -n cups-browsed
340 if [ "$1" = "0" ]; then
341 %service cups-browsed stop
342 /sbin/chkconfig --del cups-browsed
344 %systemd_preun cups-browsed.service
346 %postun -n cups-browsed
350 %defattr(644,root,root,755)
351 %doc AUTHORS COPYING NEWS README
352 %attr(755,root,root) %{_bindir}/driverless
353 %attr(755,root,root) %{_bindir}/driverless-fax
354 %attr(755,root,root) %{_bindir}/foomatic-rip
355 %attr(700,root,root) %{_cups_serverbin}/backend/beh
356 %attr(700,root,root) %{_cups_serverbin}/backend/cups-brf
357 %attr(700,root,root) %{_cups_serverbin}/backend/driverless
358 %attr(700,root,root) %{_cups_serverbin}/backend/driverless-fax
359 %attr(700,root,root) %{_cups_serverbin}/backend/implicitclass
360 %attr(755,root,root) %{_cups_serverbin}/driver/driverless
361 %attr(755,root,root) %{_cups_serverbin}/driver/driverless-fax
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/pdftopdf
379 %attr(755,root,root) %{_cups_serverbin}/filter/pdftops
380 %attr(755,root,root) %{_cups_serverbin}/filter/pdftoraster
381 %attr(755,root,root) %{_cups_serverbin}/filter/rastertoescpx
382 %attr(755,root,root) %{_cups_serverbin}/filter/rastertopclm
383 %attr(755,root,root) %{_cups_serverbin}/filter/rastertopclx
384 %attr(755,root,root) %{_cups_serverbin}/filter/rastertopdf
385 %attr(755,root,root) %{_cups_serverbin}/filter/rastertops
386 %attr(755,root,root) %{_cups_serverbin}/filter/svgtopdf
387 %attr(755,root,root) %{_cups_serverbin}/filter/sys5ippprinter
388 %attr(755,root,root) %{_cups_serverbin}/filter/texttopdf
389 %attr(755,root,root) %{_cups_serverbin}/filter/texttops
390 %attr(755,root,root) %{_cups_serverbin}/filter/texttotext
391 %attr(755,root,root) %{_cups_serverbin}/filter/vectortobrf
392 %attr(755,root,root) %{_cups_serverbin}/filter/vectortopdf
393 %attr(755,root,root) %{_cups_serverbin}/filter/vectortoubrl
394 %attr(755,root,root) %{_cups_serverbin}/filter/wmftopdf
395 %attr(755,root,root) %{_cups_serverbin}/filter/xfigtopdf
396 %{_datadir}/cups/banners/*
397 %{_datadir}/cups/charsets
398 %{_datadir}/cups/data/classified.pdf
399 %{_datadir}/cups/data/confidential.pdf
400 %{_datadir}/cups/data/default.pdf
401 %{_datadir}/cups/data/default-testpage.pdf
402 %{_datadir}/cups/data/form_english.pdf
403 %{_datadir}/cups/data/form_english_in.odt
404 %{_datadir}/cups/data/form_russian.pdf
405 %{_datadir}/cups/data/form_russian_in.odt
406 %{_datadir}/cups/data/secret.pdf
407 %{_datadir}/cups/data/standard.pdf
408 %{_datadir}/cups/data/topsecret.pdf
409 %{_datadir}/cups/data/unclassified.pdf
410 %{_datadir}/cups/data/testprint
411 %{_datadir}/cups/drv/cupsfilters.drv
412 %{_datadir}/cups/drv/generic-ubrl.drv
413 %{_datadir}/cups/mime/cupsfilters.types
414 %{_datadir}/cups/mime/cupsfilters.convs
415 %{_datadir}/cups/mime/cupsfilters-ghostscript.convs
416 %{_datadir}/cups/mime/cupsfilters-mupdf.convs
417 %{_datadir}/cups/mime/cupsfilters-poppler.convs
418 # definitions for drivers; pcl.h is used by cupsfilters.drv
419 %{_datadir}/cups/ppdc/escp.h
420 %{_datadir}/cups/ppdc/pcl.h
421 %{_datadir}/ppd/cupsfilters
422 %{_mandir}/man1/driverless.1*
423 %{_mandir}/man1/foomatic-rip.1*
427 %defattr(644,root,root,755)
428 %attr(755,root,root) %{_cups_serverbin}/filter/brftoembosser
429 %attr(755,root,root) %{_cups_serverbin}/filter/imagetobrf
430 %attr(755,root,root) %{_cups_serverbin}/filter/imagetoubrl
431 %attr(755,root,root) %{_cups_serverbin}/filter/imageubrltoindexv3
432 %attr(755,root,root) %{_cups_serverbin}/filter/imageubrltoindexv4
433 %attr(755,root,root) %{_cups_serverbin}/filter/textbrftoindexv3
434 %attr(755,root,root) %{_cups_serverbin}/filter/textbrftoindexv4
435 %attr(755,root,root) %{_cups_serverbin}/filter/texttobrf
436 %dir %{_datadir}/cups/braille
437 %attr(755,root,root) %{_datadir}/cups/braille/cups-braille.sh
438 %attr(755,root,root) %{_datadir}/cups/braille/index.sh
439 %attr(755,root,root) %{_datadir}/cups/braille/indexv3.sh
440 %attr(755,root,root) %{_datadir}/cups/braille/indexv4.sh
441 %{_datadir}/cups/drv/generic-brf.drv
442 %{_datadir}/cups/drv/indexv3.drv
443 %{_datadir}/cups/drv/indexv4.drv
444 %{_datadir}/cups/mime/braille.convs
445 %{_datadir}/cups/mime/braille.types
446 %{_datadir}/cups/ppdc/braille.defs
447 %{_datadir}/cups/ppdc/fr-braille.po
448 %{_datadir}/cups/ppdc/imagemagick.defs
449 %{_datadir}/cups/ppdc/index.defs
450 %{_datadir}/cups/ppdc/liblouis.defs
451 %{_datadir}/cups/ppdc/liblouis1.defs
452 %{_datadir}/cups/ppdc/liblouis2.defs
453 %{_datadir}/cups/ppdc/liblouis3.defs
454 %{_datadir}/cups/ppdc/liblouis4.defs
455 %{_datadir}/cups/ppdc/media-braille.defs
459 %defattr(644,root,root,755)
460 %doc fontembed/README
461 %attr(755,root,root) %{_libdir}/libcupsfilters.so.*.*.*
462 %attr(755,root,root) %ghost %{_libdir}/libcupsfilters.so.1
463 %attr(755,root,root) %{_libdir}/libfontembed.so.*.*.*
464 %attr(755,root,root) %ghost %{_libdir}/libfontembed.so.1
467 %defattr(644,root,root,755)
468 %attr(755,root,root) %{_libdir}/libcupsfilters.so
469 %attr(755,root,root) %{_libdir}/libfontembed.so
470 %{_includedir}/cupsfilters
471 %{_includedir}/fontembed
472 %{_pkgconfigdir}/libcupsfilters.pc
473 %{_pkgconfigdir}/libfontembed.pc
475 %if %{with static_libs}
477 %defattr(644,root,root,755)
478 %{_libdir}/libcupsfilters.a
479 %{_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(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(700,root,root) %{_cups_serverbin}/backend/parallel
495 %files -n cups-backend-serial
496 %defattr(644,root,root,755)
497 %attr(700,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