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 Patch10: %{name}-gcc4.patch
35 Patch11: %{name}-CAN-2005-2097.patch
36 Patch12: %{name}-anonymous_jobs.patch
37 URL: http://www.cups.org/
38 BuildRequires: autoconf
39 BuildRequires: automake
40 BuildRequires: dbus-devel
41 BuildRequires: gnutls-devel
42 BuildRequires: libjpeg-devel
43 BuildRequires: libpng-devel
44 BuildRequires: libstdc++-devel
45 BuildRequires: libtiff-devel
46 BuildRequires: openslp-devel
47 BuildRequires: pam-devel
48 %{?with_php:BuildRequires: php-devel >= 4:5.0.0}
49 BuildRequires: pkgconfig
50 BuildRequires: rpm-perlprov
51 BuildRequires: rpmbuild(macros) >= 1.268
52 Requires(post,preun): /sbin/chkconfig
53 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
54 Requires: pam >= 0.77.3
58 Conflicts: ghostscript < 7.05.4
59 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
61 %define _ulibdir %{_prefix}/lib
64 %define _php_configdir /etc/php
65 %define _php_extensiondir %(php-config --extension-dir)
69 CUPS provides a portable printing layer for UNIX-based operating
70 systems. It has been developed by Easy Software Products to promote a
71 standard printing solution for all UNIX vendors and users. CUPS
72 provides the System V and Berkeley command-line interfaces. CUPS uses
73 the Internet Printing Protocol ("IPP") as the basis for managing print
74 jobs and queues. The Line Printer Daemon ("LPD") Server Message Block
75 ("SMB"), and AppSocket (a.k.a. JetDirect) protocols are also supported
76 with reduced functionality. CUPS adds network printer browsing and
77 PostScript Printer Description ("PPD") based printing options to
78 support real-world printing under UNIX.
81 CUPS dostarcza standardowy poziom drukowania dla systemów uniksowych.
82 CUPS u¿ywa protoko³u IPP - Internet Printint Protocol jako podstawy do
83 zarz±dzania zadaniami i kolejkami druku.
86 O sistema Unix de impressão (CUPS) fornece uma camada de impressão
87 portável para os sistemas operacionais baseados no UNIX®.
90 Summary: Common Unix Printing System Libraries
91 Summary(pl): Biblioteki dla CUPS
92 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
94 Provides: %{name}-libs = %{epoch}:%{version}-%{release}
99 Common Unix Printing System Libraries.
101 %description lib -l pl
104 %description lib -l pt_BR
105 Bibliotecas CUPS requeridas pelos clientes CUPS.
108 Summary: Common Unix Printing System Clients
109 Summary(pl): Aplikacje klienckie dla CUPS
110 Group: Applications/Printing
111 Provides: %{name}-clients = %{epoch}:%{version}-%{release}
115 Common Unix Printing System Clients.
117 %description clients -l pl
118 Aplikacje klienckie dla CUPS.
121 Summary: Common Unix Printing System Libraries - images manipulation
122 Summary(pl): Biblioteki dla CUPS - obs³uga formatów graficznych
123 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
125 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
128 %description image-lib
129 Common Unix Printing System Libraries - images manupalation.
131 %description image-lib -l pl
132 Biblioteki dla CUPS - obs³uga formatów graficznych.
134 %description image-lib -l pt_BR
135 Bibliotecas CUPS requeridas pelos clientes CUPS.
138 Summary: Common Unix Printing System development files
139 Summary(pl): Popularny System Druku dla Uniksa, pliki nag³ówkowe
140 Summary(pt_BR): Sistema Unix de Impressão - ambiente de desenvolvimento
141 Group: Development/Libraries
142 Requires: %{name}-image-lib = %{epoch}:%{version}-%{release}
143 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
144 Obsoletes: libcups1-devel
147 Common Unix Printing System development files.
149 %description devel -l pl
150 Popularny System Druku dla Uniksa, pliki nag³ówkowe.
152 %description devel -l pt_BR
153 Este pacote é um adicional que contem um ambiente de desenvolvimento
154 para a criação de suporte a novas impressoras e novos serviços ao
158 Summary: Common Unix Printing System static libraries
159 Summary(pl): Popularny System Druku dla Uniksa, biblioteki statyczne
160 Summary(pt_BR): Common Unix Printing System - bibliotecas estáticas
161 Group: Development/Libraries
162 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
165 Common Unix Printing System static libraries.
167 %description static -l pl
168 Popularny System Druku dla Uniksa, biblioteki statyczne.
170 %description static -l pt_BR
171 Bibliotecas estáticas para desenvolvimento de programas que usam as
174 %package -n perl-cups
175 Summary: Perl module for CUPS
176 Summary(pl): Modu³ Perla CUPS
177 Group: Development/Languages/Perl
178 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
180 %description -n perl-cups
181 Perl module for Common Unix Printing System.
183 %description -n perl-cups -l pl
184 Modu³ Perla do Popularnego Systemu Druku dla Uniksa.
187 Summary: PHP module for CUPS
188 Summary(pl): Modu³ PHP CUPS
189 Group: Development/Languages/PHP
190 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
191 Requires: php-common >= 4:5.0.0
193 %description -n php-cups
194 PHP module for Common Unix Printing System.
196 %description -n php-cups -l pl
197 Modu³ PHP do Popularnego Systemu Druku dla Uniksa.
200 Summary: USB backend for CUPS
201 Summary(pl): Backend USB dla CUPS-a
202 Group: Applications/Printing
203 Requires: %{name} = %{epoch}:%{version}-%{release}
205 %description backend-usb
206 This package allow CUPS printing on USB printers.
208 %description backend-usb -l pl
209 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach USB.
211 %package backend-serial
212 Summary: Serial port backend for CUPS
213 Summary(pl): Backend obs³uguj±cy porty szeregowe dla CUPS-a
214 Group: Applications/Printing
215 Requires: %{name} = %{epoch}:%{version}-%{release}
217 %description backend-serial
218 This package allow CUPS printing on printers connected by serial
221 %description backend-serial -l pl
222 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
223 pod³±czonych do portów szeregowych.
225 %package backend-parallel
226 Summary: Parallel port backend for CUPS
227 Summary(pl): Backend obs³uguj±cy porty równoleg³e dla CUPS-a
228 Group: Applications/Printing
229 Requires: %{name} = %{epoch}:%{version}-%{release}
231 %description backend-parallel
232 This package allow CUPS printing on printers connected by parallel
235 %description backend-parallel -l pl
236 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
237 pod³±czonych do portów równoleg³ych.
244 #patch3 -p1 obsoleted
250 #patch10 -p1 to check
251 #patch11 -p1 obsoleted
252 #patch12 -p1 to check
258 --libdir=%{_ulibdir} \
260 %{?debug:--enable-debug} \
261 --with-docdir=%{_ulibdir}/%{name}/cgi-bin
264 %{__perl} -pi -e 's#-I\.\.\/\.\.#-I../.. -I../../cups#g' scripting/php/Makefile
265 %{?with_php:%{__make} -C scripting/php PHPCONFIG=%{_bindir}/php-config}
269 %{__perl} -pi -e 's@-lcups@-L../../cups $1@' Makefile.PL
270 %{__perl} Makefile.PL \
272 OPTIMIZE="%{rpmcflags} -I../.."
273 # avoid rpaths generated by MakeMaker
274 %{__perl} -pi -e 's@LD_RUN_PATH="\$\(LD_RUN_PATH\)" @@' Makefile
281 rm -rf $RPM_BUILD_ROOT
282 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,pam.d,logrotate.d,security} \
283 $RPM_BUILD_ROOT/var/log/{,archiv/}cups
286 BUILDROOT=$RPM_BUILD_ROOT \
290 if [ "%{_lib}" != "lib" ] ; then
291 install -d $RPM_BUILD_ROOT%{_libdir}
292 mv $RPM_BUILD_ROOT%{_ulibdir}/*.so* $RPM_BUILD_ROOT%{_libdir}
293 #mv $RPM_BUILD_ROOT%{_ulibdir}/*.a $RPM_BUILD_ROOT%{_libdir}
297 %{__make} -C scripting/php install \
298 PHPDIR="%{__php_extensiondir}"
299 install -d $RPM_BUILD_ROOT%{_php_configdir}/conf.d
300 cat > $RPM_BUILD_ROOT%{_php_configdir}/conf.d/phpcups.ini << EOF
301 ; Enable phpcups extension module
309 DESTDIR=$RPM_BUILD_ROOT
313 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
314 install %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/%{name}
315 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
317 gzip -9nf $RPM_BUILD_ROOT%{_datadir}/%{name}/model/*.ppd
319 # for internal HTTP browser:
320 cp doc/*.html $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin
321 cp doc/*.css $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin
322 cp doc/images/* $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin/images
324 touch $RPM_BUILD_ROOT/var/log/cups/{access_log,error_log,page_log}
325 touch $RPM_BUILD_ROOT/etc/security/blacklist.cups
326 touch $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{classes,printers}.conf
328 # windows drivers can be put there.
329 install -d $RPM_BUILD_ROOT%{_datadir}/cups/drivers
331 touch $RPM_BUILD_ROOT/var/cache/cups/{job,remote}.cache
332 install -d $RPM_BUILD_ROOT/etc/cups/ssl
334 # post-strip can't work on readonly files
335 chmod u+w $RPM_BUILD_ROOT%{perl_vendorarch}/auto/CUPS/CUPS.so
337 # check-files cleanup
338 rm -rf $RPM_BUILD_ROOT%{_mandir}/{,es/,fr/}cat?
339 rm -rf $RPM_BUILD_ROOT/etc/{init.d,rc?.d}/*
340 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/cupsd.conf.default
343 rm -rf $RPM_BUILD_ROOT
346 /sbin/chkconfig --add cups
347 %service cups restart "cups daemon"
350 if [ "$1" = "0" ]; then
352 /sbin/chkconfig --del cups
355 %post lib -p /sbin/ldconfig
356 %postun lib -p /sbin/ldconfig
357 %post image-lib -p /sbin/ldconfig
358 %postun image-lib -p /sbin/ldconfig
361 [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
362 [ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart
365 if [ "$1" = 0 ]; then
366 [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
367 [ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart
371 %defattr(644,root,root,755)
372 #%doc *.gz doc/*.html doc/*.css doc/images
374 %attr(640,root,root) %config %verify(not md5 mtime size) /etc/pam.d/*
375 %attr(754,root,root) /etc/rc.d/init.d/cups
376 /etc/dbus-1/system.d/cups.conf
377 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}
378 %attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/classes.conf
379 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/cupsd.conf
380 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/printers.conf
381 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.convs
382 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.types
383 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.cups
384 %dir %attr(700,root,lp) %{_sysconfdir}/%{name}/ssl
385 %dir %{_sysconfdir}/%{name}/interfaces
386 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}/ppd
387 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
388 %attr(4755,lp,root) %{_bindir}/lppasswd
389 %attr(755,root,root) %{_bindir}/cupstestppd
390 %attr(755,root,root) %{_bindir}/cupstestdsc
391 #%attr(755,root,root) %{_bindir}/cupsdisable
392 #%attr(755,root,root) %{_bindir}/cupsenable
393 %dir %{_ulibdir}/cups
394 %dir %{_ulibdir}/cups/*
395 %attr(755,root,root) %{_ulibdir}/cups/*/*
396 %exclude %{_ulibdir}/cups/backend/usb
397 %exclude %{_ulibdir}/cups/backend/serial
398 %exclude %{_ulibdir}/cups/backend/parallel
399 %attr(755,root,root) %{_sbindir}/cupsd
400 %dir %{_datadir}/cups
401 %{_datadir}/cups/banners
402 %{_datadir}/cups/charmaps
403 %{_datadir}/cups/charsets
404 %{_datadir}/cups/data
405 %{_datadir}/cups/drivers
406 %{_datadir}/cups/fonts
407 %{_datadir}/cups/model
408 %dir %{_datadir}/cups/templates
409 %{_datadir}/cups/templates/*.tmpl
410 %lang(es) %{_datadir}/cups/templates/es
411 %lang(ja) %{_datadir}/cups/templates/ja
412 %lang(pl) %{_datadir}/cups/templates/pl
413 %lang(sv) %{_datadir}/cups/templates/sv
414 %{_mandir}/man7/backend.7*
415 %{_mandir}/man1/cupstestppd.1*
416 %{_mandir}/man1/cupstestdsc.1*
417 %{_mandir}/man7/filter.7*
418 %{_mandir}/man1/lppasswd.1*
420 #%lang(fr) %{_mandir}/fr/man1/backend.1*
421 #%lang(fr) %{_mandir}/fr/man1/cupstestppd.1*
422 #%lang(fr) %{_mandir}/fr/man1/filter.1*
423 #%lang(fr) %{_mandir}/fr/man1/lppasswd.1*
424 #%lang(fr) %{_mandir}/fr/man[58]/*
425 #%lang(es) %{_mandir}/es/man1/backend.1*
426 #%lang(es) %{_mandir}/es/man1/cupstestppd.1*
427 #%lang(es) %{_mandir}/es/man1/filter.1*
428 #%lang(es) %{_mandir}/es/man1/lppasswd.1*
429 #%lang(es) %{_mandir}/es/man[58]/*
430 #%{_datadir}/locale/C/cups_C
431 #%lang(be) %{_datadir}/locale/be/cups_be
432 #%lang(cs) %{_datadir}/locale/cs/cups_cs
433 #%lang(de) %{_datadir}/locale/de/cups_de
434 #%{_datadir}/locale/en/cups_en
435 #%lang(en_US) %{_datadir}/locale/en_US/cups_en_US
436 %lang(es) %{_datadir}/locale/es/cups_es.po
437 %lang(ja) %{_datadir}/locale/ja/cups_ja.po
438 #%lang(fr) %{_datadir}/locale/fr/cups_fr
439 #%lang(he) %{_datadir}/locale/he/cups_he
440 #%lang(it) %{_datadir}/locale/it/cups_it
441 #%lang(ru) %{_datadir}/locale/ru_RU/cups_ru_RU
442 %lang(sv) %{_datadir}/locale/sv/cups_sv.po
443 #%lang(uk) %{_datadir}/locale/uk/cups_uk
444 #%lang(uk) %{_datadir}/locale/uk_UA/cups_uk_UA
445 #%lang(zh_CN) %{_datadir}/locale/zh_CN/cups_zh_CN
446 %dir %attr(710,root,lp) /var/spool/cups
447 %dir %attr(755,root,lp) /var/run/cups
448 %dir %attr(511,lp,sys) /var/run/cups/certs
449 %dir %attr(775,root,lp) /var/cache/cups
450 %attr(640,root,lp) %ghost /var/cache/cups/job.cache
451 %attr(640,root,lp) %ghost /var/cache/cups/remote.cache
452 %attr(750,root,logs) %dir /var/log/archiv/cups
453 %attr(750,root,logs) %dir /var/log/cups
454 %attr(640,root,logs) %ghost /var/log/cups/access_log
455 %attr(640,root,logs) %ghost /var/log/cups/error_log
456 %attr(640,root,logs) %ghost /var/log/cups/page_log
459 %defattr(644,root,root,755)
460 %attr(755,root,root) %{_libdir}/libcups.so.*
463 %defattr(644,root,root,755)
464 #%attr(644,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/client.conf
465 %attr(755,root,root) %{_bindir}/cancel
466 %attr(755,root,root) %{_bindir}/lp
467 %attr(755,root,root) %{_bindir}/lpoptions
468 %attr(755,root,root) %{_bindir}/lpq
469 %attr(755,root,root) %{_bindir}/lpr
470 %attr(755,root,root) %{_bindir}/lprm
471 %attr(755,root,root) %{_bindir}/lpstat
472 %attr(755,root,root) %{_sbindir}/accept
473 %attr(755,root,root) %{_sbindir}/cupsaddsmb
474 %attr(755,root,root) %{_sbindir}/lpadmin
475 %attr(755,root,root) %{_sbindir}/lpc
476 %attr(755,root,root) %{_sbindir}/lpinfo
477 %attr(755,root,root) %{_sbindir}/lpmove
478 %attr(755,root,root) %{_sbindir}/reject
479 %{_mandir}/man1/cancel.1*
480 %{_mandir}/man1/lp.1*
481 %{_mandir}/man1/lpoptions.1*
482 %{_mandir}/man1/lpq.1*
483 %{_mandir}/man1/lpr.1*
484 %{_mandir}/man1/lprm.1*
485 %{_mandir}/man1/lpstat.1*
486 #%lang(fr) %{_mandir}/fr/man1/cancel.1*
487 #%lang(fr) %{_mandir}/fr/man1/lp.1*
488 #%lang(fr) %{_mandir}/fr/man1/lpoptions.1*
489 #%lang(fr) %{_mandir}/fr/man1/lpq.1*
490 #%lang(fr) %{_mandir}/fr/man1/lpr.1*
491 #%lang(fr) %{_mandir}/fr/man1/lprm.1*
492 #%lang(fr) %{_mandir}/fr/man1/lpstat.1*
493 #%lang(es) %{_mandir}/es/man1/lp.1*
494 #%lang(es) %{_mandir}/es/man1/lpoptions.1*
495 #%lang(es) %{_mandir}/es/man1/lpq.1*
496 #%lang(es) %{_mandir}/es/man1/lpr.1*
497 #%lang(es) %{_mandir}/es/man1/lprm.1*
498 #%lang(es) %{_mandir}/es/man1/lpstat.1*
501 %defattr(644,root,root,755)
502 %attr(755,root,root) %{_libdir}/libcupsimage.so.*
505 %defattr(644,root,root,755)
506 %attr(755,root,root) %{_bindir}/cups-config
509 %{_mandir}/man1/cups-config*
511 #%lang(fr) %{_mandir}/fr/man1/cups-config*
512 #%lang(es) %{_mandir}/es/man1/cups-config*
515 #%defattr(644,root,root,755)
520 %defattr(644,root,root,755)
521 %{perl_vendorarch}/*.pm
522 %dir %{perl_vendorarch}/auto/CUPS
523 %{perl_vendorarch}/auto/CUPS/*.bs
524 %{perl_vendorarch}/auto/CUPS/autosplit.ix
525 %attr(755,root,root) %{perl_vendorarch}/auto/CUPS/*.so
530 %defattr(644,root,root,755)
531 %doc scripting/php/README
532 %attr(755,root,root) %{_php_extensiondir}/*
533 %config(noreplace) %verify(not md5 mtime size) %{_php_configdir}/conf.d/phpcups.ini
537 %defattr(644,root,root,755)
538 %attr(755,root,root) %{_ulibdir}/cups/backend/usb
540 %files backend-serial
541 %defattr(644,root,root,755)
542 %attr(755,root,root) %{_ulibdir}/cups/backend/serial
544 %files backend-parallel
545 %defattr(644,root,root,755)
546 %attr(755,root,root) %{_ulibdir}/cups/backend/parallel