3 %bcond_without php # don't build PHP extension
4 %bcond_without perl # don't build Perl extension
7 # - build/install java ext ?
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: libjpeg-devel
43 BuildRequires: libpng-devel
44 BuildRequires: libstdc++-devel
45 BuildRequires: libtiff-devel
46 BuildRequires: openslp-devel
47 BuildRequires: openssl-devel >= 0.9.7d
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 install -d $RPM_BUILD_ROOT%{_php_configdir}/conf.d
301 %{__make} -C scripting/php install \
302 PHPDIR="%{__php_extensiondir}"
303 install -d $RPM_BUILD_ROOT%{_php_configdir}/conf.d
304 cat > $RPM_BUILD_ROOT%{_php_configdir}/conf.d/phpcups.ini << EOF
305 ; Enable phpcups extension module
313 DESTDIR=$RPM_BUILD_ROOT
317 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
318 install %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/%{name}
319 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
321 gzip -9nf $RPM_BUILD_ROOT%{_datadir}/%{name}/model/*.ppd
323 # for internal HTTP browser:
324 cp doc/*.html $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin
325 cp doc/*.css $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin
326 cp doc/images/* $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin/images
328 touch $RPM_BUILD_ROOT/var/log/cups/{access_log,error_log,page_log}
329 touch $RPM_BUILD_ROOT/etc/security/blacklist.cups
330 touch $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{classes,printers}.conf
332 # windows drivers can be put there.
333 install -d $RPM_BUILD_ROOT%{_datadir}/cups/drivers
335 # post-strip can't work on readonly files
336 chmod u+w $RPM_BUILD_ROOT%{perl_vendorarch}/auto/CUPS/CUPS.so
338 # check-files cleanup
339 rm -rf $RPM_BUILD_ROOT%{_mandir}/{,es/,fr/}cat?
340 rm -rf $RPM_BUILD_ROOT/etc/{init.d,rc?.d}/*
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 %{_sysconfdir}/%{name}
378 %attr(640,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 %{_sysconfdir}/%{name}/certs
385 %dir %{_sysconfdir}/%{name}/interfaces
386 %dir %{_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
401 %{_mandir}/man7/backend.7*
402 %{_mandir}/man1/cupstestppd.1*
403 %{_mandir}/man1/cupstestdsc.1*
404 %{_mandir}/man7/filter.7*
405 %{_mandir}/man1/lppasswd.1*
407 #%lang(fr) %{_mandir}/fr/man1/backend.1*
408 #%lang(fr) %{_mandir}/fr/man1/cupstestppd.1*
409 #%lang(fr) %{_mandir}/fr/man1/filter.1*
410 #%lang(fr) %{_mandir}/fr/man1/lppasswd.1*
411 #%lang(fr) %{_mandir}/fr/man[58]/*
412 #%lang(es) %{_mandir}/es/man1/backend.1*
413 #%lang(es) %{_mandir}/es/man1/cupstestppd.1*
414 #%lang(es) %{_mandir}/es/man1/filter.1*
415 #%lang(es) %{_mandir}/es/man1/lppasswd.1*
416 #%lang(es) %{_mandir}/es/man[58]/*
417 #%{_datadir}/locale/C/cups_C
418 #%lang(be) %{_datadir}/locale/be/cups_be
419 #%lang(cs) %{_datadir}/locale/cs/cups_cs
420 #%lang(de) %{_datadir}/locale/de/cups_de
421 #%{_datadir}/locale/en/cups_en
422 #%lang(en_US) %{_datadir}/locale/en_US/cups_en_US
423 %lang(es) %{_datadir}/locale/es/cups_es.po
424 %lang(ja) %{_datadir}/locale/ja/cups_ja.po
425 #%lang(fr) %{_datadir}/locale/fr/cups_fr
426 #%lang(he) %{_datadir}/locale/he/cups_he
427 #%lang(it) %{_datadir}/locale/it/cups_it
428 #%lang(ru) %{_datadir}/locale/ru_RU/cups_ru_RU
429 %lang(sv) %{_datadir}/locale/sv/cups_sv.po
430 #%lang(uk) %{_datadir}/locale/uk/cups_uk
431 #%lang(uk) %{_datadir}/locale/uk_UA/cups_uk_UA
432 #%lang(zh_CN) %{_datadir}/locale/zh_CN/cups_zh_CN
434 %attr(750,root,logs) %dir /var/log/archiv/cups
435 %attr(750,root,logs) %dir /var/log/cups
436 %attr(640,root,logs) %ghost /var/log/cups/access_log
437 %attr(640,root,logs) %ghost /var/log/cups/error_log
438 %attr(640,root,logs) %ghost /var/log/cups/page_log
441 %defattr(644,root,root,755)
442 %attr(755,root,root) %{_libdir}/libcups.so.*
445 %defattr(644,root,root,755)
446 #%attr(644,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/client.conf
447 %attr(755,root,root) %{_bindir}/cancel
448 %attr(755,root,root) %{_bindir}/lp
449 %attr(755,root,root) %{_bindir}/lpoptions
450 %attr(755,root,root) %{_bindir}/lpq
451 %attr(755,root,root) %{_bindir}/lpr
452 %attr(755,root,root) %{_bindir}/lprm
453 %attr(755,root,root) %{_bindir}/lpstat
454 %attr(755,root,root) %{_sbindir}/accept
455 %attr(755,root,root) %{_sbindir}/cupsaddsmb
456 %attr(755,root,root) %{_sbindir}/lpadmin
457 %attr(755,root,root) %{_sbindir}/lpc
458 %attr(755,root,root) %{_sbindir}/lpinfo
459 %attr(755,root,root) %{_sbindir}/lpmove
460 %attr(755,root,root) %{_sbindir}/reject
461 %{_mandir}/man1/cancel.1*
462 %{_mandir}/man1/lp.1*
463 %{_mandir}/man1/lpoptions.1*
464 %{_mandir}/man1/lpq.1*
465 %{_mandir}/man1/lpr.1*
466 %{_mandir}/man1/lprm.1*
467 %{_mandir}/man1/lpstat.1*
468 #%lang(fr) %{_mandir}/fr/man1/cancel.1*
469 #%lang(fr) %{_mandir}/fr/man1/lp.1*
470 #%lang(fr) %{_mandir}/fr/man1/lpoptions.1*
471 #%lang(fr) %{_mandir}/fr/man1/lpq.1*
472 #%lang(fr) %{_mandir}/fr/man1/lpr.1*
473 #%lang(fr) %{_mandir}/fr/man1/lprm.1*
474 #%lang(fr) %{_mandir}/fr/man1/lpstat.1*
475 #%lang(es) %{_mandir}/es/man1/lp.1*
476 #%lang(es) %{_mandir}/es/man1/lpoptions.1*
477 #%lang(es) %{_mandir}/es/man1/lpq.1*
478 #%lang(es) %{_mandir}/es/man1/lpr.1*
479 #%lang(es) %{_mandir}/es/man1/lprm.1*
480 #%lang(es) %{_mandir}/es/man1/lpstat.1*
483 %defattr(644,root,root,755)
484 %attr(755,root,root) %{_libdir}/libcupsimage.so.*
487 %defattr(644,root,root,755)
488 %attr(755,root,root) %{_bindir}/cups-config
491 %{_mandir}/man1/cups-config*
493 #%lang(fr) %{_mandir}/fr/man1/cups-config*
494 #%lang(es) %{_mandir}/es/man1/cups-config*
497 #%defattr(644,root,root,755)
502 %defattr(644,root,root,755)
503 %{perl_vendorarch}/*.pm
504 %dir %{perl_vendorarch}/auto/CUPS
505 %{perl_vendorarch}/auto/CUPS/*.bs
506 %{perl_vendorarch}/auto/CUPS/autosplit.ix
507 %attr(755,root,root) %{perl_vendorarch}/auto/CUPS/*.so
512 %defattr(644,root,root,755)
513 %attr(755,root,root) %(_php_extensiondir)/*
514 %config(noreplace) %verify(not md5 mtime size) %{_php_configdir}/conf.d/phpcups.ini
518 %defattr(644,root,root,755)
519 %attr(755,root,root) %{_ulibdir}/cups/backend/usb
521 %files backend-serial
522 %defattr(644,root,root,755)
523 %attr(755,root,root) %{_ulibdir}/cups/backend/serial
525 %files backend-parallel
526 %defattr(644,root,root,755)
527 %attr(755,root,root) %{_ulibdir}/cups/backend/parallel