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}-ENCRYPTIONtxt.patch
29 Patch4: %{name}-man_pages_linking.patch
30 Patch5: %{name}-nolibs.patch
31 Patch6: %{name}-nostrip.patch
32 Patch7: %{name}-rpath.patch
33 Patch8: %{name}-gcc34.patch
34 Patch9: %{name}-tmpdir.patch
35 Patch10: %{name}-gcc4.patch
36 Patch11: %{name}-CAN-2005-2097.patch
37 Patch12: %{name}-anonymous_jobs.patch
38 URL: http://www.cups.org/
39 BuildRequires: autoconf
40 BuildRequires: automake
41 BuildRequires: dbus-devel
42 BuildRequires: gnutls-devel
43 BuildRequires: libjpeg-devel
44 BuildRequires: libpng-devel
45 BuildRequires: libstdc++-devel
46 BuildRequires: libtiff-devel
47 BuildRequires: openslp-devel
48 BuildRequires: pam-devel
49 %{?with_php:BuildRequires: php-devel >= 4:5.0.0}
50 BuildRequires: pkgconfig
51 BuildRequires: rpm-perlprov
52 BuildRequires: rpmbuild(macros) >= 1.268
53 Requires(post,preun): /sbin/chkconfig
54 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
55 Requires: pam >= 0.77.3
59 Conflicts: ghostscript < 7.05.4
60 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
62 %define _ulibdir %{_prefix}/lib
65 %define _php_configdir /etc/php
66 %define _php_extensiondir %(php-config --extension-dir)
70 CUPS provides a portable printing layer for UNIX-based operating
71 systems. It has been developed by Easy Software Products to promote a
72 standard printing solution for all UNIX vendors and users. CUPS
73 provides the System V and Berkeley command-line interfaces. CUPS uses
74 the Internet Printing Protocol ("IPP") as the basis for managing print
75 jobs and queues. The Line Printer Daemon ("LPD") Server Message Block
76 ("SMB"), and AppSocket (a.k.a. JetDirect) protocols are also supported
77 with reduced functionality. CUPS adds network printer browsing and
78 PostScript Printer Description ("PPD") based printing options to
79 support real-world printing under UNIX.
82 CUPS dostarcza standardowy poziom drukowania dla systemów uniksowych.
83 CUPS u¿ywa protoko³u IPP - Internet Printint Protocol jako podstawy do
84 zarz±dzania zadaniami i kolejkami druku.
87 O sistema Unix de impressão (CUPS) fornece uma camada de impressão
88 portável para os sistemas operacionais baseados no UNIX®.
91 Summary: Common Unix Printing System Libraries
92 Summary(pl): Biblioteki dla CUPS
93 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
95 Provides: %{name}-libs = %{epoch}:%{version}-%{release}
100 Common Unix Printing System Libraries.
102 %description lib -l pl
105 %description lib -l pt_BR
106 Bibliotecas CUPS requeridas pelos clientes CUPS.
109 Summary: Common Unix Printing System Clients
110 Summary(pl): Aplikacje klienckie dla CUPS
111 Group: Applications/Printing
112 Provides: %{name}-clients = %{epoch}:%{version}-%{release}
116 Common Unix Printing System Clients.
118 %description clients -l pl
119 Aplikacje klienckie dla CUPS.
122 Summary: Common Unix Printing System Libraries - images manipulation
123 Summary(pl): Biblioteki dla CUPS - obs³uga formatów graficznych
124 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
126 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
129 %description image-lib
130 Common Unix Printing System Libraries - images manupalation.
132 %description image-lib -l pl
133 Biblioteki dla CUPS - obs³uga formatów graficznych.
135 %description image-lib -l pt_BR
136 Bibliotecas CUPS requeridas pelos clientes CUPS.
139 Summary: Common Unix Printing System development files
140 Summary(pl): Popularny System Druku dla Uniksa, pliki nag³ówkowe
141 Summary(pt_BR): Sistema Unix de Impressão - ambiente de desenvolvimento
142 Group: Development/Libraries
143 Requires: %{name}-image-lib = %{epoch}:%{version}-%{release}
144 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
145 Obsoletes: libcups1-devel
148 Common Unix Printing System development files.
150 %description devel -l pl
151 Popularny System Druku dla Uniksa, pliki nag³ówkowe.
153 %description devel -l pt_BR
154 Este pacote é um adicional que contem um ambiente de desenvolvimento
155 para a criação de suporte a novas impressoras e novos serviços ao
159 Summary: Common Unix Printing System static libraries
160 Summary(pl): Popularny System Druku dla Uniksa, biblioteki statyczne
161 Summary(pt_BR): Common Unix Printing System - bibliotecas estáticas
162 Group: Development/Libraries
163 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
166 Common Unix Printing System static libraries.
168 %description static -l pl
169 Popularny System Druku dla Uniksa, biblioteki statyczne.
171 %description static -l pt_BR
172 Bibliotecas estáticas para desenvolvimento de programas que usam as
175 %package -n perl-cups
176 Summary: Perl module for CUPS
177 Summary(pl): Modu³ Perla CUPS
178 Group: Development/Languages/Perl
179 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
181 %description -n perl-cups
182 Perl module for Common Unix Printing System.
184 %description -n perl-cups -l pl
185 Modu³ Perla do Popularnego Systemu Druku dla Uniksa.
188 Summary: PHP module for CUPS
189 Summary(pl): Modu³ PHP CUPS
190 Group: Development/Languages/PHP
191 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
192 Requires: php-common >= 4:5.0.0
194 %description -n php-cups
195 PHP module for Common Unix Printing System.
197 %description -n php-cups -l pl
198 Modu³ PHP do Popularnego Systemu Druku dla Uniksa.
201 Summary: USB backend for CUPS
202 Summary(pl): Backend USB dla CUPS-a
203 Group: Applications/Printing
204 Requires: %{name} = %{epoch}:%{version}-%{release}
206 %description backend-usb
207 This package allow CUPS printing on USB printers.
209 %description backend-usb -l pl
210 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach USB.
212 %package backend-serial
213 Summary: Serial port backend for CUPS
214 Summary(pl): Backend obs³uguj±cy porty szeregowe dla CUPS-a
215 Group: Applications/Printing
216 Requires: %{name} = %{epoch}:%{version}-%{release}
218 %description backend-serial
219 This package allow CUPS printing on printers connected by serial
222 %description backend-serial -l pl
223 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
224 pod³±czonych do portów szeregowych.
226 %package backend-parallel
227 Summary: Parallel port backend for CUPS
228 Summary(pl): Backend obs³uguj±cy porty równoleg³e dla CUPS-a
229 Group: Applications/Printing
230 Requires: %{name} = %{epoch}:%{version}-%{release}
232 %description backend-parallel
233 This package allow CUPS printing on printers connected by parallel
236 %description backend-parallel -l pl
237 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
238 pod³±czonych do portów równoleg³ych.
245 #patch3 -p1 obsoleted
253 #patch10 -p1 to check
254 #patch11 -p1 obsoleted
255 #patch12 -p1 to check
261 --libdir=%{_ulibdir} \
263 %{?debug:--enable-debug} \
264 --with-docdir=%{_ulibdir}/%{name}/cgi-bin
267 %{__perl} -pi -e 's#-I\.\.\/\.\.#-I../.. -I../../cups#g' scripting/php/Makefile
268 %{?with_php:%{__make} -C scripting/php PHPCONFIG=%{_bindir}/php-config}
272 %{__perl} -pi -e 's@-lcups@-L../../cups $1@' Makefile.PL
273 %{__perl} Makefile.PL \
275 OPTIMIZE="%{rpmcflags} -I../.."
276 # avoid rpaths generated by MakeMaker
277 %{__perl} -pi -e 's@LD_RUN_PATH="\$\(LD_RUN_PATH\)" @@' Makefile
284 rm -rf $RPM_BUILD_ROOT
285 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,pam.d,logrotate.d,security} \
286 $RPM_BUILD_ROOT/var/log/{,archiv/}cups
289 BUILDROOT=$RPM_BUILD_ROOT \
293 if [ "%{_lib}" != "lib" ] ; then
294 install -d $RPM_BUILD_ROOT%{_libdir}
295 mv $RPM_BUILD_ROOT%{_ulibdir}/*.so* $RPM_BUILD_ROOT%{_libdir}
296 #mv $RPM_BUILD_ROOT%{_ulibdir}/*.a $RPM_BUILD_ROOT%{_libdir}
300 %{__make} -C scripting/php install \
301 PHPDIR="%{__php_extensiondir}"
302 install -d $RPM_BUILD_ROOT%{_php_configdir}/conf.d
303 cat > $RPM_BUILD_ROOT%{_php_configdir}/conf.d/phpcups.ini << EOF
304 ; Enable phpcups extension module
312 DESTDIR=$RPM_BUILD_ROOT
316 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
317 install %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/%{name}
318 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
320 gzip -9nf $RPM_BUILD_ROOT%{_datadir}/%{name}/model/*.ppd
322 # for internal HTTP browser:
323 cp doc/*.html $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin
324 cp doc/*.css $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin
325 cp doc/images/* $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin/images
327 touch $RPM_BUILD_ROOT/var/log/cups/{access_log,error_log,page_log}
328 touch $RPM_BUILD_ROOT/etc/security/blacklist.cups
329 touch $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{classes,printers}.conf
331 # windows drivers can be put there.
332 install -d $RPM_BUILD_ROOT%{_datadir}/cups/drivers
334 touch $RPM_BUILD_ROOT/var/cache/cups/{job,remote}.cache
335 install -d $RPM_BUILD_ROOT/etc/cups/ssl
337 # post-strip can't work on readonly files
338 chmod u+w $RPM_BUILD_ROOT%{perl_vendorarch}/auto/CUPS/CUPS.so
340 # check-files cleanup
341 rm -rf $RPM_BUILD_ROOT%{_mandir}/{,es/,fr/}cat?
342 rm -rf $RPM_BUILD_ROOT/etc/{init.d,rc?.d}/*
343 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/cupsd.conf.default
346 rm -rf $RPM_BUILD_ROOT
349 /sbin/chkconfig --add cups
350 %service cups restart "cups daemon"
353 if [ "$1" = "0" ]; then
355 /sbin/chkconfig --del cups
358 %post lib -p /sbin/ldconfig
359 %postun lib -p /sbin/ldconfig
360 %post image-lib -p /sbin/ldconfig
361 %postun image-lib -p /sbin/ldconfig
364 [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
365 [ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart
368 if [ "$1" = 0 ]; then
369 [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
370 [ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart
374 %defattr(644,root,root,755)
375 #%doc *.gz doc/*.html doc/*.css doc/images
377 %attr(640,root,root) %config %verify(not md5 mtime size) /etc/pam.d/*
378 %attr(754,root,root) /etc/rc.d/init.d/cups
379 /etc/dbus-1/system.d/cups.conf
380 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}
381 %attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/classes.conf
382 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/cupsd.conf
383 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/printers.conf
384 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.convs
385 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.types
386 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.cups
387 %dir %attr(700,root,lp) %{_sysconfdir}/%{name}/ssl
388 %dir %{_sysconfdir}/%{name}/interfaces
389 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}/ppd
390 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
391 %attr(4755,lp,root) %{_bindir}/lppasswd
392 %attr(755,root,root) %{_bindir}/cupstestppd
393 %attr(755,root,root) %{_bindir}/cupstestdsc
394 #%attr(755,root,root) %{_bindir}/cupsdisable
395 #%attr(755,root,root) %{_bindir}/cupsenable
396 %dir %{_ulibdir}/cups
397 %dir %{_ulibdir}/cups/*
398 %attr(755,root,root) %{_ulibdir}/cups/*/*
399 %exclude %{_ulibdir}/cups/backend/usb
400 %exclude %{_ulibdir}/cups/backend/serial
401 %exclude %{_ulibdir}/cups/backend/parallel
402 %attr(755,root,root) %{_sbindir}/cupsd
403 %dir %{_datadir}/cups
404 %{_datadir}/cups/banners
405 %{_datadir}/cups/charmaps
406 %{_datadir}/cups/charsets
407 %{_datadir}/cups/data
408 %{_datadir}/cups/drivers
409 %{_datadir}/cups/fonts
410 %{_datadir}/cups/model
411 %dir %{_datadir}/cups/templates
412 %{_datadir}/cups/templates/*.tmpl
413 %lang(es) %{_datadir}/cups/templates/es
414 %lang(ja) %{_datadir}/cups/templates/ja
415 %lang(pl) %{_datadir}/cups/templates/pl
416 %lang(sv) %{_datadir}/cups/templates/sv
417 %{_mandir}/man7/backend.7*
418 %{_mandir}/man1/cupstestppd.1*
419 %{_mandir}/man1/cupstestdsc.1*
420 %{_mandir}/man7/filter.7*
421 %{_mandir}/man1/lppasswd.1*
423 #%lang(fr) %{_mandir}/fr/man1/backend.1*
424 #%lang(fr) %{_mandir}/fr/man1/cupstestppd.1*
425 #%lang(fr) %{_mandir}/fr/man1/filter.1*
426 #%lang(fr) %{_mandir}/fr/man1/lppasswd.1*
427 #%lang(fr) %{_mandir}/fr/man[58]/*
428 #%lang(es) %{_mandir}/es/man1/backend.1*
429 #%lang(es) %{_mandir}/es/man1/cupstestppd.1*
430 #%lang(es) %{_mandir}/es/man1/filter.1*
431 #%lang(es) %{_mandir}/es/man1/lppasswd.1*
432 #%lang(es) %{_mandir}/es/man[58]/*
433 #%{_datadir}/locale/C/cups_C
434 #%lang(be) %{_datadir}/locale/be/cups_be
435 #%lang(cs) %{_datadir}/locale/cs/cups_cs
436 #%lang(de) %{_datadir}/locale/de/cups_de
437 #%{_datadir}/locale/en/cups_en
438 #%lang(en_US) %{_datadir}/locale/en_US/cups_en_US
439 %lang(es) %{_datadir}/locale/es/cups_es.po
440 %lang(ja) %{_datadir}/locale/ja/cups_ja.po
441 #%lang(fr) %{_datadir}/locale/fr/cups_fr
442 #%lang(he) %{_datadir}/locale/he/cups_he
443 #%lang(it) %{_datadir}/locale/it/cups_it
444 #%lang(ru) %{_datadir}/locale/ru_RU/cups_ru_RU
445 %lang(sv) %{_datadir}/locale/sv/cups_sv.po
446 #%lang(uk) %{_datadir}/locale/uk/cups_uk
447 #%lang(uk) %{_datadir}/locale/uk_UA/cups_uk_UA
448 #%lang(zh_CN) %{_datadir}/locale/zh_CN/cups_zh_CN
449 %dir %attr(710,root,lp) /var/spool/cups
450 %dir %attr(755,root,lp) /var/run/cups
451 %dir %attr(511,lp,sys) /var/run/cups/certs
452 %dir %attr(775,root,lp) /var/cache/cups
453 %attr(640,root,lp) %ghost /var/cache/cups/job.cache
454 %attr(640,root,lp) %ghost /var/cache/cups/remote.cache
455 %attr(750,root,logs) %dir /var/log/archiv/cups
456 %attr(750,root,logs) %dir /var/log/cups
457 %attr(640,root,logs) %ghost /var/log/cups/access_log
458 %attr(640,root,logs) %ghost /var/log/cups/error_log
459 %attr(640,root,logs) %ghost /var/log/cups/page_log
462 %defattr(644,root,root,755)
463 %attr(755,root,root) %{_libdir}/libcups.so.*
466 %defattr(644,root,root,755)
467 #%attr(644,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/client.conf
468 %attr(755,root,root) %{_bindir}/cancel
469 %attr(755,root,root) %{_bindir}/lp
470 %attr(755,root,root) %{_bindir}/lpoptions
471 %attr(755,root,root) %{_bindir}/lpq
472 %attr(755,root,root) %{_bindir}/lpr
473 %attr(755,root,root) %{_bindir}/lprm
474 %attr(755,root,root) %{_bindir}/lpstat
475 %attr(755,root,root) %{_sbindir}/accept
476 %attr(755,root,root) %{_sbindir}/cupsaddsmb
477 %attr(755,root,root) %{_sbindir}/lpadmin
478 %attr(755,root,root) %{_sbindir}/lpc
479 %attr(755,root,root) %{_sbindir}/lpinfo
480 %attr(755,root,root) %{_sbindir}/lpmove
481 %attr(755,root,root) %{_sbindir}/reject
482 %{_mandir}/man1/cancel.1*
483 %{_mandir}/man1/lp.1*
484 %{_mandir}/man1/lpoptions.1*
485 %{_mandir}/man1/lpq.1*
486 %{_mandir}/man1/lpr.1*
487 %{_mandir}/man1/lprm.1*
488 %{_mandir}/man1/lpstat.1*
489 #%lang(fr) %{_mandir}/fr/man1/cancel.1*
490 #%lang(fr) %{_mandir}/fr/man1/lp.1*
491 #%lang(fr) %{_mandir}/fr/man1/lpoptions.1*
492 #%lang(fr) %{_mandir}/fr/man1/lpq.1*
493 #%lang(fr) %{_mandir}/fr/man1/lpr.1*
494 #%lang(fr) %{_mandir}/fr/man1/lprm.1*
495 #%lang(fr) %{_mandir}/fr/man1/lpstat.1*
496 #%lang(es) %{_mandir}/es/man1/lp.1*
497 #%lang(es) %{_mandir}/es/man1/lpoptions.1*
498 #%lang(es) %{_mandir}/es/man1/lpq.1*
499 #%lang(es) %{_mandir}/es/man1/lpr.1*
500 #%lang(es) %{_mandir}/es/man1/lprm.1*
501 #%lang(es) %{_mandir}/es/man1/lpstat.1*
504 %defattr(644,root,root,755)
505 %attr(755,root,root) %{_libdir}/libcupsimage.so.*
508 %defattr(644,root,root,755)
509 %attr(755,root,root) %{_bindir}/cups-config
512 %{_mandir}/man1/cups-config*
514 #%lang(fr) %{_mandir}/fr/man1/cups-config*
515 #%lang(es) %{_mandir}/es/man1/cups-config*
518 #%defattr(644,root,root,755)
523 %defattr(644,root,root,755)
524 %{perl_vendorarch}/*.pm
525 %dir %{perl_vendorarch}/auto/CUPS
526 %{perl_vendorarch}/auto/CUPS/*.bs
527 %{perl_vendorarch}/auto/CUPS/autosplit.ix
528 %attr(755,root,root) %{perl_vendorarch}/auto/CUPS/*.so
533 %defattr(644,root,root,755)
534 %doc scripting/php/README
535 %attr(755,root,root) %{_php_extensiondir}/*
536 %config(noreplace) %verify(not md5 mtime size) %{_php_configdir}/conf.d/phpcups.ini
540 %defattr(644,root,root,755)
541 %attr(755,root,root) %{_ulibdir}/cups/backend/usb
543 %files backend-serial
544 %defattr(644,root,root,755)
545 %attr(755,root,root) %{_ulibdir}/cups/backend/serial
547 %files backend-parallel
548 %defattr(644,root,root,755)
549 %attr(755,root,root) %{_ulibdir}/cups/backend/parallel