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 URL: http://www.cups.org/
38 BuildRequires: acl-devel
39 BuildRequires: autoconf
40 BuildRequires: automake
41 BuildRequires: dbus-devel
42 %{?with_gnutls:BuildRequires: gnutls-devel}
43 BuildRequires: libjpeg-devel
44 BuildRequires: libpng-devel
45 BuildRequires: libstdc++-devel
46 BuildRequires: libtiff-devel
47 BuildRequires: openldap-devel
48 BuildRequires: openslp-devel
49 %{!?with_gnutls:BuildRequires: openssl-devel}
50 BuildRequires: pam-devel
51 %{?with_php:BuildRequires: php-devel >= 4:5.0.0}
52 BuildRequires: pkgconfig
53 BuildRequires: rpm-perlprov
54 BuildRequires: rpmbuild(macros) >= 1.268
55 Requires(post,preun): /sbin/chkconfig
56 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
57 Requires: pam >= 0.77.3
61 Conflicts: ghostscript < 7.05.4
62 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
64 %define _ulibdir %{_prefix}/lib
67 %define _php_configdir /etc/php
68 %define _php_extensiondir %(php-config --extension-dir)
72 CUPS provides a portable printing layer for UNIX-based operating
73 systems. It has been developed by Easy Software Products to promote a
74 standard printing solution for all UNIX vendors and users. CUPS
75 provides the System V and Berkeley command-line interfaces. CUPS uses
76 the Internet Printing Protocol ("IPP") as the basis for managing print
77 jobs and queues. The Line Printer Daemon ("LPD") Server Message Block
78 ("SMB"), and AppSocket (a.k.a. JetDirect) protocols are also supported
79 with reduced functionality. CUPS adds network printer browsing and
80 PostScript Printer Description ("PPD") based printing options to
81 support real-world printing under UNIX.
84 CUPS dostarcza standardowy poziom drukowania dla systemów uniksowych.
85 CUPS u¿ywa protoko³u IPP - Internet Printint Protocol jako podstawy do
86 zarz±dzania zadaniami i kolejkami druku. W ograniczonym zakresie
87 obs³ugiwane s± tak¿e protoko³y LPD (Line Printer Daemon), SMB (Server
88 Message Block) i AppSocket (znany tak¿e jako JetDirect). CUPS
89 udostêpnia przegl±danie drukarek sieciowych i opcje drukowania oparte
90 na PPD (PostScript Printer Description) do obs³ugi rzeczywistych
94 O sistema Unix de impressão (CUPS) fornece uma camada de impressão
95 portável para os sistemas operacionais baseados no UNIX®.
98 Summary: Common Unix Printing System Libraries
99 Summary(pl): Biblioteki dla CUPS
100 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
102 Provides: %{name}-libs = %{epoch}:%{version}-%{release}
107 Common Unix Printing System Libraries.
109 %description lib -l pl
112 %description lib -l pt_BR
113 Bibliotecas CUPS requeridas pelos clientes CUPS.
116 Summary: Common Unix Printing System Clients
117 Summary(pl): Aplikacje klienckie dla CUPS
118 Group: Applications/Printing
119 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
123 Common Unix Printing System Clients.
125 %description clients -l pl
126 Aplikacje klienckie dla CUPS.
129 Summary: Common Unix Printing System Libraries - images manipulation
130 Summary(pl): Biblioteki dla CUPS - obs³uga formatów graficznych
131 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
133 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
136 %description image-lib
137 Common Unix Printing System Libraries - images manupalation.
139 %description image-lib -l pl
140 Biblioteki dla CUPS - obs³uga formatów graficznych.
142 %description image-lib -l pt_BR
143 Bibliotecas CUPS requeridas pelos clientes CUPS.
146 Summary: Common Unix Printing System development files
147 Summary(pl): Ogólny system druku dla Uniksa - pliki nag³ówkowe
148 Summary(pt_BR): Sistema Unix de Impressão - ambiente de desenvolvimento
149 Group: Development/Libraries
150 Requires: %{name}-image-lib = %{epoch}:%{version}-%{release}
151 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
152 Obsoletes: libcups1-devel
155 Common Unix Printing System development files.
157 %description devel -l pl
158 Ogólny system druku dla Uniksa - pliki nag³ówkowe.
160 %description devel -l pt_BR
161 Este pacote é um adicional que contem um ambiente de desenvolvimento
162 para a criação de suporte a novas impressoras e novos serviços ao
166 Summary: Common Unix Printing System static libraries
167 Summary(pl): Ogólny system druku dla Uniksa - biblioteki statyczne
168 Summary(pt_BR): Common Unix Printing System - bibliotecas estáticas
169 Group: Development/Libraries
170 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
173 Common Unix Printing System static libraries.
175 %description static -l pl
176 Ogólny system druku dla Uniksa - biblioteki statyczne.
178 %description static -l pt_BR
179 Bibliotecas estáticas para desenvolvimento de programas que usam as
182 %package -n perl-cups
183 Summary: Perl module for CUPS
184 Summary(pl): Modu³ Perla CUPS
185 Group: Development/Languages/Perl
186 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
188 %description -n perl-cups
189 Perl module for Common Unix Printing System.
191 %description -n perl-cups -l pl
192 Modu³ Perla do ogólnego systemu druku dla Uniksa.
195 Summary: PHP module for CUPS
196 Summary(pl): Modu³ PHP CUPS
197 Group: Development/Languages/PHP
198 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
199 Requires: php-common >= 4:5.0.0
201 %description -n php-cups
202 PHP module for Common Unix Printing System.
204 %description -n php-cups -l pl
205 Modu³ PHP do ogólnego systemu druku dla Uniksa.
208 Summary: USB backend for CUPS
209 Summary(pl): Backend USB dla CUPS-a
210 Group: Applications/Printing
211 Requires: %{name} = %{epoch}:%{version}-%{release}
213 %description backend-usb
214 This package allow CUPS printing on USB printers.
216 %description backend-usb -l pl
217 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach USB.
219 %package backend-serial
220 Summary: Serial port backend for CUPS
221 Summary(pl): Backend obs³uguj±cy porty szeregowe dla CUPS-a
222 Group: Applications/Printing
223 Requires: %{name} = %{epoch}:%{version}-%{release}
225 %description backend-serial
226 This package allow CUPS printing on printers connected by serial
229 %description backend-serial -l pl
230 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
231 pod³±czonych do portów szeregowych.
233 %package backend-parallel
234 Summary: Parallel port backend for CUPS
235 Summary(pl): Backend obs³uguj±cy porty równoleg³e dla CUPS-a
236 Group: Applications/Printing
237 Requires: %{name} = %{epoch}:%{version}-%{release}
239 %description backend-parallel
240 This package allow CUPS printing on printers connected by parallel
243 %description backend-parallel -l pl
244 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
245 pod³±czonych do portów równoleg³ych.
260 %{__aclocal} -I config-scripts
263 --libdir=%{_ulibdir} \
265 %{?with_static_libs:--enable-static} \
267 --%{?with_gnutls:dis}%{!?with_gnutls:en}able-openssl \
268 --%{!?with_gnutls:dis}%{?with_gnutls:en}able-gnutls \
271 %{?debug:--enable-debug} \
272 --with-docdir=%{_ulibdir}/%{name}/cgi-bin \
273 %{?with_php:--with-php}
277 %{__perl} -pi -e 's#-I\.\.\/\.\.#-I../.. -I../../cups#g' scripting/php/Makefile
278 %{?with_php:%{__make} -C scripting/php PHPCONFIG=%{_bindir}/php-config}
282 %{__perl} -pi -e 's@-lcups@-L../../cups $1@' Makefile.PL
283 %{__perl} Makefile.PL \
285 OPTIMIZE="%{rpmcflags} -I../.."
286 # avoid rpaths generated by MakeMaker
287 %{__perl} -pi -e 's@LD_RUN_PATH="\$\(LD_RUN_PATH\)" @@' Makefile
294 rm -rf $RPM_BUILD_ROOT
295 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,pam.d,logrotate.d,security} \
296 $RPM_BUILD_ROOT/var/log/{,archiv/}cups
299 BUILDROOT=$RPM_BUILD_ROOT \
303 if [ "%{_lib}" != "lib" ] ; then
304 install -d $RPM_BUILD_ROOT%{_libdir}
305 mv $RPM_BUILD_ROOT%{_ulibdir}/*.so* $RPM_BUILD_ROOT%{_libdir}
306 mv $RPM_BUILD_ROOT%{_ulibdir}/*.a $RPM_BUILD_ROOT%{_libdir}
310 %{__make} -C scripting/php install \
311 PHPDIR=$RPM_BUILD_ROOT%{_php_extensiondir}
312 install -d $RPM_BUILD_ROOT%{_php_configdir}/conf.d
313 cat > $RPM_BUILD_ROOT%{_php_configdir}/conf.d/phpcups.ini << EOF
314 ; Enable phpcups extension module
322 DESTDIR=$RPM_BUILD_ROOT
326 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
327 install %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/%{name}
328 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
330 gzip -9nf $RPM_BUILD_ROOT%{_datadir}/%{name}/model/*.ppd
332 touch $RPM_BUILD_ROOT/var/log/cups/{access_log,error_log,page_log}
333 touch $RPM_BUILD_ROOT/etc/security/blacklist.cups
334 touch $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{classes,printers,client}.conf
336 # windows drivers can be put there.
337 install -d $RPM_BUILD_ROOT%{_datadir}/cups/drivers
339 touch $RPM_BUILD_ROOT/var/cache/cups/help.index
340 touch $RPM_BUILD_ROOT/var/cache/cups/{job,remote}.cache
341 touch $RPM_BUILD_ROOT/var/cache/cups/ppds.dat
342 install -d $RPM_BUILD_ROOT/etc/cups/ssl
344 # post-strip can't work on readonly files
345 chmod u+w $RPM_BUILD_ROOT%{perl_vendorarch}/auto/CUPS/CUPS.so
347 # check-files cleanup
348 rm -rf $RPM_BUILD_ROOT%{_mandir}/{,es/,fr/}cat?
349 rm -rf $RPM_BUILD_ROOT/etc/{init.d,rc?.d}/*
350 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/cupsd.conf.default
353 rm -rf $RPM_BUILD_ROOT
356 /sbin/chkconfig --add cups
357 %service cups restart "cups daemon"
360 if [ "$1" = "0" ]; then
362 /sbin/chkconfig --del cups
365 %post lib -p /sbin/ldconfig
366 %postun lib -p /sbin/ldconfig
367 %post image-lib -p /sbin/ldconfig
368 %postun image-lib -p /sbin/ldconfig
371 [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
372 [ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart
375 if [ "$1" = 0 ]; then
376 [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
377 [ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart
381 %defattr(644,root,root,755)
382 #%doc *.gz doc/*.html doc/*.css doc/images
384 %attr(640,root,root) %config %verify(not md5 mtime size) /etc/pam.d/*
385 %attr(754,root,root) /etc/rc.d/init.d/cups
386 /etc/dbus-1/system.d/cups.conf
387 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}
388 %attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/classes.conf
389 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/cupsd.conf
390 %attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/printers.conf
391 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.convs
392 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.types
393 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.cups
394 %dir %attr(700,root,lp) %{_sysconfdir}/%{name}/ssl
395 %dir %{_sysconfdir}/%{name}/interfaces
396 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}/ppd
397 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
398 %attr(4755,lp,root) %{_bindir}/lppasswd
399 %attr(755,root,root) %{_bindir}/cupstestppd
400 %attr(755,root,root) %{_bindir}/cupstestdsc
401 %attr(755,root,root) %{_sbindir}/cupsd
403 %dir %{_ulibdir}/cups
404 %dir %{_ulibdir}/cups/*
405 %{_ulibdir}/cups/cgi-bin/help
406 %{_ulibdir}/cups/cgi-bin/images
407 %attr(755,root,root) %{_ulibdir}/cups/cgi-bin/*.cgi
408 %{_ulibdir}/cups/cgi-bin/*.css
409 %{_ulibdir}/cups/cgi-bin/*.html
410 %{_ulibdir}/cups/cgi-bin/*.ico
411 %{_ulibdir}/cups/cgi-bin/*.txt
412 %lang(es) %{_ulibdir}/cups/cgi-bin/es
413 %lang(ja) %{_ulibdir}/cups/cgi-bin/ja
414 %lang(pl) %{_ulibdir}/cups/cgi-bin/pl
415 %lang(sv) %{_ulibdir}/cups/cgi-bin/sv
417 %exclude %{_ulibdir}/cups/backend/usb
418 %exclude %{_ulibdir}/cups/backend/serial
419 %exclude %{_ulibdir}/cups/backend/parallel
420 %attr(755,root,root) %{_ulibdir}/cups/backend/*
421 %attr(755,root,root) %{_ulibdir}/cups/daemon/*
422 %attr(755,root,root) %{_ulibdir}/cups/filter/*
423 %attr(755,root,root) %{_ulibdir}/cups/monitor/*
424 %attr(755,root,root) %{_ulibdir}/cups/notifier/*
426 %dir %{_datadir}/cups
427 %{_datadir}/cups/banners
428 %{_datadir}/cups/charmaps
429 %{_datadir}/cups/charsets
430 %{_datadir}/cups/data
431 %{_datadir}/cups/drivers
432 %{_datadir}/cups/fonts
433 %{_datadir}/cups/model
434 %dir %{_datadir}/cups/templates
435 %{_datadir}/cups/templates/*.tmpl
436 %lang(es) %{_datadir}/cups/templates/es
437 %lang(ja) %{_datadir}/cups/templates/ja
438 %lang(pl) %{_datadir}/cups/templates/pl
439 %lang(sv) %{_datadir}/cups/templates/sv
440 %{_mandir}/man7/backend.7*
441 %{_mandir}/man1/cupstestppd.1*
442 %{_mandir}/man1/cupstestdsc.1*
443 %{_mandir}/man7/filter.7*
444 %{_mandir}/man1/lppasswd.1*
446 %lang(es) %{_datadir}/locale/es/cups_es.po
447 %lang(ja) %{_datadir}/locale/ja/cups_ja.po
448 %lang(pl) %{_datadir}/locale/pl/cups_pl.po
449 %lang(sv) %{_datadir}/locale/sv/cups_sv.po
451 %dir %attr(775,root,lp) /var/cache/cups
452 %dir %attr(755,root,lp) /var/run/cups
453 %dir %attr(511,lp,sys) /var/run/cups/certs
454 %dir %attr(710,root,lp) /var/spool/cups
455 %dir %attr(1770,root,lp) /var/spool/cups/tmp
456 %attr(600,lp,lp) %ghost /var/cache/cups/help.index
457 %attr(640,root,lp) %ghost /var/cache/cups/job.cache
458 %attr(600,lp,lp) %ghost /var/cache/cups/ppds.dat
459 %attr(640,root,lp) %ghost /var/cache/cups/remote.cache
460 %attr(750,root,logs) %dir /var/log/archiv/cups
461 %attr(750,root,logs) %dir /var/log/cups
462 %attr(640,root,logs) %ghost /var/log/cups/access_log
463 %attr(640,root,logs) %ghost /var/log/cups/error_log
464 %attr(640,root,logs) %ghost /var/log/cups/page_log
467 %defattr(644,root,root,755)
468 %attr(755,root,root) %{_libdir}/libcups.so.*
471 %defattr(644,root,root,755)
472 %attr(644,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/client.conf
473 %attr(755,root,root) %{_bindir}/cancel
474 %attr(755,root,root) %{_bindir}/lp
475 %attr(755,root,root) %{_bindir}/lpoptions
476 %attr(755,root,root) %{_bindir}/lpq
477 %attr(755,root,root) %{_bindir}/lpr
478 %attr(755,root,root) %{_bindir}/lprm
479 %attr(755,root,root) %{_bindir}/lpstat
480 %attr(755,root,root) %{_sbindir}/accept
481 %attr(755,root,root) %{_sbindir}/cupsaddsmb
482 %attr(755,root,root) %{_sbindir}/lpadmin
483 %attr(755,root,root) %{_sbindir}/lpc
484 %attr(755,root,root) %{_sbindir}/lpinfo
485 %attr(755,root,root) %{_sbindir}/lpmove
486 %attr(755,root,root) %{_sbindir}/reject
487 %{_mandir}/man1/cancel.1*
488 %{_mandir}/man1/lp.1*
489 %{_mandir}/man1/lpoptions.1*
490 %{_mandir}/man1/lpq.1*
491 %{_mandir}/man1/lpr.1*
492 %{_mandir}/man1/lprm.1*
493 %{_mandir}/man1/lpstat.1*
494 #%lang(fr) %{_mandir}/fr/man1/cancel.1*
495 #%lang(fr) %{_mandir}/fr/man1/lp.1*
496 #%lang(fr) %{_mandir}/fr/man1/lpoptions.1*
497 #%lang(fr) %{_mandir}/fr/man1/lpq.1*
498 #%lang(fr) %{_mandir}/fr/man1/lpr.1*
499 #%lang(fr) %{_mandir}/fr/man1/lprm.1*
500 #%lang(fr) %{_mandir}/fr/man1/lpstat.1*
501 #%lang(es) %{_mandir}/es/man1/lp.1*
502 #%lang(es) %{_mandir}/es/man1/lpoptions.1*
503 #%lang(es) %{_mandir}/es/man1/lpq.1*
504 #%lang(es) %{_mandir}/es/man1/lpr.1*
505 #%lang(es) %{_mandir}/es/man1/lprm.1*
506 #%lang(es) %{_mandir}/es/man1/lpstat.1*
509 %defattr(644,root,root,755)
510 %attr(755,root,root) %{_libdir}/libcupsimage.so.*
513 %defattr(644,root,root,755)
514 %attr(755,root,root) %{_bindir}/cups-config
517 %{_mandir}/man1/cups-config*
519 #%lang(fr) %{_mandir}/fr/man1/cups-config*
520 #%lang(es) %{_mandir}/es/man1/cups-config*
522 %if %{with static_libs}
524 %defattr(644,root,root,755)
530 %defattr(644,root,root,755)
531 %{perl_vendorarch}/*.pm
532 %dir %{perl_vendorarch}/auto/CUPS
533 %{perl_vendorarch}/auto/CUPS/*.bs
534 %{perl_vendorarch}/auto/CUPS/autosplit.ix
535 %attr(755,root,root) %{perl_vendorarch}/auto/CUPS/*.so
540 %defattr(644,root,root,755)
541 %doc scripting/php/README
542 %attr(755,root,root) %{_php_extensiondir}/*
543 %config(noreplace) %verify(not md5 mtime size) %{_php_configdir}/conf.d/phpcups.ini
547 %defattr(644,root,root,755)
548 %attr(755,root,root) %{_ulibdir}/cups/backend/usb
550 %files backend-serial
551 %defattr(644,root,root,755)
552 %attr(755,root,root) %{_ulibdir}/cups/backend/serial
554 %files backend-parallel
555 %defattr(644,root,root,755)
556 %attr(755,root,root) %{_ulibdir}/cups/backend/parallel