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: 914fb53d31ff8500dc25d2e2c68ca5c1
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: freetype-devel >= 2
41 BuildRequires: gettext-tools >= 0.18.3
42 # /usr/bin/gs, for features detection
43 BuildRequires: ghostscript
44 BuildRequires: glib2-devel >= 1:2.30.2
45 BuildRequires: lcms2-devel >= 2
46 BuildRequires: libjpeg-devel
47 %{?with_braille:BuildRequires: liblouis-devel}
48 BuildRequires: libpng-devel
49 BuildRequires: libstdc++-devel >= 6:4.7
50 BuildRequires: libtiff-devel
51 BuildRequires: libtool
52 BuildRequires: openldap-devel
53 %{?with_perl:BuildRequires: perl-devel}
54 %{?with_php:BuildRequires: %{php_name}-devel}
55 BuildRequires: pkgconfig >= 1:0.20
56 BuildRequires: poppler-cpp-devel >= 0.19
57 # /usr/bin/pdftops, for features detection
58 BuildRequires: poppler-progs >= 0.19
59 BuildRequires: qpdf-devel >= 8.3.0
60 BuildRequires: rpmbuild(macros) >= 1.671
61 BuildRequires: zlib-devel
62 # DejaVuSans.ttf (testing font for test scripts)
63 #BuildRequires: fonts-TTF-DejaVu
64 Requires: %{name}-libs = %{version}-%{release}
67 Requires: cups >= 1:1.6.0
68 Requires: fontconfig >= 2.0.0
72 Requires: poppler >= 0.19
73 Requires: poppler-progs >= 0.19
74 Requires: qpdf-libs >= 8.3.0
76 Suggests: fonts-TTF-freefont
77 Provides: cups-filter-foomatic
78 Provides: ghostscript-cups = 9.08
79 Obsoletes: cups-filter-foomatic
80 Obsoletes: foomatic-filters
81 Obsoletes: ghostscript-cups < 9.08
82 Conflicts: cups-backend-hp < 3.13.11-2
83 Conflicts: hplip-ppd < 3.13.11-2
84 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
86 %define _cups_serverbin %(/usr/bin/cups-config --serverbin)
89 Contains backends, filters, and other software that was once part of
90 the core CUPS distribution but is no longer maintained by Apple Inc.
91 In addition it contains additional filters developed independently of
92 Apple, especially filters for the PDF-centric printing workflow
93 introduced by OpenPrinting.
95 %description -l pl.UTF-8
96 Ten pakiet zawiera backendy, filtry i inne oprogramowanie, będące
97 kiedyś częścią CUPS-a, ale nie utrzymywane już przez firmę Apple Inc.
98 Dodatkowo pakiet zawiera dodatkowe filtry stworzone niezależnie od
99 Apple'a, w szczególności filtry dla PDF-ocentrycznego obiegu
100 drukowania wprowadzonego przez OpenPrinting.
103 Summary: OpenPrinting CUPS filters for Braille embossers
104 Summary(pl.UTF-8): Filtry CUPS-a z projektu OpenPrinting dla drukarek Braille'a
105 Group: Applications/Printing
106 Requires: %{name} = %{version}-%{release}
109 OpenPrinting CUPS filters for Braille embossers.
111 %description braille -l pl.UTF-8
112 Filtry CUPS-a z projektu OpenPrinting dla drukarek Braille'a.
115 Summary: OpenPrinting CUPS filters and backends - cupsfilters and fontembed libraries
116 Summary(pl.UTF-8): Filtry i backendy CUPS-a z projektu OpenPrinting - biblioteki cupsfilters i fontembed
117 # LGPLv2: libcupsfilters
119 License: LGPL v2, MIT
121 Requires: cups-lib >= 1:1.6.0
124 This package provides cupsfilters and fontembed libraries.
126 %description libs -l pl.UTF-8
127 Ten pakiet udostępnia biblioteki cupsfilters i fontembed.
130 Summary: OpenPrinting CUPS filters and backends - development environment
131 Summary(pl.UTF-8): Filtry i backendy CUPS-a z projektu OpenPrinting - środowisko programistyczne
132 License: LGPL v2, MIT
133 Group: Development/Libraries
134 Requires: %{name}-libs = %{version}-%{release}
135 Requires: cups-devel >= 1:1.6.0
136 Requires: libjpeg-devel
137 Requires: libpng-devel
138 Requires: libtiff-devel
141 This is the development package for OpenPrinting CUPS filters and
144 %description devel -l pl.UTF-8
145 To jest pakiet programistyczny dla filtrów i backendów CUPS-a z
146 projektu OpenPrinting.
149 Summary: OpenPrinting CUPS filters and backends - static cupsfilters and fontembed libraries
150 Summary(pl.UTF-8): Filtry i backendy CUPS-a z projektu OpenPrinting - statyczne biblioteki cupsfilters i fontembed
151 License: LGPL v2, MIT
152 Group: Development/Libraries
153 Requires: %{name}-devel = %{version}-%{release}
156 This package provides static cupsfilters and fontembed libraries.
158 %description static -l pl.UTF-8
159 Ten pakiet udostępnia statyczne biblioteki cupsfilters i fontembed.
161 %package -n cups-browsed
162 Summary: A daemon for browsing the Bonjour broadcasts of shared, remote CUPS printers
163 Summary(pl.UTF-8): Demon do przeglądania broadcastów Bonjour współdzielonych, zdalnych drukarek CUPS
164 Group: Applications/Printing
165 Requires(post,preun): /sbin/chkconfig
166 Requires(post,preun,postun): systemd-units
167 Requires: glib2 >= 1:2.30.2
168 Requires: systemd-units >= 38
170 %description -n cups-browsed
171 A daemon for browsing the Bonjour broadcasts of shared, remote CUPS
174 %description -n cups-browsed -l pl.UTF-8
175 Demon do przeglądania broadcastów Bonjour współdzielonych, zdalnych
178 %package -n cups-backend-parallel
179 Summary: Parallel port backend for CUPS
180 Summary(pl.UTF-8): Backend CUPS-a obsługujący porty równoległe
181 # must be larger than cups.spec before 1.6.0
183 License: GPL v2 + OpenSSL exception
184 Group: Applications/Printing
185 Requires: cups >= 1:1.6.0
187 %description -n cups-backend-parallel
188 This package allow CUPS printing on printers connected by parallel
191 %description -n cups-backend-parallel -l pl.UTF-8
192 Ten pakiet umożliwia drukowanie z poziomu CUPS-a na drukarkach
193 podłączonych do portów równoległych.
195 %package -n cups-backend-serial
196 Summary: Serial port backend for CUPS
197 Summary(pl.UTF-8): Backend CUPS-a obsługujący porty szeregowe
198 # must be larger than cups.spec before 1.6.0
200 License: GPL v2 + OpenSSL exception
201 Group: Applications/Printing
202 Requires: cups >= 1:1.6.0
204 %description -n cups-backend-serial
205 This package allow CUPS printing on printers connected by serial
208 %description -n cups-backend-serial -l pl.UTF-8
209 Ten pakiet umożliwia drukowanie z poziomu CUPS-a na drukarkach
210 podłączonych do portów szeregowych.
212 %package -n perl-cups
213 Summary: Perl module for CUPS
214 Summary(pl.UTF-8): Moduł Perla CUPS
215 # must be larger than cups.spec before 1.6.0
217 License: GPL v2 + OpenSSL exception
218 Group: Development/Languages/Perl
219 Requires: cups-lib >= 1:1.6.0
221 %description -n perl-cups
222 Perl module for Common Unix Printing System.
224 %description -n perl-cups -l pl.UTF-8
225 Moduł Perla do ogólnego systemu druku dla Uniksa.
227 %package -n %{php_name}-cups
228 Summary: PHP module for CUPS
229 Summary(pl.UTF-8): Moduł PHP CUPS
230 # must be larger than cups.spec before 1.6.0
232 License: GPL v2 + OpenSSL exception
233 Group: Development/Languages/PHP
234 Requires: cups-lib >= 1:1.6.0
235 %{?requires_php_extension}
237 %description -n %{php_name}-cups
238 PHP module for Common Unix Printing System.
240 %description -n %{php_name}-cups -l pl.UTF-8
241 Moduł PHP do ogólnego systemu druku dla Uniksa.
243 # CREATE ANY NEW PACKAGES BEFORE cups-backend-* (EPOCH)
257 %{!?with_braille:--disable-braille} \
259 --disable-silent-rules \
260 %{!?with_static_libs:--disable-static} \
261 %{?with_php:--with-php} \
262 --with-pdftops=hybrid \
263 --with-rcdir=/etc/rc.d/init.d \
265 --with-mutool-path=/usr/bin/mutool \
266 --with-test-font-path=/usr/share/fonts/TTF/DejaVuSans.ttf
272 %{__perl} Makefile.PL \
274 OPTIMIZE="%{rpmcflags}"
281 rm -rf $RPM_BUILD_ROOT
282 install -d $RPM_BUILD_ROOT%{systemdunitdir}
284 DESTDIR=$RPM_BUILD_ROOT
287 install -d $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d
288 cat > $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/phpcups.ini << 'EOF'
289 ; Enable phpcups extension module
290 extension=libphpcups.so
293 %{__rm} $RPM_BUILD_ROOT%{php_extensiondir}/libphpcups.la
297 %{__make} -C scripting/perl install \
298 DESTDIR=$RPM_BUILD_ROOT
301 install -p utils/cups-browsed.service $RPM_BUILD_ROOT%{systemdunitdir}
303 # obsoleted by pkg-config
304 %{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la
306 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/cups-filters
307 # Not sure what is this good for.
308 %{__rm} $RPM_BUILD_ROOT%{_bindir}/ttfread
311 rm -rf $RPM_BUILD_ROOT
313 %post libs -p /sbin/ldconfig
314 %postun libs -p /sbin/ldconfig
316 %post -n cups-browsed
317 if [ "$1" = "1" ]; then
318 # We can remove this after few releases, it's just for the introduction of cups-browsed.
319 if [ -f %{_sysconfdir}/cups/cups-browsed.conf ]; then
320 echo -e "\n# NOTE: This file is not part of CUPS. You need to start & enable cups-browsed service." >>%{_sysconfdir}/cups/cups-browsed.conf
323 # move BrowsePoll from cupsd.conf to cups-browsed.conf
324 if [ -f %{_sysconfdir}/cups/cupsd.conf ] && grep -iq "^BrowsePoll" %{_sysconfdir}/cups/cupsd.conf; then
325 if ! grep -iq "^BrowsePoll" %{_sysconfdir}/cups/cups-browsed.conf; then
326 echo "# Settings automatically moved from cupsd.conf by RPM package:" >>%{_sysconfdir}/cups/cups-browsed.conf
327 grep -i "^BrowsePoll" %{_sysconfdir}/cups/cupsd.conf >> %{_sysconfdir}/cups/cups-browsed.conf || :
329 sed -i -e "s,^BrowsePoll,#BrowsePoll directive moved to cups-browsed.conf\n#BrowsePoll,i" %{_sysconfdir}/cups/cupsd.conf || :
332 /sbin/chkconfig --add cups-browsed
333 %service cups-browsed restart
334 %systemd_post cups-browsed.service
336 %preun -n cups-browsed
337 if [ "$1" = "0" ]; then
338 %service cups-browsed stop
339 /sbin/chkconfig --del cups-browsed
341 %systemd_preun cups-browsed.service
343 %postun -n cups-browsed
347 %defattr(644,root,root,755)
348 %doc AUTHORS COPYING NEWS README
349 %attr(755,root,root) %{_bindir}/driverless
350 %attr(755,root,root) %{_bindir}/driverless-fax
351 %attr(755,root,root) %{_bindir}/foomatic-rip
352 %attr(700,root,root) %{_cups_serverbin}/backend/beh
353 %attr(700,root,root) %{_cups_serverbin}/backend/cups-brf
354 %attr(700,root,root) %{_cups_serverbin}/backend/driverless
355 %attr(700,root,root) %{_cups_serverbin}/backend/driverless-fax
356 %attr(700,root,root) %{_cups_serverbin}/backend/implicitclass
357 %attr(755,root,root) %{_cups_serverbin}/driver/driverless
358 %attr(755,root,root) %{_cups_serverbin}/driver/driverless-fax
359 %attr(755,root,root) %{_cups_serverbin}/filter/bannertopdf
360 %attr(755,root,root) %{_cups_serverbin}/filter/brftopagedbrf
361 %attr(755,root,root) %{_cups_serverbin}/filter/cgmtopdf
362 %attr(755,root,root) %{_cups_serverbin}/filter/cmxtopdf
363 %attr(755,root,root) %{_cups_serverbin}/filter/commandtoescpx
364 %attr(755,root,root) %{_cups_serverbin}/filter/commandtopclx
365 %attr(755,root,root) %{_cups_serverbin}/filter/emftopdf
366 %attr(755,root,root) %{_cups_serverbin}/filter/foomatic-rip
367 %attr(755,root,root) %{_cups_serverbin}/filter/gstopdf
368 %attr(755,root,root) %{_cups_serverbin}/filter/gstopxl
369 %attr(755,root,root) %{_cups_serverbin}/filter/gstoraster
370 %attr(755,root,root) %{_cups_serverbin}/filter/imagetopdf
371 %attr(755,root,root) %{_cups_serverbin}/filter/imagetops
372 %attr(755,root,root) %{_cups_serverbin}/filter/imagetoraster
373 %attr(755,root,root) %{_cups_serverbin}/filter/mupdftoraster
374 %attr(755,root,root) %{_cups_serverbin}/filter/musicxmltobrf
375 %attr(755,root,root) %{_cups_serverbin}/filter/pdftopdf
376 %attr(755,root,root) %{_cups_serverbin}/filter/pdftops
377 %attr(755,root,root) %{_cups_serverbin}/filter/pdftoraster
378 %attr(755,root,root) %{_cups_serverbin}/filter/rastertoescpx
379 %attr(755,root,root) %{_cups_serverbin}/filter/rastertopclm
380 %attr(755,root,root) %{_cups_serverbin}/filter/rastertopclx
381 %attr(755,root,root) %{_cups_serverbin}/filter/rastertopdf
382 %attr(755,root,root) %{_cups_serverbin}/filter/rastertops
383 %attr(755,root,root) %{_cups_serverbin}/filter/svgtopdf
384 %attr(755,root,root) %{_cups_serverbin}/filter/sys5ippprinter
385 %attr(755,root,root) %{_cups_serverbin}/filter/texttopdf
386 %attr(755,root,root) %{_cups_serverbin}/filter/texttops
387 %attr(755,root,root) %{_cups_serverbin}/filter/texttotext
388 %attr(755,root,root) %{_cups_serverbin}/filter/vectortobrf
389 %attr(755,root,root) %{_cups_serverbin}/filter/vectortopdf
390 %attr(755,root,root) %{_cups_serverbin}/filter/vectortoubrl
391 %attr(755,root,root) %{_cups_serverbin}/filter/wmftopdf
392 %attr(755,root,root) %{_cups_serverbin}/filter/xfigtopdf
393 %{_datadir}/cups/banners/*
394 %{_datadir}/cups/charsets
395 %{_datadir}/cups/data/classified.pdf
396 %{_datadir}/cups/data/confidential.pdf
397 %{_datadir}/cups/data/default.pdf
398 %{_datadir}/cups/data/default-testpage.pdf
399 %{_datadir}/cups/data/form_english.pdf
400 %{_datadir}/cups/data/form_english_in.odt
401 %{_datadir}/cups/data/form_russian.pdf
402 %{_datadir}/cups/data/form_russian_in.odt
403 %{_datadir}/cups/data/secret.pdf
404 %{_datadir}/cups/data/standard.pdf
405 %{_datadir}/cups/data/topsecret.pdf
406 %{_datadir}/cups/data/unclassified.pdf
407 %{_datadir}/cups/data/testprint
408 %{_datadir}/cups/drv/cupsfilters.drv
409 %{_datadir}/cups/drv/generic-ubrl.drv
410 %{_datadir}/cups/mime/cupsfilters.types
411 %{_datadir}/cups/mime/cupsfilters.convs
412 %{_datadir}/cups/mime/cupsfilters-ghostscript.convs
413 %{_datadir}/cups/mime/cupsfilters-mupdf.convs
414 %{_datadir}/cups/mime/cupsfilters-poppler.convs
415 # definitions for drivers; pcl.h is used by cupsfilters.drv
416 %{_datadir}/cups/ppdc/escp.h
417 %{_datadir}/cups/ppdc/pcl.h
418 %{_datadir}/ppd/cupsfilters
419 %{_mandir}/man1/driverless.1*
420 %{_mandir}/man1/foomatic-rip.1*
424 %defattr(644,root,root,755)
425 %attr(755,root,root) %{_cups_serverbin}/filter/brftoembosser
426 %attr(755,root,root) %{_cups_serverbin}/filter/imagetobrf
427 %attr(755,root,root) %{_cups_serverbin}/filter/imagetoubrl
428 %attr(755,root,root) %{_cups_serverbin}/filter/imageubrltoindexv3
429 %attr(755,root,root) %{_cups_serverbin}/filter/imageubrltoindexv4
430 %attr(755,root,root) %{_cups_serverbin}/filter/textbrftoindexv3
431 %attr(755,root,root) %{_cups_serverbin}/filter/textbrftoindexv4
432 %attr(755,root,root) %{_cups_serverbin}/filter/texttobrf
433 %dir %{_datadir}/cups/braille
434 %attr(755,root,root) %{_datadir}/cups/braille/cups-braille.sh
435 %attr(755,root,root) %{_datadir}/cups/braille/index.sh
436 %attr(755,root,root) %{_datadir}/cups/braille/indexv3.sh
437 %attr(755,root,root) %{_datadir}/cups/braille/indexv4.sh
438 %{_datadir}/cups/drv/generic-brf.drv
439 %{_datadir}/cups/drv/indexv3.drv
440 %{_datadir}/cups/drv/indexv4.drv
441 %{_datadir}/cups/mime/braille.convs
442 %{_datadir}/cups/mime/braille.types
443 %{_datadir}/cups/ppdc/braille.defs
444 %{_datadir}/cups/ppdc/fr-braille.po
445 %{_datadir}/cups/ppdc/imagemagick.defs
446 %{_datadir}/cups/ppdc/index.defs
447 %{_datadir}/cups/ppdc/liblouis.defs
448 %{_datadir}/cups/ppdc/liblouis1.defs
449 %{_datadir}/cups/ppdc/liblouis2.defs
450 %{_datadir}/cups/ppdc/liblouis3.defs
451 %{_datadir}/cups/ppdc/liblouis4.defs
452 %{_datadir}/cups/ppdc/media-braille.defs
456 %defattr(644,root,root,755)
457 %doc fontembed/README
458 %attr(755,root,root) %{_libdir}/libcupsfilters.so.*.*.*
459 %attr(755,root,root) %ghost %{_libdir}/libcupsfilters.so.1
460 %attr(755,root,root) %{_libdir}/libfontembed.so.*.*.*
461 %attr(755,root,root) %ghost %{_libdir}/libfontembed.so.1
464 %defattr(644,root,root,755)
465 %attr(755,root,root) %{_libdir}/libcupsfilters.so
466 %attr(755,root,root) %{_libdir}/libfontembed.so
467 %{_includedir}/cupsfilters
468 %{_includedir}/fontembed
469 %{_pkgconfigdir}/libcupsfilters.pc
470 %{_pkgconfigdir}/libfontembed.pc
472 %if %{with static_libs}
474 %defattr(644,root,root,755)
475 %{_libdir}/libcupsfilters.a
476 %{_libdir}/libfontembed.a
479 %files -n cups-browsed
480 %defattr(644,root,root,755)
481 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cups/cups-browsed.conf
482 %attr(755,root,root) %{_sbindir}/cups-browsed
483 %attr(754,root,root) /etc/rc.d/init.d/cups-browsed
484 %{systemdunitdir}/cups-browsed.service
485 %{_mandir}/man5/cups-browsed.conf.5*
486 %{_mandir}/man8/cups-browsed.8*
488 %files -n cups-backend-parallel
489 %defattr(644,root,root,755)
490 %attr(700,root,root) %{_cups_serverbin}/backend/parallel
492 %files -n cups-backend-serial
493 %defattr(644,root,root,755)
494 %attr(700,root,root) %{_cups_serverbin}/backend/serial
498 %defattr(644,root,root,755)
499 %doc scripting/perl/README
500 %{perl_vendorarch}/CUPS.pm
501 %dir %{perl_vendorarch}/auto/CUPS
502 %{perl_vendorarch}/auto/CUPS/autosplit.ix
503 %attr(755,root,root) %{perl_vendorarch}/auto/CUPS/CUPS.so
504 %{_mandir}/man3/CUPS.3pm*
508 %files -n %{php_name}-cups
509 %defattr(644,root,root,755)
510 %doc scripting/php/README
511 %config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/phpcups.ini
512 %attr(755,root,root) %{php_extensiondir}/libphpcups.so