2 # - build/install java ext ?
6 %bcond_without php # don't build PHP extension
7 %bcond_without perl # don't build Perl extension
9 %include /usr/lib/rpm/macros.perl
11 Summary: Common Unix Printing System
12 Summary(pl): Popularny system druku dla Uniksa
13 Summary(pt_BR): Sistema Unix de Impressão
19 Group: Applications/Printing
20 Source0: http://ftp.easysw.com/pub/cups/%{version}/%{name}-%{version}-source.tar.bz2
21 # Source0-md5: a168b0b1c8bb946060e659e1df2927c5
24 Source3: %{name}.logrotate
25 Patch0: %{name}-config.patch
26 Patch1: %{name}-lp-lpr.patch
27 Patch2: %{name}-options.patch
28 Patch3: %{name}-man_pages_linking.patch
29 Patch4: %{name}-nostrip.patch
30 Patch5: %{name}-rpath.patch
31 Patch6: %{name}-anonymous_jobs.patch
32 URL: http://www.cups.org/
33 BuildRequires: autoconf
34 BuildRequires: automake
35 BuildRequires: dbus-devel
36 BuildRequires: libjpeg-devel
37 BuildRequires: libpng-devel
38 BuildRequires: libstdc++-devel
39 BuildRequires: libtiff-devel
40 BuildRequires: openldap-devel
41 BuildRequires: openslp-devel
42 BuildRequires: openssl-devel
43 BuildRequires: pam-devel
44 %{?with_php:BuildRequires: php-devel >= 4:5.0.0}
45 BuildRequires: pkgconfig
46 BuildRequires: rpm-perlprov
47 BuildRequires: rpmbuild(macros) >= 1.268
48 Requires(post,preun): /sbin/chkconfig
49 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
50 Requires: pam >= 0.77.3
54 Conflicts: ghostscript < 7.05.4
55 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
57 %define _ulibdir %{_prefix}/lib
60 %define _php_configdir /etc/php
61 %define _php_extensiondir %(php-config --extension-dir)
65 CUPS provides a portable printing layer for UNIX-based operating
66 systems. It has been developed by Easy Software Products to promote a
67 standard printing solution for all UNIX vendors and users. CUPS
68 provides the System V and Berkeley command-line interfaces. CUPS uses
69 the Internet Printing Protocol ("IPP") as the basis for managing print
70 jobs and queues. The Line Printer Daemon ("LPD") Server Message Block
71 ("SMB"), and AppSocket (a.k.a. JetDirect) protocols are also supported
72 with reduced functionality. CUPS adds network printer browsing and
73 PostScript Printer Description ("PPD") based printing options to
74 support real-world printing under UNIX.
77 CUPS dostarcza standardowy poziom drukowania dla systemów uniksowych.
78 CUPS u¿ywa protoko³u IPP - Internet Printint Protocol jako podstawy do
79 zarz±dzania zadaniami i kolejkami druku.
82 O sistema Unix de impressão (CUPS) fornece uma camada de impressão
83 portável para os sistemas operacionais baseados no UNIX®.
86 Summary: Common Unix Printing System Libraries
87 Summary(pl): Biblioteki dla CUPS
88 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
90 Provides: %{name}-libs = %{epoch}:%{version}-%{release}
95 Common Unix Printing System Libraries.
97 %description lib -l pl
100 %description lib -l pt_BR
101 Bibliotecas CUPS requeridas pelos clientes CUPS.
104 Summary: Common Unix Printing System Clients
105 Summary(pl): Aplikacje klienckie dla CUPS
106 Group: Applications/Printing
107 Provides: %{name}-clients = %{epoch}:%{version}-%{release}
111 Common Unix Printing System Clients.
113 %description clients -l pl
114 Aplikacje klienckie dla CUPS.
117 Summary: Common Unix Printing System Libraries - images manipulation
118 Summary(pl): Biblioteki dla CUPS - obs³uga formatów graficznych
119 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
121 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
124 %description image-lib
125 Common Unix Printing System Libraries - images manupalation.
127 %description image-lib -l pl
128 Biblioteki dla CUPS - obs³uga formatów graficznych.
130 %description image-lib -l pt_BR
131 Bibliotecas CUPS requeridas pelos clientes CUPS.
134 Summary: Common Unix Printing System development files
135 Summary(pl): Popularny System Druku dla Uniksa, pliki nag³ówkowe
136 Summary(pt_BR): Sistema Unix de Impressão - ambiente de desenvolvimento
137 Group: Development/Libraries
138 Requires: %{name}-image-lib = %{epoch}:%{version}-%{release}
139 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
140 Obsoletes: libcups1-devel
143 Common Unix Printing System development files.
145 %description devel -l pl
146 Popularny System Druku dla Uniksa, pliki nag³ówkowe.
148 %description devel -l pt_BR
149 Este pacote é um adicional que contem um ambiente de desenvolvimento
150 para a criação de suporte a novas impressoras e novos serviços ao
154 Summary: Common Unix Printing System static libraries
155 Summary(pl): Popularny System Druku dla Uniksa, biblioteki statyczne
156 Summary(pt_BR): Common Unix Printing System - bibliotecas estáticas
157 Group: Development/Libraries
158 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
161 Common Unix Printing System static libraries.
163 %description static -l pl
164 Popularny System Druku dla Uniksa, biblioteki statyczne.
166 %description static -l pt_BR
167 Bibliotecas estáticas para desenvolvimento de programas que usam as
170 %package -n perl-cups
171 Summary: Perl module for CUPS
172 Summary(pl): Modu³ Perla CUPS
173 Group: Development/Languages/Perl
174 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
176 %description -n perl-cups
177 Perl module for Common Unix Printing System.
179 %description -n perl-cups -l pl
180 Modu³ Perla do Popularnego Systemu Druku dla Uniksa.
183 Summary: PHP module for CUPS
184 Summary(pl): Modu³ PHP CUPS
185 Group: Development/Languages/PHP
186 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
187 Requires: php-common >= 4:5.0.0
189 %description -n php-cups
190 PHP module for Common Unix Printing System.
192 %description -n php-cups -l pl
193 Modu³ PHP do Popularnego Systemu Druku dla Uniksa.
196 Summary: USB backend for CUPS
197 Summary(pl): Backend USB dla CUPS-a
198 Group: Applications/Printing
199 Requires: %{name} = %{epoch}:%{version}-%{release}
201 %description backend-usb
202 This package allow CUPS printing on USB printers.
204 %description backend-usb -l pl
205 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach USB.
207 %package backend-serial
208 Summary: Serial port backend for CUPS
209 Summary(pl): Backend obs³uguj±cy porty szeregowe dla CUPS-a
210 Group: Applications/Printing
211 Requires: %{name} = %{epoch}:%{version}-%{release}
213 %description backend-serial
214 This package allow CUPS printing on printers connected by serial
217 %description backend-serial -l pl
218 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
219 pod³±czonych do portów szeregowych.
221 %package backend-parallel
222 Summary: Parallel port backend for CUPS
223 Summary(pl): Backend obs³uguj±cy porty równoleg³e dla CUPS-a
224 Group: Applications/Printing
225 Requires: %{name} = %{epoch}:%{version}-%{release}
227 %description backend-parallel
228 This package allow CUPS printing on printers connected by parallel
231 %description backend-parallel -l pl
232 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
233 pod³±czonych do portów równoleg³ych.
249 --libdir=%{_ulibdir} \
257 %{?debug:--enable-debug} \
258 --with-docdir=%{_ulibdir}/%{name}/cgi-bin
261 %{__perl} -pi -e 's#-I\.\.\/\.\.#-I../.. -I../../cups#g' scripting/php/Makefile
262 %{?with_php:%{__make} -C scripting/php PHPCONFIG=%{_bindir}/php-config}
266 %{__perl} -pi -e 's@-lcups@-L../../cups $1@' Makefile.PL
267 %{__perl} Makefile.PL \
269 OPTIMIZE="%{rpmcflags} -I../.."
270 # avoid rpaths generated by MakeMaker
271 %{__perl} -pi -e 's@LD_RUN_PATH="\$\(LD_RUN_PATH\)" @@' Makefile
278 rm -rf $RPM_BUILD_ROOT
279 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,pam.d,logrotate.d,security} \
280 $RPM_BUILD_ROOT/var/log/{,archiv/}cups
283 BUILDROOT=$RPM_BUILD_ROOT \
287 if [ "%{_lib}" != "lib" ] ; then
288 install -d $RPM_BUILD_ROOT%{_libdir}
289 mv $RPM_BUILD_ROOT%{_ulibdir}/*.so* $RPM_BUILD_ROOT%{_libdir}
290 #mv $RPM_BUILD_ROOT%{_ulibdir}/*.a $RPM_BUILD_ROOT%{_libdir}
294 %{__make} -C scripting/php install \
295 PHPDIR=$RPM_BUILD_ROOT%{_php_extensiondir}
296 install -d $RPM_BUILD_ROOT%{_php_configdir}/conf.d
297 cat > $RPM_BUILD_ROOT%{_php_configdir}/conf.d/phpcups.ini << EOF
298 ; Enable phpcups extension module
306 DESTDIR=$RPM_BUILD_ROOT
310 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
311 install %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/%{name}
312 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
314 gzip -9nf $RPM_BUILD_ROOT%{_datadir}/%{name}/model/*.ppd
316 # for internal HTTP browser:
317 cp doc/*.html $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin
318 cp doc/*.css $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin
319 cp doc/images/* $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin/images
321 touch $RPM_BUILD_ROOT/var/log/cups/{access_log,error_log,page_log}
322 touch $RPM_BUILD_ROOT/etc/security/blacklist.cups
323 touch $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{classes,printers,client}.conf
325 # windows drivers can be put there.
326 install -d $RPM_BUILD_ROOT%{_datadir}/cups/drivers
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(640,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) %{_bindir}/cupsdisable
389 #%attr(755,root,root) %{_bindir}/cupsenable
390 %dir %{_ulibdir}/cups
391 %dir %{_ulibdir}/cups/*
392 %attr(755,root,root) %{_ulibdir}/cups/*/*
393 %exclude %{_ulibdir}/cups/backend/usb
394 %exclude %{_ulibdir}/cups/backend/serial
395 %exclude %{_ulibdir}/cups/backend/parallel
396 %attr(755,root,root) %{_sbindir}/cupsd
397 %dir %{_datadir}/cups
398 %{_datadir}/cups/banners
399 %{_datadir}/cups/charmaps
400 %{_datadir}/cups/charsets
401 %{_datadir}/cups/data
402 %{_datadir}/cups/drivers
403 %{_datadir}/cups/fonts
404 %{_datadir}/cups/model
405 %dir %{_datadir}/cups/templates
406 %{_datadir}/cups/templates/*.tmpl
407 %lang(es) %{_datadir}/cups/templates/es
408 %lang(ja) %{_datadir}/cups/templates/ja
409 %lang(pl) %{_datadir}/cups/templates/pl
410 %lang(sv) %{_datadir}/cups/templates/sv
411 %{_mandir}/man7/backend.7*
412 %{_mandir}/man1/cupstestppd.1*
413 %{_mandir}/man1/cupstestdsc.1*
414 %{_mandir}/man7/filter.7*
415 %{_mandir}/man1/lppasswd.1*
417 #%lang(fr) %{_mandir}/fr/man1/backend.1*
418 #%lang(fr) %{_mandir}/fr/man1/cupstestppd.1*
419 #%lang(fr) %{_mandir}/fr/man1/filter.1*
420 #%lang(fr) %{_mandir}/fr/man1/lppasswd.1*
421 #%lang(fr) %{_mandir}/fr/man[58]/*
422 #%lang(es) %{_mandir}/es/man1/backend.1*
423 #%lang(es) %{_mandir}/es/man1/cupstestppd.1*
424 #%lang(es) %{_mandir}/es/man1/filter.1*
425 #%lang(es) %{_mandir}/es/man1/lppasswd.1*
426 #%lang(es) %{_mandir}/es/man[58]/*
427 #%{_datadir}/locale/C/cups_C
428 #%lang(be) %{_datadir}/locale/be/cups_be
429 #%lang(cs) %{_datadir}/locale/cs/cups_cs
430 #%lang(de) %{_datadir}/locale/de/cups_de
431 #%{_datadir}/locale/en/cups_en
432 #%lang(en_US) %{_datadir}/locale/en_US/cups_en_US
433 %lang(es) %{_datadir}/locale/es/cups_es.po
434 %lang(ja) %{_datadir}/locale/ja/cups_ja.po
435 #%lang(fr) %{_datadir}/locale/fr/cups_fr
436 #%lang(he) %{_datadir}/locale/he/cups_he
437 #%lang(it) %{_datadir}/locale/it/cups_it
438 #%lang(ru) %{_datadir}/locale/ru_RU/cups_ru_RU
439 %lang(sv) %{_datadir}/locale/sv/cups_sv.po
440 #%lang(uk) %{_datadir}/locale/uk/cups_uk
441 #%lang(uk) %{_datadir}/locale/uk_UA/cups_uk_UA
442 #%lang(zh_CN) %{_datadir}/locale/zh_CN/cups_zh_CN
443 %dir %attr(710,root,lp) /var/spool/cups
444 %dir %attr(755,root,lp) /var/run/cups
445 %dir %attr(511,lp,sys) /var/run/cups/certs
446 %dir %attr(775,root,lp) /var/cache/cups
447 %attr(640,root,lp) %ghost /var/cache/cups/job.cache
448 %attr(640,root,lp) %ghost /var/cache/cups/remote.cache
449 %attr(750,root,logs) %dir /var/log/archiv/cups
450 %attr(750,root,logs) %dir /var/log/cups
451 %attr(640,root,logs) %ghost /var/log/cups/access_log
452 %attr(640,root,logs) %ghost /var/log/cups/error_log
453 %attr(640,root,logs) %ghost /var/log/cups/page_log
456 %defattr(644,root,root,755)
457 %attr(755,root,root) %{_libdir}/libcups.so.*
460 %defattr(644,root,root,755)
461 %attr(644,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/client.conf
462 %attr(755,root,root) %{_bindir}/cancel
463 %attr(755,root,root) %{_bindir}/lp
464 %attr(755,root,root) %{_bindir}/lpoptions
465 %attr(755,root,root) %{_bindir}/lpq
466 %attr(755,root,root) %{_bindir}/lpr
467 %attr(755,root,root) %{_bindir}/lprm
468 %attr(755,root,root) %{_bindir}/lpstat
469 %attr(755,root,root) %{_sbindir}/accept
470 %attr(755,root,root) %{_sbindir}/cupsaddsmb
471 %attr(755,root,root) %{_sbindir}/lpadmin
472 %attr(755,root,root) %{_sbindir}/lpc
473 %attr(755,root,root) %{_sbindir}/lpinfo
474 %attr(755,root,root) %{_sbindir}/lpmove
475 %attr(755,root,root) %{_sbindir}/reject
476 %{_mandir}/man1/cancel.1*
477 %{_mandir}/man1/lp.1*
478 %{_mandir}/man1/lpoptions.1*
479 %{_mandir}/man1/lpq.1*
480 %{_mandir}/man1/lpr.1*
481 %{_mandir}/man1/lprm.1*
482 %{_mandir}/man1/lpstat.1*
483 #%lang(fr) %{_mandir}/fr/man1/cancel.1*
484 #%lang(fr) %{_mandir}/fr/man1/lp.1*
485 #%lang(fr) %{_mandir}/fr/man1/lpoptions.1*
486 #%lang(fr) %{_mandir}/fr/man1/lpq.1*
487 #%lang(fr) %{_mandir}/fr/man1/lpr.1*
488 #%lang(fr) %{_mandir}/fr/man1/lprm.1*
489 #%lang(fr) %{_mandir}/fr/man1/lpstat.1*
490 #%lang(es) %{_mandir}/es/man1/lp.1*
491 #%lang(es) %{_mandir}/es/man1/lpoptions.1*
492 #%lang(es) %{_mandir}/es/man1/lpq.1*
493 #%lang(es) %{_mandir}/es/man1/lpr.1*
494 #%lang(es) %{_mandir}/es/man1/lprm.1*
495 #%lang(es) %{_mandir}/es/man1/lpstat.1*
498 %defattr(644,root,root,755)
499 %attr(755,root,root) %{_libdir}/libcupsimage.so.*
502 %defattr(644,root,root,755)
503 %attr(755,root,root) %{_bindir}/cups-config
506 %{_mandir}/man1/cups-config*
508 #%lang(fr) %{_mandir}/fr/man1/cups-config*
509 #%lang(es) %{_mandir}/es/man1/cups-config*
512 %defattr(644,root,root,755)
517 %defattr(644,root,root,755)
518 %{perl_vendorarch}/*.pm
519 %dir %{perl_vendorarch}/auto/CUPS
520 %{perl_vendorarch}/auto/CUPS/*.bs
521 %{perl_vendorarch}/auto/CUPS/autosplit.ix
522 %attr(755,root,root) %{perl_vendorarch}/auto/CUPS/*.so
527 %defattr(644,root,root,755)
528 %doc scripting/php/README
529 %attr(755,root,root) %{_php_extensiondir}/*
530 %config(noreplace) %verify(not md5 mtime size) %{_php_configdir}/conf.d/phpcups.ini
534 %defattr(644,root,root,755)
535 %attr(755,root,root) %{_ulibdir}/cups/backend/usb
537 %files backend-serial
538 %defattr(644,root,root,755)
539 %attr(755,root,root) %{_ulibdir}/cups/backend/serial
541 %files backend-parallel
542 %defattr(644,root,root,755)
543 %attr(755,root,root) %{_ulibdir}/cups/backend/parallel