2 # - build/install java ext ?
4 # - remove obsolete /etc/cups/certs (trigger?)
7 %bcond_with gnutls # use GNU TLS for SSL/TLS support (instead of OpenSSL)
8 %bcond_without php # don't build PHP extension
9 %bcond_without perl # don't build Perl extension
10 %bcond_without static_libs # don't build static library
12 %include /usr/lib/rpm/macros.perl
14 Summary: Common Unix Printing System
15 Summary(pl): Ogólny system druku dla Uniksa
16 Summary(pt_BR): Sistema Unix de Impressão
22 Group: Applications/Printing
23 Source0: http://ftp.easysw.com/pub/cups/%{version}/%{name}-%{version}-source.tar.bz2
24 # Source0-md5: f804995e3f469bdefedc033510f6e6a5
27 Source3: %{name}.logrotate
28 Patch0: %{name}-config.patch
29 Patch1: %{name}-lp-lpr.patch
30 Patch2: %{name}-options.patch
31 Patch3: %{name}-man_pages_linking.patch
32 Patch4: %{name}-nostrip.patch
33 Patch5: %{name}-templates_pl.patch
34 Patch6: %{name}-str1723.patch
35 Patch7: %{name}-str1740.patch
36 Patch8: %{name}-str1736.patch
37 Patch9: %{name}-str1776.patch
38 URL: http://www.cups.org/
39 BuildRequires: acl-devel
40 BuildRequires: autoconf
41 BuildRequires: automake
42 BuildRequires: dbus-devel
43 %{?with_gnutls:BuildRequires: gnutls-devel}
44 BuildRequires: libjpeg-devel
45 BuildRequires: libpng-devel
46 BuildRequires: libstdc++-devel
47 BuildRequires: libtiff-devel
48 BuildRequires: openldap-devel
49 BuildRequires: openslp-devel
50 %{!?with_gnutls:BuildRequires: openssl-devel}
51 BuildRequires: pam-devel
52 %{?with_php:BuildRequires: php-devel >= 4:5.0.0}
53 BuildRequires: pkgconfig
54 BuildRequires: rpm-perlprov
55 BuildRequires: rpmbuild(macros) >= 1.268
56 Requires(post,preun): /sbin/chkconfig
57 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
58 Requires: pam >= 0.77.3
62 Conflicts: ghostscript < 7.05.4
63 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
65 %define _ulibdir %{_prefix}/lib
68 %define _php_configdir /etc/php
69 %define _php_extensiondir %(php-config --extension-dir)
73 CUPS provides a portable printing layer for UNIX-based operating
74 systems. It has been developed by Easy Software Products to promote a
75 standard printing solution for all UNIX vendors and users. CUPS
76 provides the System V and Berkeley command-line interfaces. CUPS uses
77 the Internet Printing Protocol ("IPP") as the basis for managing print
78 jobs and queues. The Line Printer Daemon ("LPD") Server Message Block
79 ("SMB"), and AppSocket (a.k.a. JetDirect) protocols are also supported
80 with reduced functionality. CUPS adds network printer browsing and
81 PostScript Printer Description ("PPD") based printing options to
82 support real-world printing under UNIX.
85 CUPS dostarcza standardowy poziom drukowania dla systemów uniksowych.
86 CUPS u¿ywa protoko³u IPP - Internet Printint Protocol jako podstawy do
87 zarz±dzania zadaniami i kolejkami druku. W ograniczonym zakresie
88 obs³ugiwane s± tak¿e protoko³y LPD (Line Printer Daemon), SMB (Server
89 Message Block) i AppSocket (znany tak¿e jako JetDirect). CUPS
90 udostêpnia przegl±danie drukarek sieciowych i opcje drukowania oparte
91 na PPD (PostScript Printer Description) do obs³ugi rzeczywistych
95 O sistema Unix de impressão (CUPS) fornece uma camada de impressão
96 portável para os sistemas operacionais baseados no UNIX®.
99 Summary: Common Unix Printing System Libraries
100 Summary(pl): Biblioteki dla CUPS
101 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
103 Provides: %{name}-libs = %{epoch}:%{version}-%{release}
108 Common Unix Printing System Libraries.
110 %description lib -l pl
113 %description lib -l pt_BR
114 Bibliotecas CUPS requeridas pelos clientes CUPS.
117 Summary: Common Unix Printing System Clients
118 Summary(pl): Aplikacje klienckie dla CUPS
119 Group: Applications/Printing
120 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
124 Common Unix Printing System Clients.
126 %description clients -l pl
127 Aplikacje klienckie dla CUPS.
130 Summary: Common Unix Printing System Libraries - images manipulation
131 Summary(pl): Biblioteki dla CUPS - obs³uga formatów graficznych
132 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
134 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
137 %description image-lib
138 Common Unix Printing System Libraries - images manupalation.
140 %description image-lib -l pl
141 Biblioteki dla CUPS - obs³uga formatów graficznych.
143 %description image-lib -l pt_BR
144 Bibliotecas CUPS requeridas pelos clientes CUPS.
147 Summary: Common Unix Printing System development files
148 Summary(pl): Ogólny system druku dla Uniksa - pliki nag³ówkowe
149 Summary(pt_BR): Sistema Unix de Impressão - ambiente de desenvolvimento
150 Group: Development/Libraries
151 Requires: %{name}-image-lib = %{epoch}:%{version}-%{release}
152 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
153 Obsoletes: libcups1-devel
156 Common Unix Printing System development files.
158 %description devel -l pl
159 Ogólny system druku dla Uniksa - pliki nag³ówkowe.
161 %description devel -l pt_BR
162 Este pacote é um adicional que contem um ambiente de desenvolvimento
163 para a criação de suporte a novas impressoras e novos serviços ao
167 Summary: Common Unix Printing System static libraries
168 Summary(pl): Ogólny system druku dla Uniksa - biblioteki statyczne
169 Summary(pt_BR): Common Unix Printing System - bibliotecas estáticas
170 Group: Development/Libraries
171 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
174 Common Unix Printing System static libraries.
176 %description static -l pl
177 Ogólny system druku dla Uniksa - biblioteki statyczne.
179 %description static -l pt_BR
180 Bibliotecas estáticas para desenvolvimento de programas que usam as
183 %package -n perl-cups
184 Summary: Perl module for CUPS
185 Summary(pl): Modu³ Perla CUPS
186 Group: Development/Languages/Perl
187 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
189 %description -n perl-cups
190 Perl module for Common Unix Printing System.
192 %description -n perl-cups -l pl
193 Modu³ Perla do ogólnego systemu druku dla Uniksa.
196 Summary: PHP module for CUPS
197 Summary(pl): Modu³ PHP CUPS
198 Group: Development/Languages/PHP
199 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
200 Requires: php-common >= 4:5.0.0
202 %description -n php-cups
203 PHP module for Common Unix Printing System.
205 %description -n php-cups -l pl
206 Modu³ PHP do ogólnego systemu druku dla Uniksa.
209 Summary: USB backend for CUPS
210 Summary(pl): Backend USB dla CUPS-a
211 Group: Applications/Printing
212 Requires: %{name} = %{epoch}:%{version}-%{release}
214 %description backend-usb
215 This package allow CUPS printing on USB printers.
217 %description backend-usb -l pl
218 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach USB.
220 %package backend-serial
221 Summary: Serial port backend for CUPS
222 Summary(pl): Backend obs³uguj±cy porty szeregowe dla CUPS-a
223 Group: Applications/Printing
224 Requires: %{name} = %{epoch}:%{version}-%{release}
226 %description backend-serial
227 This package allow CUPS printing on printers connected by serial
230 %description backend-serial -l pl
231 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
232 pod³±czonych do portów szeregowych.
234 %package backend-parallel
235 Summary: Parallel port backend for CUPS
236 Summary(pl): Backend obs³uguj±cy porty równoleg³e dla CUPS-a
237 Group: Applications/Printing
238 Requires: %{name} = %{epoch}:%{version}-%{release}
240 %description backend-parallel
241 This package allow CUPS printing on printers connected by parallel
244 %description backend-parallel -l pl
245 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
246 pod³±czonych do portów równoleg³ych.
262 %{__aclocal} -I config-scripts
265 --libdir=%{_ulibdir} \
267 %{?with_static_libs:--enable-static} \
269 --%{?with_gnutls:dis}%{!?with_gnutls:en}able-openssl \
270 --%{!?with_gnutls:dis}%{?with_gnutls:en}able-gnutls \
273 %{?debug:--enable-debug} \
274 --with-docdir=%{_ulibdir}/%{name}/cgi-bin \
275 %{?with_php:--with-php}
279 %{__perl} -pi -e 's#-I\.\.\/\.\.#-I../.. -I../../cups#g' scripting/php/Makefile
280 %{?with_php:%{__make} -C scripting/php PHPCONFIG=%{_bindir}/php-config}
284 %{__perl} -pi -e 's@-lcups@-L../../cups $1@' Makefile.PL
285 %{__perl} Makefile.PL \
287 OPTIMIZE="%{rpmcflags} -I../.."
288 # avoid rpaths generated by MakeMaker
289 %{__perl} -pi -e 's@LD_RUN_PATH="\$\(LD_RUN_PATH\)" @@' Makefile
296 rm -rf $RPM_BUILD_ROOT
297 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,pam.d,logrotate.d,security} \
298 $RPM_BUILD_ROOT/var/log/{,archiv/}cups
301 BUILDROOT=$RPM_BUILD_ROOT \
305 if [ "%{_lib}" != "lib" ] ; then
306 install -d $RPM_BUILD_ROOT%{_libdir}
307 mv $RPM_BUILD_ROOT%{_ulibdir}/*.so* $RPM_BUILD_ROOT%{_libdir}
308 mv $RPM_BUILD_ROOT%{_ulibdir}/*.a $RPM_BUILD_ROOT%{_libdir}
312 %{__make} -C scripting/php install \
313 PHPDIR=$RPM_BUILD_ROOT%{_php_extensiondir}
314 install -d $RPM_BUILD_ROOT%{_php_configdir}/conf.d
315 cat > $RPM_BUILD_ROOT%{_php_configdir}/conf.d/phpcups.ini << EOF
316 ; Enable phpcups extension module
324 DESTDIR=$RPM_BUILD_ROOT
328 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
329 install %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/%{name}
330 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
332 gzip -9nf $RPM_BUILD_ROOT%{_datadir}/%{name}/model/*.ppd
334 touch $RPM_BUILD_ROOT/var/log/cups/{access_log,error_log,page_log}
335 touch $RPM_BUILD_ROOT/etc/security/blacklist.cups
336 touch $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{classes,printers,client}.conf
338 # windows drivers can be put there.
339 install -d $RPM_BUILD_ROOT%{_datadir}/cups/drivers
341 touch $RPM_BUILD_ROOT/var/cache/cups/help.index
342 touch $RPM_BUILD_ROOT/var/cache/cups/{job,remote}.cache
343 touch $RPM_BUILD_ROOT/var/cache/cups/ppds.dat
344 install -d $RPM_BUILD_ROOT/etc/cups/ssl
346 # post-strip can't work on readonly files
347 chmod u+w $RPM_BUILD_ROOT%{perl_vendorarch}/auto/CUPS/CUPS.so
349 # check-files cleanup
350 rm -rf $RPM_BUILD_ROOT%{_mandir}/{,es/,fr/}cat?
351 rm -rf $RPM_BUILD_ROOT/etc/{init.d,rc?.d}/*
352 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/cupsd.conf.default
355 rm -rf $RPM_BUILD_ROOT
358 /sbin/chkconfig --add cups
359 %service cups restart "cups daemon"
362 if [ "$1" = "0" ]; then
364 /sbin/chkconfig --del cups
367 %post lib -p /sbin/ldconfig
368 %postun lib -p /sbin/ldconfig
369 %post image-lib -p /sbin/ldconfig
370 %postun image-lib -p /sbin/ldconfig
373 [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
374 [ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart
377 if [ "$1" = 0 ]; then
378 [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
379 [ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart
383 %defattr(644,root,root,755)
384 #%doc *.gz doc/*.html doc/*.css doc/images
386 %attr(640,root,root) %config %verify(not md5 mtime size) /etc/pam.d/*
387 %attr(754,root,root) /etc/rc.d/init.d/cups
388 /etc/dbus-1/system.d/cups.conf
389 %attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/classes.conf
390 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/cupsd.conf
391 %attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/printers.conf
392 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.convs
393 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.types
394 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.cups
395 %dir %attr(700,root,lp) %{_sysconfdir}/%{name}/ssl
396 %dir %{_sysconfdir}/%{name}/interfaces
397 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}/ppd
398 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
399 %attr(4755,lp,root) %{_bindir}/lppasswd
400 %attr(755,root,root) %{_bindir}/cupstestppd
401 %attr(755,root,root) %{_bindir}/cupstestdsc
402 %attr(755,root,root) %{_sbindir}/cupsd
404 %dir %{_ulibdir}/cups
405 %dir %{_ulibdir}/cups/*
406 %{_ulibdir}/cups/cgi-bin/help
407 %{_ulibdir}/cups/cgi-bin/images
408 %attr(755,root,root) %{_ulibdir}/cups/cgi-bin/*.cgi
409 %{_ulibdir}/cups/cgi-bin/*.css
410 %{_ulibdir}/cups/cgi-bin/*.html
411 %{_ulibdir}/cups/cgi-bin/*.ico
412 %{_ulibdir}/cups/cgi-bin/*.txt
413 %lang(es) %{_ulibdir}/cups/cgi-bin/es
414 %lang(ja) %{_ulibdir}/cups/cgi-bin/ja
415 %lang(pl) %{_ulibdir}/cups/cgi-bin/pl
416 %lang(sv) %{_ulibdir}/cups/cgi-bin/sv
418 %exclude %{_ulibdir}/cups/backend/usb
419 %exclude %{_ulibdir}/cups/backend/serial
420 %exclude %{_ulibdir}/cups/backend/parallel
421 %attr(755,root,root) %{_ulibdir}/cups/backend/*
422 %attr(755,root,root) %{_ulibdir}/cups/daemon/*
423 %attr(755,root,root) %{_ulibdir}/cups/filter/*
424 %attr(755,root,root) %{_ulibdir}/cups/monitor/*
425 %attr(755,root,root) %{_ulibdir}/cups/notifier/*
427 %dir %{_datadir}/cups
428 %{_datadir}/cups/banners
429 %{_datadir}/cups/charmaps
430 %{_datadir}/cups/charsets
431 %{_datadir}/cups/data
432 %{_datadir}/cups/drivers
433 %{_datadir}/cups/fonts
434 %{_datadir}/cups/model
435 %dir %{_datadir}/cups/templates
436 %{_datadir}/cups/templates/*.tmpl
437 %lang(es) %{_datadir}/cups/templates/es
438 %lang(ja) %{_datadir}/cups/templates/ja
439 %lang(pl) %{_datadir}/cups/templates/pl
440 %lang(sv) %{_datadir}/cups/templates/sv
441 %{_mandir}/man7/backend.7*
442 %{_mandir}/man1/cupstestppd.1*
443 %{_mandir}/man1/cupstestdsc.1*
444 %{_mandir}/man7/filter.7*
445 %{_mandir}/man1/lppasswd.1*
447 %lang(es) %{_datadir}/locale/es/cups_es.po
448 %lang(ja) %{_datadir}/locale/ja/cups_ja.po
449 %lang(pl) %{_datadir}/locale/pl/cups_pl.po
450 %lang(sv) %{_datadir}/locale/sv/cups_sv.po
452 %dir %attr(775,root,lp) /var/cache/cups
453 %dir %attr(755,root,lp) /var/run/cups
454 %dir %attr(511,lp,sys) /var/run/cups/certs
455 %dir %attr(710,root,lp) /var/spool/cups
456 %dir %attr(1770,root,lp) /var/spool/cups/tmp
457 %attr(600,lp,lp) %ghost /var/cache/cups/help.index
458 %attr(640,root,lp) %ghost /var/cache/cups/job.cache
459 %attr(600,lp,lp) %ghost /var/cache/cups/ppds.dat
460 %attr(640,root,lp) %ghost /var/cache/cups/remote.cache
461 %attr(750,root,logs) %dir /var/log/archiv/cups
462 %attr(750,root,logs) %dir /var/log/cups
463 %attr(640,root,logs) %ghost /var/log/cups/access_log
464 %attr(640,root,logs) %ghost /var/log/cups/error_log
465 %attr(640,root,logs) %ghost /var/log/cups/page_log
468 %defattr(644,root,root,755)
469 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}
470 %attr(755,root,root) %{_libdir}/libcups.so.*
473 %defattr(644,root,root,755)
474 %attr(644,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/client.conf
475 %attr(755,root,root) %{_bindir}/cancel
476 %attr(755,root,root) %{_bindir}/lp
477 %attr(755,root,root) %{_bindir}/lpoptions
478 %attr(755,root,root) %{_bindir}/lpq
479 %attr(755,root,root) %{_bindir}/lpr
480 %attr(755,root,root) %{_bindir}/lprm
481 %attr(755,root,root) %{_bindir}/lpstat
482 %attr(755,root,root) %{_sbindir}/accept
483 %attr(755,root,root) %{_sbindir}/cupsaddsmb
484 %attr(755,root,root) %{_sbindir}/lpadmin
485 %attr(755,root,root) %{_sbindir}/lpc
486 %attr(755,root,root) %{_sbindir}/lpinfo
487 %attr(755,root,root) %{_sbindir}/lpmove
488 %attr(755,root,root) %{_sbindir}/reject
489 %{_mandir}/man1/cancel.1*
490 %{_mandir}/man1/lp.1*
491 %{_mandir}/man1/lpoptions.1*
492 %{_mandir}/man1/lpq.1*
493 %{_mandir}/man1/lpr.1*
494 %{_mandir}/man1/lprm.1*
495 %{_mandir}/man1/lpstat.1*
496 #%lang(fr) %{_mandir}/fr/man1/cancel.1*
497 #%lang(fr) %{_mandir}/fr/man1/lp.1*
498 #%lang(fr) %{_mandir}/fr/man1/lpoptions.1*
499 #%lang(fr) %{_mandir}/fr/man1/lpq.1*
500 #%lang(fr) %{_mandir}/fr/man1/lpr.1*
501 #%lang(fr) %{_mandir}/fr/man1/lprm.1*
502 #%lang(fr) %{_mandir}/fr/man1/lpstat.1*
503 #%lang(es) %{_mandir}/es/man1/lp.1*
504 #%lang(es) %{_mandir}/es/man1/lpoptions.1*
505 #%lang(es) %{_mandir}/es/man1/lpq.1*
506 #%lang(es) %{_mandir}/es/man1/lpr.1*
507 #%lang(es) %{_mandir}/es/man1/lprm.1*
508 #%lang(es) %{_mandir}/es/man1/lpstat.1*
511 %defattr(644,root,root,755)
512 %attr(755,root,root) %{_libdir}/libcupsimage.so.*
515 %defattr(644,root,root,755)
516 %attr(755,root,root) %{_bindir}/cups-config
519 %{_mandir}/man1/cups-config*
521 #%lang(fr) %{_mandir}/fr/man1/cups-config*
522 #%lang(es) %{_mandir}/es/man1/cups-config*
524 %if %{with static_libs}
526 %defattr(644,root,root,755)
532 %defattr(644,root,root,755)
533 %{perl_vendorarch}/*.pm
534 %dir %{perl_vendorarch}/auto/CUPS
535 %{perl_vendorarch}/auto/CUPS/*.bs
536 %{perl_vendorarch}/auto/CUPS/autosplit.ix
537 %attr(755,root,root) %{perl_vendorarch}/auto/CUPS/*.so
542 %defattr(644,root,root,755)
543 %doc scripting/php/README
544 %attr(755,root,root) %{_php_extensiondir}/*
545 %config(noreplace) %verify(not md5 mtime size) %{_php_configdir}/conf.d/phpcups.ini
549 %defattr(644,root,root,755)
550 %attr(755,root,root) %{_ulibdir}/cups/backend/usb
552 %files backend-serial
553 %defattr(644,root,root,755)
554 %attr(755,root,root) %{_ulibdir}/cups/backend/serial
556 %files backend-parallel
557 %defattr(644,root,root,755)
558 %attr(755,root,root) %{_ulibdir}/cups/backend/parallel