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): Popularny 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.
85 O sistema Unix de impressão (CUPS) fornece uma camada de impressão
86 portável para os sistemas operacionais baseados no UNIX®.
89 Summary: Common Unix Printing System Libraries
90 Summary(pl): Biblioteki dla CUPS
91 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
93 Provides: %{name}-libs = %{epoch}:%{version}-%{release}
98 Common Unix Printing System Libraries.
100 %description lib -l pl
103 %description lib -l pt_BR
104 Bibliotecas CUPS requeridas pelos clientes CUPS.
107 Summary: Common Unix Printing System Clients
108 Summary(pl): Aplikacje klienckie dla CUPS
109 Group: Applications/Printing
110 Provides: %{name}-clients = %{epoch}:%{version}-%{release}
114 Common Unix Printing System Clients.
116 %description clients -l pl
117 Aplikacje klienckie dla CUPS.
120 Summary: Common Unix Printing System Libraries - images manipulation
121 Summary(pl): Biblioteki dla CUPS - obs³uga formatów graficznych
122 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
124 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
127 %description image-lib
128 Common Unix Printing System Libraries - images manupalation.
130 %description image-lib -l pl
131 Biblioteki dla CUPS - obs³uga formatów graficznych.
133 %description image-lib -l pt_BR
134 Bibliotecas CUPS requeridas pelos clientes CUPS.
137 Summary: Common Unix Printing System development files
138 Summary(pl): Popularny System Druku dla Uniksa, pliki nag³ówkowe
139 Summary(pt_BR): Sistema Unix de Impressão - ambiente de desenvolvimento
140 Group: Development/Libraries
141 Requires: %{name}-image-lib = %{epoch}:%{version}-%{release}
142 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
143 Obsoletes: libcups1-devel
146 Common Unix Printing System development files.
148 %description devel -l pl
149 Popularny System Druku dla Uniksa, pliki nag³ówkowe.
151 %description devel -l pt_BR
152 Este pacote é um adicional que contem um ambiente de desenvolvimento
153 para a criação de suporte a novas impressoras e novos serviços ao
157 Summary: Common Unix Printing System static libraries
158 Summary(pl): Popularny System Druku dla Uniksa, biblioteki statyczne
159 Summary(pt_BR): Common Unix Printing System - bibliotecas estáticas
160 Group: Development/Libraries
161 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
164 Common Unix Printing System static libraries.
166 %description static -l pl
167 Popularny System Druku dla Uniksa, biblioteki statyczne.
169 %description static -l pt_BR
170 Bibliotecas estáticas para desenvolvimento de programas que usam as
173 %package -n perl-cups
174 Summary: Perl module for CUPS
175 Summary(pl): Modu³ Perla CUPS
176 Group: Development/Languages/Perl
177 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
179 %description -n perl-cups
180 Perl module for Common Unix Printing System.
182 %description -n perl-cups -l pl
183 Modu³ Perla do Popularnego Systemu Druku dla Uniksa.
186 Summary: PHP module for CUPS
187 Summary(pl): Modu³ PHP CUPS
188 Group: Development/Languages/PHP
189 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
190 Requires: php-common >= 4:5.0.0
192 %description -n php-cups
193 PHP module for Common Unix Printing System.
195 %description -n php-cups -l pl
196 Modu³ PHP do Popularnego Systemu Druku dla Uniksa.
199 Summary: USB backend for CUPS
200 Summary(pl): Backend USB dla CUPS-a
201 Group: Applications/Printing
202 Requires: %{name} = %{epoch}:%{version}-%{release}
204 %description backend-usb
205 This package allow CUPS printing on USB printers.
207 %description backend-usb -l pl
208 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach USB.
210 %package backend-serial
211 Summary: Serial port backend for CUPS
212 Summary(pl): Backend obs³uguj±cy porty szeregowe dla CUPS-a
213 Group: Applications/Printing
214 Requires: %{name} = %{epoch}:%{version}-%{release}
216 %description backend-serial
217 This package allow CUPS printing on printers connected by serial
220 %description backend-serial -l pl
221 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
222 pod³±czonych do portów szeregowych.
224 %package backend-parallel
225 Summary: Parallel port backend for CUPS
226 Summary(pl): Backend obs³uguj±cy porty równoleg³e dla CUPS-a
227 Group: Applications/Printing
228 Requires: %{name} = %{epoch}:%{version}-%{release}
230 %description backend-parallel
231 This package allow CUPS printing on printers connected by parallel
234 %description backend-parallel -l pl
235 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
236 pod³±czonych do portów równoleg³ych.
250 %{__aclocal} -I config-scripts
253 --libdir=%{_ulibdir} \
261 %{?debug:--enable-debug} \
262 --with-docdir=%{_ulibdir}/%{name}/cgi-bin
265 %{__perl} -pi -e 's#-I\.\.\/\.\.#-I../.. -I../../cups#g' scripting/php/Makefile
266 %{?with_php:%{__make} -C scripting/php PHPCONFIG=%{_bindir}/php-config}
270 %{__perl} -pi -e 's@-lcups@-L../../cups $1@' Makefile.PL
271 %{__perl} Makefile.PL \
273 OPTIMIZE="%{rpmcflags} -I../.."
274 # avoid rpaths generated by MakeMaker
275 %{__perl} -pi -e 's@LD_RUN_PATH="\$\(LD_RUN_PATH\)" @@' Makefile
282 rm -rf $RPM_BUILD_ROOT
283 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,pam.d,logrotate.d,security} \
284 $RPM_BUILD_ROOT/var/log/{,archiv/}cups
287 BUILDROOT=$RPM_BUILD_ROOT \
291 if [ "%{_lib}" != "lib" ] ; then
292 install -d $RPM_BUILD_ROOT%{_libdir}
293 mv $RPM_BUILD_ROOT%{_ulibdir}/*.so* $RPM_BUILD_ROOT%{_libdir}
294 #mv $RPM_BUILD_ROOT%{_ulibdir}/*.a $RPM_BUILD_ROOT%{_libdir}
298 %{__make} -C scripting/php install \
299 PHPDIR=$RPM_BUILD_ROOT%{_php_extensiondir}
300 install -d $RPM_BUILD_ROOT%{_php_configdir}/conf.d
301 cat > $RPM_BUILD_ROOT%{_php_configdir}/conf.d/phpcups.ini << EOF
302 ; Enable phpcups extension module
310 DESTDIR=$RPM_BUILD_ROOT
314 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
315 install %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/%{name}
316 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
318 gzip -9nf $RPM_BUILD_ROOT%{_datadir}/%{name}/model/*.ppd
320 touch $RPM_BUILD_ROOT/var/log/cups/{access_log,error_log,page_log}
321 touch $RPM_BUILD_ROOT/etc/security/blacklist.cups
322 touch $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{classes,printers,client}.conf
324 # windows drivers can be put there.
325 install -d $RPM_BUILD_ROOT%{_datadir}/cups/drivers
327 touch $RPM_BUILD_ROOT/var/cache/cups/help.index
328 touch $RPM_BUILD_ROOT/var/cache/cups/{job,remote}.cache
329 install -d $RPM_BUILD_ROOT/etc/cups/ssl
331 # post-strip can't work on readonly files
332 chmod u+w $RPM_BUILD_ROOT%{perl_vendorarch}/auto/CUPS/CUPS.so
334 # check-files cleanup
335 rm -rf $RPM_BUILD_ROOT%{_mandir}/{,es/,fr/}cat?
336 rm -rf $RPM_BUILD_ROOT/etc/{init.d,rc?.d}/*
337 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/cupsd.conf.default
340 rm -rf $RPM_BUILD_ROOT
343 /sbin/chkconfig --add cups
344 %service cups restart "cups daemon"
347 if [ "$1" = "0" ]; then
349 /sbin/chkconfig --del cups
352 %post lib -p /sbin/ldconfig
353 %postun lib -p /sbin/ldconfig
354 %post image-lib -p /sbin/ldconfig
355 %postun image-lib -p /sbin/ldconfig
358 [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
359 [ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart
362 if [ "$1" = 0 ]; then
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
368 %defattr(644,root,root,755)
369 #%doc *.gz doc/*.html doc/*.css doc/images
371 %attr(640,root,root) %config %verify(not md5 mtime size) /etc/pam.d/*
372 %attr(754,root,root) /etc/rc.d/init.d/cups
373 /etc/dbus-1/system.d/cups.conf
374 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}
375 %attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/classes.conf
376 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/cupsd.conf
377 %attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/printers.conf
378 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.convs
379 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.types
380 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.cups
381 %dir %attr(700,root,lp) %{_sysconfdir}/%{name}/ssl
382 %dir %{_sysconfdir}/%{name}/interfaces
383 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}/ppd
384 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
385 %attr(4755,lp,root) %{_bindir}/lppasswd
386 %attr(755,root,root) %{_bindir}/cupstestppd
387 %attr(755,root,root) %{_bindir}/cupstestdsc
388 %attr(755,root,root) %{_sbindir}/cupsd
390 %dir %{_ulibdir}/cups
391 %dir %{_ulibdir}/cups/*
392 %{_ulibdir}/cups/cgi-bin/help
393 %{_ulibdir}/cups/cgi-bin/images
394 %attr(755,root,root) %{_ulibdir}/cups/cgi-bin/*.cgi
395 %{_ulibdir}/cups/cgi-bin/*.css
396 %{_ulibdir}/cups/cgi-bin/*.html
397 %{_ulibdir}/cups/cgi-bin/*.ico
398 %{_ulibdir}/cups/cgi-bin/*.txt
399 %lang(es) %{_ulibdir}/cups/cgi-bin/es
400 %lang(ja) %{_ulibdir}/cups/cgi-bin/ja
401 %lang(pl) %{_ulibdir}/cups/cgi-bin/pl
402 %lang(sv) %{_ulibdir}/cups/cgi-bin/sv
404 %exclude %{_ulibdir}/cups/backend/usb
405 %exclude %{_ulibdir}/cups/backend/serial
406 %exclude %{_ulibdir}/cups/backend/parallel
407 %attr(755,root,root) %{_ulibdir}/cups/backend/*
408 %attr(755,root,root) %{_ulibdir}/cups/daemon/*
409 %attr(755,root,root) %{_ulibdir}/cups/filter/*
410 %attr(755,root,root) %{_ulibdir}/cups/monitor/*
411 %attr(755,root,root) %{_ulibdir}/cups/notifier/*
413 %dir %{_datadir}/cups
414 %{_datadir}/cups/banners
415 %{_datadir}/cups/charmaps
416 %{_datadir}/cups/charsets
417 %{_datadir}/cups/data
418 %{_datadir}/cups/drivers
419 %{_datadir}/cups/fonts
420 %{_datadir}/cups/model
421 %dir %{_datadir}/cups/templates
422 %{_datadir}/cups/templates/*.tmpl
423 %lang(es) %{_datadir}/cups/templates/es
424 %lang(ja) %{_datadir}/cups/templates/ja
425 %lang(pl) %{_datadir}/cups/templates/pl
426 %lang(sv) %{_datadir}/cups/templates/sv
427 %{_mandir}/man7/backend.7*
428 %{_mandir}/man1/cupstestppd.1*
429 %{_mandir}/man1/cupstestdsc.1*
430 %{_mandir}/man7/filter.7*
431 %{_mandir}/man1/lppasswd.1*
433 %lang(es) %{_datadir}/locale/es/cups_es.po
434 %lang(ja) %{_datadir}/locale/ja/cups_ja.po
435 %lang(sv) %{_datadir}/locale/sv/cups_sv.po
437 %dir %attr(775,root,lp) /var/cache/cups
438 %dir %attr(755,root,lp) /var/run/cups
439 %dir %attr(511,lp,sys) /var/run/cups/certs
440 %dir %attr(710,root,lp) /var/spool/cups
441 %dir %attr(1770,root,lp) /var/spool/cups/tmp
442 %attr(640,root,lp) %ghost /var/cache/cups/help.index
443 %attr(640,root,lp) %ghost /var/cache/cups/job.cache
444 %attr(640,root,lp) %ghost /var/cache/cups/remote.cache
445 %attr(750,root,logs) %dir /var/log/archiv/cups
446 %attr(750,root,logs) %dir /var/log/cups
447 %attr(640,root,logs) %ghost /var/log/cups/access_log
448 %attr(640,root,logs) %ghost /var/log/cups/error_log
449 %attr(640,root,logs) %ghost /var/log/cups/page_log
452 %defattr(644,root,root,755)
453 %attr(755,root,root) %{_libdir}/libcups.so.*
456 %defattr(644,root,root,755)
457 %attr(644,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/client.conf
458 %attr(755,root,root) %{_bindir}/cancel
459 %attr(755,root,root) %{_bindir}/lp
460 %attr(755,root,root) %{_bindir}/lpoptions
461 %attr(755,root,root) %{_bindir}/lpq
462 %attr(755,root,root) %{_bindir}/lpr
463 %attr(755,root,root) %{_bindir}/lprm
464 %attr(755,root,root) %{_bindir}/lpstat
465 %attr(755,root,root) %{_sbindir}/accept
466 %attr(755,root,root) %{_sbindir}/cupsaddsmb
467 %attr(755,root,root) %{_sbindir}/lpadmin
468 %attr(755,root,root) %{_sbindir}/lpc
469 %attr(755,root,root) %{_sbindir}/lpinfo
470 %attr(755,root,root) %{_sbindir}/lpmove
471 %attr(755,root,root) %{_sbindir}/reject
472 %{_mandir}/man1/cancel.1*
473 %{_mandir}/man1/lp.1*
474 %{_mandir}/man1/lpoptions.1*
475 %{_mandir}/man1/lpq.1*
476 %{_mandir}/man1/lpr.1*
477 %{_mandir}/man1/lprm.1*
478 %{_mandir}/man1/lpstat.1*
479 #%lang(fr) %{_mandir}/fr/man1/cancel.1*
480 #%lang(fr) %{_mandir}/fr/man1/lp.1*
481 #%lang(fr) %{_mandir}/fr/man1/lpoptions.1*
482 #%lang(fr) %{_mandir}/fr/man1/lpq.1*
483 #%lang(fr) %{_mandir}/fr/man1/lpr.1*
484 #%lang(fr) %{_mandir}/fr/man1/lprm.1*
485 #%lang(fr) %{_mandir}/fr/man1/lpstat.1*
486 #%lang(es) %{_mandir}/es/man1/lp.1*
487 #%lang(es) %{_mandir}/es/man1/lpoptions.1*
488 #%lang(es) %{_mandir}/es/man1/lpq.1*
489 #%lang(es) %{_mandir}/es/man1/lpr.1*
490 #%lang(es) %{_mandir}/es/man1/lprm.1*
491 #%lang(es) %{_mandir}/es/man1/lpstat.1*
494 %defattr(644,root,root,755)
495 %attr(755,root,root) %{_libdir}/libcupsimage.so.*
498 %defattr(644,root,root,755)
499 %attr(755,root,root) %{_bindir}/cups-config
502 %{_mandir}/man1/cups-config*
504 #%lang(fr) %{_mandir}/fr/man1/cups-config*
505 #%lang(es) %{_mandir}/es/man1/cups-config*
508 %defattr(644,root,root,755)
513 %defattr(644,root,root,755)
514 %{perl_vendorarch}/*.pm
515 %dir %{perl_vendorarch}/auto/CUPS
516 %{perl_vendorarch}/auto/CUPS/*.bs
517 %{perl_vendorarch}/auto/CUPS/autosplit.ix
518 %attr(755,root,root) %{perl_vendorarch}/auto/CUPS/*.so
523 %defattr(644,root,root,755)
524 %doc scripting/php/README
525 %attr(755,root,root) %{_php_extensiondir}/*
526 %config(noreplace) %verify(not md5 mtime size) %{_php_configdir}/conf.d/phpcups.ini
530 %defattr(644,root,root,755)
531 %attr(755,root,root) %{_ulibdir}/cups/backend/usb
533 %files backend-serial
534 %defattr(644,root,root,755)
535 %attr(755,root,root) %{_ulibdir}/cups/backend/serial
537 %files backend-parallel
538 %defattr(644,root,root,755)
539 %attr(755,root,root) %{_ulibdir}/cups/backend/parallel