2 # - build/install java ext ?
4 # - remove obsolete /etc/cups/certs (trigger?)
7 %bcond_without php # don't build PHP extension
8 %bcond_without perl # don't build Perl extension
10 %include /usr/lib/rpm/macros.perl
12 Summary: Common Unix Printing System
13 Summary(pl): Ogólny system druku dla Uniksa
14 Summary(pt_BR): Sistema Unix de Impressão
20 Group: Applications/Printing
21 Source0: http://ftp.easysw.com/pub/cups/%{version}/%{name}-%{version}-source.tar.bz2
22 # Source0-md5: a168b0b1c8bb946060e659e1df2927c5
25 Source3: %{name}.logrotate
26 Patch0: %{name}-config.patch
27 Patch1: %{name}-lp-lpr.patch
28 Patch2: %{name}-options.patch
29 Patch3: %{name}-man_pages_linking.patch
30 Patch4: %{name}-nostrip.patch
31 Patch5: %{name}-rpath.patch
32 Patch6: %{name}-str1670.patch
33 Patch7: %{name}-str1705.patch
34 URL: http://www.cups.org/
35 BuildRequires: acl-devel
36 BuildRequires: autoconf
37 BuildRequires: automake
38 BuildRequires: dbus-devel
39 BuildRequires: libjpeg-devel
40 BuildRequires: libpng-devel
41 BuildRequires: libstdc++-devel
42 BuildRequires: libtiff-devel
43 BuildRequires: openldap-devel
44 BuildRequires: openslp-devel
45 BuildRequires: openssl-devel
46 BuildRequires: pam-devel
47 %{?with_php:BuildRequires: php-devel >= 4:5.0.0}
48 BuildRequires: pkgconfig
49 BuildRequires: rpm-perlprov
50 BuildRequires: rpmbuild(macros) >= 1.268
51 Requires(post,preun): /sbin/chkconfig
52 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
53 Requires: pam >= 0.77.3
57 Conflicts: ghostscript < 7.05.4
58 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
60 %define _ulibdir %{_prefix}/lib
63 %define _php_configdir /etc/php
64 %define _php_extensiondir %(php-config --extension-dir)
68 CUPS provides a portable printing layer for UNIX-based operating
69 systems. It has been developed by Easy Software Products to promote a
70 standard printing solution for all UNIX vendors and users. CUPS
71 provides the System V and Berkeley command-line interfaces. CUPS uses
72 the Internet Printing Protocol ("IPP") as the basis for managing print
73 jobs and queues. The Line Printer Daemon ("LPD") Server Message Block
74 ("SMB"), and AppSocket (a.k.a. JetDirect) protocols are also supported
75 with reduced functionality. CUPS adds network printer browsing and
76 PostScript Printer Description ("PPD") based printing options to
77 support real-world printing under UNIX.
80 CUPS dostarcza standardowy poziom drukowania dla systemów uniksowych.
81 CUPS u¿ywa protoko³u IPP - Internet Printint Protocol jako podstawy do
82 zarz±dzania zadaniami i kolejkami druku. W ograniczonym zakresie
83 obs³ugiwane s± tak¿e protoko³y LPD (Line Printer Daemon), SMB (Server
84 Message Block) i AppSocket (znany tak¿e jako JetDirect). CUPS
85 udostêpnia przegl±danie drukarek sieciowych i opcje drukowania oparte
86 na PPD (PostScript Printer Description) do obs³ugi rzeczywistych
90 O sistema Unix de impressão (CUPS) fornece uma camada de impressão
91 portável para os sistemas operacionais baseados no UNIX®.
94 Summary: Common Unix Printing System Libraries
95 Summary(pl): Biblioteki dla CUPS
96 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
98 Provides: %{name}-libs = %{epoch}:%{version}-%{release}
103 Common Unix Printing System Libraries.
105 %description lib -l pl
108 %description lib -l pt_BR
109 Bibliotecas CUPS requeridas pelos clientes CUPS.
112 Summary: Common Unix Printing System Clients
113 Summary(pl): Aplikacje klienckie dla CUPS
114 Group: Applications/Printing
115 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
119 Common Unix Printing System Clients.
121 %description clients -l pl
122 Aplikacje klienckie dla CUPS.
125 Summary: Common Unix Printing System Libraries - images manipulation
126 Summary(pl): Biblioteki dla CUPS - obs³uga formatów graficznych
127 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
129 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
132 %description image-lib
133 Common Unix Printing System Libraries - images manupalation.
135 %description image-lib -l pl
136 Biblioteki dla CUPS - obs³uga formatów graficznych.
138 %description image-lib -l pt_BR
139 Bibliotecas CUPS requeridas pelos clientes CUPS.
142 Summary: Common Unix Printing System development files
143 Summary(pl): Ogólny system druku dla Uniksa - pliki nag³ówkowe
144 Summary(pt_BR): Sistema Unix de Impressão - ambiente de desenvolvimento
145 Group: Development/Libraries
146 Requires: %{name}-image-lib = %{epoch}:%{version}-%{release}
147 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
148 Obsoletes: libcups1-devel
151 Common Unix Printing System development files.
153 %description devel -l pl
154 Ogólny system druku dla Uniksa - pliki nag³ówkowe.
156 %description devel -l pt_BR
157 Este pacote é um adicional que contem um ambiente de desenvolvimento
158 para a criação de suporte a novas impressoras e novos serviços ao
162 Summary: Common Unix Printing System static libraries
163 Summary(pl): Ogólny system druku dla Uniksa - biblioteki statyczne
164 Summary(pt_BR): Common Unix Printing System - bibliotecas estáticas
165 Group: Development/Libraries
166 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
169 Common Unix Printing System static libraries.
171 %description static -l pl
172 Ogólny system druku dla Uniksa - biblioteki statyczne.
174 %description static -l pt_BR
175 Bibliotecas estáticas para desenvolvimento de programas que usam as
178 %package -n perl-cups
179 Summary: Perl module for CUPS
180 Summary(pl): Modu³ Perla CUPS
181 Group: Development/Languages/Perl
182 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
184 %description -n perl-cups
185 Perl module for Common Unix Printing System.
187 %description -n perl-cups -l pl
188 Modu³ Perla do ogólnego systemu druku dla Uniksa.
191 Summary: PHP module for CUPS
192 Summary(pl): Modu³ PHP CUPS
193 Group: Development/Languages/PHP
194 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
195 Requires: php-common >= 4:5.0.0
197 %description -n php-cups
198 PHP module for Common Unix Printing System.
200 %description -n php-cups -l pl
201 Modu³ PHP do ogólnego systemu druku dla Uniksa.
204 Summary: USB backend for CUPS
205 Summary(pl): Backend USB dla CUPS-a
206 Group: Applications/Printing
207 Requires: %{name} = %{epoch}:%{version}-%{release}
209 %description backend-usb
210 This package allow CUPS printing on USB printers.
212 %description backend-usb -l pl
213 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach USB.
215 %package backend-serial
216 Summary: Serial port backend for CUPS
217 Summary(pl): Backend obs³uguj±cy porty szeregowe dla CUPS-a
218 Group: Applications/Printing
219 Requires: %{name} = %{epoch}:%{version}-%{release}
221 %description backend-serial
222 This package allow CUPS printing on printers connected by serial
225 %description backend-serial -l pl
226 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
227 pod³±czonych do portów szeregowych.
229 %package backend-parallel
230 Summary: Parallel port backend for CUPS
231 Summary(pl): Backend obs³uguj±cy porty równoleg³e dla CUPS-a
232 Group: Applications/Printing
233 Requires: %{name} = %{epoch}:%{version}-%{release}
235 %description backend-parallel
236 This package allow CUPS printing on printers connected by parallel
239 %description backend-parallel -l pl
240 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
241 pod³±czonych do portów równoleg³ych.
255 %{__aclocal} -I config-scripts
258 --libdir=%{_ulibdir} \
266 %{?debug:--enable-debug} \
267 --with-docdir=%{_ulibdir}/%{name}/cgi-bin
270 %{__perl} -pi -e 's#-I\.\.\/\.\.#-I../.. -I../../cups#g' scripting/php/Makefile
271 %{?with_php:%{__make} -C scripting/php PHPCONFIG=%{_bindir}/php-config}
275 %{__perl} -pi -e 's@-lcups@-L../../cups $1@' Makefile.PL
276 %{__perl} Makefile.PL \
278 OPTIMIZE="%{rpmcflags} -I../.."
279 # avoid rpaths generated by MakeMaker
280 %{__perl} -pi -e 's@LD_RUN_PATH="\$\(LD_RUN_PATH\)" @@' Makefile
287 rm -rf $RPM_BUILD_ROOT
288 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,pam.d,logrotate.d,security} \
289 $RPM_BUILD_ROOT/var/log/{,archiv/}cups
292 BUILDROOT=$RPM_BUILD_ROOT \
296 if [ "%{_lib}" != "lib" ] ; then
297 install -d $RPM_BUILD_ROOT%{_libdir}
298 mv $RPM_BUILD_ROOT%{_ulibdir}/*.so* $RPM_BUILD_ROOT%{_libdir}
299 #mv $RPM_BUILD_ROOT%{_ulibdir}/*.a $RPM_BUILD_ROOT%{_libdir}
303 %{__make} -C scripting/php install \
304 PHPDIR=$RPM_BUILD_ROOT%{_php_extensiondir}
305 install -d $RPM_BUILD_ROOT%{_php_configdir}/conf.d
306 cat > $RPM_BUILD_ROOT%{_php_configdir}/conf.d/phpcups.ini << EOF
307 ; Enable phpcups extension module
315 DESTDIR=$RPM_BUILD_ROOT
319 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
320 install %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/%{name}
321 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
323 gzip -9nf $RPM_BUILD_ROOT%{_datadir}/%{name}/model/*.ppd
325 touch $RPM_BUILD_ROOT/var/log/cups/{access_log,error_log,page_log}
326 touch $RPM_BUILD_ROOT/etc/security/blacklist.cups
327 touch $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{classes,printers,client}.conf
329 # windows drivers can be put there.
330 install -d $RPM_BUILD_ROOT%{_datadir}/cups/drivers
332 touch $RPM_BUILD_ROOT/var/cache/cups/help.index
333 touch $RPM_BUILD_ROOT/var/cache/cups/{job,remote}.cache
334 install -d $RPM_BUILD_ROOT/etc/cups/ssl
336 # post-strip can't work on readonly files
337 chmod u+w $RPM_BUILD_ROOT%{perl_vendorarch}/auto/CUPS/CUPS.so
339 # check-files cleanup
340 rm -rf $RPM_BUILD_ROOT%{_mandir}/{,es/,fr/}cat?
341 rm -rf $RPM_BUILD_ROOT/etc/{init.d,rc?.d}/*
342 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/cupsd.conf.default
345 rm -rf $RPM_BUILD_ROOT
348 /sbin/chkconfig --add cups
349 %service cups restart "cups daemon"
352 if [ "$1" = "0" ]; then
354 /sbin/chkconfig --del cups
357 %post lib -p /sbin/ldconfig
358 %postun lib -p /sbin/ldconfig
359 %post image-lib -p /sbin/ldconfig
360 %postun image-lib -p /sbin/ldconfig
363 [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
364 [ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart
367 if [ "$1" = 0 ]; then
368 [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
369 [ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart
373 %defattr(644,root,root,755)
374 #%doc *.gz doc/*.html doc/*.css doc/images
376 %attr(640,root,root) %config %verify(not md5 mtime size) /etc/pam.d/*
377 %attr(754,root,root) /etc/rc.d/init.d/cups
378 /etc/dbus-1/system.d/cups.conf
379 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}
380 %attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/classes.conf
381 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/cupsd.conf
382 %attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/printers.conf
383 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.convs
384 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.types
385 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.cups
386 %dir %attr(700,root,lp) %{_sysconfdir}/%{name}/ssl
387 %dir %{_sysconfdir}/%{name}/interfaces
388 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}/ppd
389 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
390 %attr(4755,lp,root) %{_bindir}/lppasswd
391 %attr(755,root,root) %{_bindir}/cupstestppd
392 %attr(755,root,root) %{_bindir}/cupstestdsc
393 %attr(755,root,root) %{_sbindir}/cupsd
395 %dir %{_ulibdir}/cups
396 %dir %{_ulibdir}/cups/*
397 %{_ulibdir}/cups/cgi-bin/help
398 %{_ulibdir}/cups/cgi-bin/images
399 %attr(755,root,root) %{_ulibdir}/cups/cgi-bin/*.cgi
400 %{_ulibdir}/cups/cgi-bin/*.css
401 %{_ulibdir}/cups/cgi-bin/*.html
402 %{_ulibdir}/cups/cgi-bin/*.ico
403 %{_ulibdir}/cups/cgi-bin/*.txt
404 %lang(es) %{_ulibdir}/cups/cgi-bin/es
405 %lang(ja) %{_ulibdir}/cups/cgi-bin/ja
406 %lang(pl) %{_ulibdir}/cups/cgi-bin/pl
407 %lang(sv) %{_ulibdir}/cups/cgi-bin/sv
409 %exclude %{_ulibdir}/cups/backend/usb
410 %exclude %{_ulibdir}/cups/backend/serial
411 %exclude %{_ulibdir}/cups/backend/parallel
412 %attr(755,root,root) %{_ulibdir}/cups/backend/*
413 %attr(755,root,root) %{_ulibdir}/cups/daemon/*
414 %attr(755,root,root) %{_ulibdir}/cups/filter/*
415 %attr(755,root,root) %{_ulibdir}/cups/monitor/*
416 %attr(755,root,root) %{_ulibdir}/cups/notifier/*
418 %dir %{_datadir}/cups
419 %{_datadir}/cups/banners
420 %{_datadir}/cups/charmaps
421 %{_datadir}/cups/charsets
422 %{_datadir}/cups/data
423 %{_datadir}/cups/drivers
424 %{_datadir}/cups/fonts
425 %{_datadir}/cups/model
426 %dir %{_datadir}/cups/templates
427 %{_datadir}/cups/templates/*.tmpl
428 %lang(es) %{_datadir}/cups/templates/es
429 %lang(ja) %{_datadir}/cups/templates/ja
430 %lang(pl) %{_datadir}/cups/templates/pl
431 %lang(sv) %{_datadir}/cups/templates/sv
432 %{_mandir}/man7/backend.7*
433 %{_mandir}/man1/cupstestppd.1*
434 %{_mandir}/man1/cupstestdsc.1*
435 %{_mandir}/man7/filter.7*
436 %{_mandir}/man1/lppasswd.1*
438 %lang(es) %{_datadir}/locale/es/cups_es.po
439 %lang(ja) %{_datadir}/locale/ja/cups_ja.po
440 %lang(sv) %{_datadir}/locale/sv/cups_sv.po
442 %dir %attr(775,root,lp) /var/cache/cups
443 %dir %attr(755,root,lp) /var/run/cups
444 %dir %attr(511,lp,sys) /var/run/cups/certs
445 %dir %attr(710,root,lp) /var/spool/cups
446 %dir %attr(1770,root,lp) /var/spool/cups/tmp
447 %attr(640,root,lp) %ghost /var/cache/cups/help.index
448 %attr(640,root,lp) %ghost /var/cache/cups/job.cache
449 %attr(640,root,lp) %ghost /var/cache/cups/remote.cache
450 %attr(750,root,logs) %dir /var/log/archiv/cups
451 %attr(750,root,logs) %dir /var/log/cups
452 %attr(640,root,logs) %ghost /var/log/cups/access_log
453 %attr(640,root,logs) %ghost /var/log/cups/error_log
454 %attr(640,root,logs) %ghost /var/log/cups/page_log
457 %defattr(644,root,root,755)
458 %attr(755,root,root) %{_libdir}/libcups.so.*
461 %defattr(644,root,root,755)
462 %attr(644,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/client.conf
463 %attr(755,root,root) %{_bindir}/cancel
464 %attr(755,root,root) %{_bindir}/lp
465 %attr(755,root,root) %{_bindir}/lpoptions
466 %attr(755,root,root) %{_bindir}/lpq
467 %attr(755,root,root) %{_bindir}/lpr
468 %attr(755,root,root) %{_bindir}/lprm
469 %attr(755,root,root) %{_bindir}/lpstat
470 %attr(755,root,root) %{_sbindir}/accept
471 %attr(755,root,root) %{_sbindir}/cupsaddsmb
472 %attr(755,root,root) %{_sbindir}/lpadmin
473 %attr(755,root,root) %{_sbindir}/lpc
474 %attr(755,root,root) %{_sbindir}/lpinfo
475 %attr(755,root,root) %{_sbindir}/lpmove
476 %attr(755,root,root) %{_sbindir}/reject
477 %{_mandir}/man1/cancel.1*
478 %{_mandir}/man1/lp.1*
479 %{_mandir}/man1/lpoptions.1*
480 %{_mandir}/man1/lpq.1*
481 %{_mandir}/man1/lpr.1*
482 %{_mandir}/man1/lprm.1*
483 %{_mandir}/man1/lpstat.1*
484 #%lang(fr) %{_mandir}/fr/man1/cancel.1*
485 #%lang(fr) %{_mandir}/fr/man1/lp.1*
486 #%lang(fr) %{_mandir}/fr/man1/lpoptions.1*
487 #%lang(fr) %{_mandir}/fr/man1/lpq.1*
488 #%lang(fr) %{_mandir}/fr/man1/lpr.1*
489 #%lang(fr) %{_mandir}/fr/man1/lprm.1*
490 #%lang(fr) %{_mandir}/fr/man1/lpstat.1*
491 #%lang(es) %{_mandir}/es/man1/lp.1*
492 #%lang(es) %{_mandir}/es/man1/lpoptions.1*
493 #%lang(es) %{_mandir}/es/man1/lpq.1*
494 #%lang(es) %{_mandir}/es/man1/lpr.1*
495 #%lang(es) %{_mandir}/es/man1/lprm.1*
496 #%lang(es) %{_mandir}/es/man1/lpstat.1*
499 %defattr(644,root,root,755)
500 %attr(755,root,root) %{_libdir}/libcupsimage.so.*
503 %defattr(644,root,root,755)
504 %attr(755,root,root) %{_bindir}/cups-config
507 %{_mandir}/man1/cups-config*
509 #%lang(fr) %{_mandir}/fr/man1/cups-config*
510 #%lang(es) %{_mandir}/es/man1/cups-config*
513 %defattr(644,root,root,755)
518 %defattr(644,root,root,755)
519 %{perl_vendorarch}/*.pm
520 %dir %{perl_vendorarch}/auto/CUPS
521 %{perl_vendorarch}/auto/CUPS/*.bs
522 %{perl_vendorarch}/auto/CUPS/autosplit.ix
523 %attr(755,root,root) %{perl_vendorarch}/auto/CUPS/*.so
528 %defattr(644,root,root,755)
529 %doc scripting/php/README
530 %attr(755,root,root) %{_php_extensiondir}/*
531 %config(noreplace) %verify(not md5 mtime size) %{_php_configdir}/conf.d/phpcups.ini
535 %defattr(644,root,root,755)
536 %attr(755,root,root) %{_ulibdir}/cups/backend/usb
538 %files backend-serial
539 %defattr(644,root,root,755)
540 %attr(755,root,root) %{_ulibdir}/cups/backend/serial
542 %files backend-parallel
543 %defattr(644,root,root,755)
544 %attr(755,root,root) %{_ulibdir}/cups/backend/parallel