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}-nolibs.patch
30 Patch5: %{name}-nostrip.patch
31 Patch6: %{name}-rpath.patch
32 Patch7: %{name}-anonymous_jobs.patch
33 URL: http://www.cups.org/
34 BuildRequires: autoconf
35 BuildRequires: automake
36 BuildRequires: dbus-devel
37 BuildRequires: gnutls-devel
38 BuildRequires: libjpeg-devel
39 BuildRequires: libpng-devel
40 BuildRequires: libstdc++-devel
41 BuildRequires: libtiff-devel
42 BuildRequires: openslp-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.
250 --libdir=%{_ulibdir} \
252 %{?debug:--enable-debug} \
253 --with-docdir=%{_ulibdir}/%{name}/cgi-bin
256 %{__perl} -pi -e 's#-I\.\.\/\.\.#-I../.. -I../../cups#g' scripting/php/Makefile
257 %{?with_php:%{__make} -C scripting/php PHPCONFIG=%{_bindir}/php-config}
261 %{__perl} -pi -e 's@-lcups@-L../../cups $1@' Makefile.PL
262 %{__perl} Makefile.PL \
264 OPTIMIZE="%{rpmcflags} -I../.."
265 # avoid rpaths generated by MakeMaker
266 %{__perl} -pi -e 's@LD_RUN_PATH="\$\(LD_RUN_PATH\)" @@' Makefile
273 rm -rf $RPM_BUILD_ROOT
274 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,pam.d,logrotate.d,security} \
275 $RPM_BUILD_ROOT/var/log/{,archiv/}cups
278 BUILDROOT=$RPM_BUILD_ROOT \
282 if [ "%{_lib}" != "lib" ] ; then
283 install -d $RPM_BUILD_ROOT%{_libdir}
284 mv $RPM_BUILD_ROOT%{_ulibdir}/*.so* $RPM_BUILD_ROOT%{_libdir}
285 #mv $RPM_BUILD_ROOT%{_ulibdir}/*.a $RPM_BUILD_ROOT%{_libdir}
289 %{__make} -C scripting/php install \
290 PHPDIR="%{__php_extensiondir}"
291 install -d $RPM_BUILD_ROOT%{_php_configdir}/conf.d
292 cat > $RPM_BUILD_ROOT%{_php_configdir}/conf.d/phpcups.ini << EOF
293 ; Enable phpcups extension module
301 DESTDIR=$RPM_BUILD_ROOT
305 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
306 install %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/%{name}
307 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
309 gzip -9nf $RPM_BUILD_ROOT%{_datadir}/%{name}/model/*.ppd
311 # for internal HTTP browser:
312 cp doc/*.html $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin
313 cp doc/*.css $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin
314 cp doc/images/* $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin/images
316 touch $RPM_BUILD_ROOT/var/log/cups/{access_log,error_log,page_log}
317 touch $RPM_BUILD_ROOT/etc/security/blacklist.cups
318 touch $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{classes,printers}.conf
320 # windows drivers can be put there.
321 install -d $RPM_BUILD_ROOT%{_datadir}/cups/drivers
323 touch $RPM_BUILD_ROOT/var/cache/cups/{job,remote}.cache
324 install -d $RPM_BUILD_ROOT/etc/cups/ssl
326 # post-strip can't work on readonly files
327 chmod u+w $RPM_BUILD_ROOT%{perl_vendorarch}/auto/CUPS/CUPS.so
329 # check-files cleanup
330 rm -rf $RPM_BUILD_ROOT%{_mandir}/{,es/,fr/}cat?
331 rm -rf $RPM_BUILD_ROOT/etc/{init.d,rc?.d}/*
332 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/cupsd.conf.default
335 rm -rf $RPM_BUILD_ROOT
338 /sbin/chkconfig --add cups
339 %service cups restart "cups daemon"
342 if [ "$1" = "0" ]; then
344 /sbin/chkconfig --del cups
347 %post lib -p /sbin/ldconfig
348 %postun lib -p /sbin/ldconfig
349 %post image-lib -p /sbin/ldconfig
350 %postun image-lib -p /sbin/ldconfig
353 [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
354 [ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart
357 if [ "$1" = 0 ]; then
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
363 %defattr(644,root,root,755)
364 #%doc *.gz doc/*.html doc/*.css doc/images
366 %attr(640,root,root) %config %verify(not md5 mtime size) /etc/pam.d/*
367 %attr(754,root,root) /etc/rc.d/init.d/cups
368 /etc/dbus-1/system.d/cups.conf
369 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}
370 %attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/classes.conf
371 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/cupsd.conf
372 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/printers.conf
373 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.convs
374 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.types
375 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.cups
376 %dir %attr(700,root,lp) %{_sysconfdir}/%{name}/ssl
377 %dir %{_sysconfdir}/%{name}/interfaces
378 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}/ppd
379 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
380 %attr(4755,lp,root) %{_bindir}/lppasswd
381 %attr(755,root,root) %{_bindir}/cupstestppd
382 %attr(755,root,root) %{_bindir}/cupstestdsc
383 #%attr(755,root,root) %{_bindir}/cupsdisable
384 #%attr(755,root,root) %{_bindir}/cupsenable
385 %dir %{_ulibdir}/cups
386 %dir %{_ulibdir}/cups/*
387 %attr(755,root,root) %{_ulibdir}/cups/*/*
388 %exclude %{_ulibdir}/cups/backend/usb
389 %exclude %{_ulibdir}/cups/backend/serial
390 %exclude %{_ulibdir}/cups/backend/parallel
391 %attr(755,root,root) %{_sbindir}/cupsd
392 %dir %{_datadir}/cups
393 %{_datadir}/cups/banners
394 %{_datadir}/cups/charmaps
395 %{_datadir}/cups/charsets
396 %{_datadir}/cups/data
397 %{_datadir}/cups/drivers
398 %{_datadir}/cups/fonts
399 %{_datadir}/cups/model
400 %dir %{_datadir}/cups/templates
401 %{_datadir}/cups/templates/*.tmpl
402 %lang(es) %{_datadir}/cups/templates/es
403 %lang(ja) %{_datadir}/cups/templates/ja
404 %lang(pl) %{_datadir}/cups/templates/pl
405 %lang(sv) %{_datadir}/cups/templates/sv
406 %{_mandir}/man7/backend.7*
407 %{_mandir}/man1/cupstestppd.1*
408 %{_mandir}/man1/cupstestdsc.1*
409 %{_mandir}/man7/filter.7*
410 %{_mandir}/man1/lppasswd.1*
412 #%lang(fr) %{_mandir}/fr/man1/backend.1*
413 #%lang(fr) %{_mandir}/fr/man1/cupstestppd.1*
414 #%lang(fr) %{_mandir}/fr/man1/filter.1*
415 #%lang(fr) %{_mandir}/fr/man1/lppasswd.1*
416 #%lang(fr) %{_mandir}/fr/man[58]/*
417 #%lang(es) %{_mandir}/es/man1/backend.1*
418 #%lang(es) %{_mandir}/es/man1/cupstestppd.1*
419 #%lang(es) %{_mandir}/es/man1/filter.1*
420 #%lang(es) %{_mandir}/es/man1/lppasswd.1*
421 #%lang(es) %{_mandir}/es/man[58]/*
422 #%{_datadir}/locale/C/cups_C
423 #%lang(be) %{_datadir}/locale/be/cups_be
424 #%lang(cs) %{_datadir}/locale/cs/cups_cs
425 #%lang(de) %{_datadir}/locale/de/cups_de
426 #%{_datadir}/locale/en/cups_en
427 #%lang(en_US) %{_datadir}/locale/en_US/cups_en_US
428 %lang(es) %{_datadir}/locale/es/cups_es.po
429 %lang(ja) %{_datadir}/locale/ja/cups_ja.po
430 #%lang(fr) %{_datadir}/locale/fr/cups_fr
431 #%lang(he) %{_datadir}/locale/he/cups_he
432 #%lang(it) %{_datadir}/locale/it/cups_it
433 #%lang(ru) %{_datadir}/locale/ru_RU/cups_ru_RU
434 %lang(sv) %{_datadir}/locale/sv/cups_sv.po
435 #%lang(uk) %{_datadir}/locale/uk/cups_uk
436 #%lang(uk) %{_datadir}/locale/uk_UA/cups_uk_UA
437 #%lang(zh_CN) %{_datadir}/locale/zh_CN/cups_zh_CN
438 %dir %attr(710,root,lp) /var/spool/cups
439 %dir %attr(755,root,lp) /var/run/cups
440 %dir %attr(511,lp,sys) /var/run/cups/certs
441 %dir %attr(775,root,lp) /var/cache/cups
442 %attr(640,root,lp) %ghost /var/cache/cups/job.cache
443 %attr(640,root,lp) %ghost /var/cache/cups/remote.cache
444 %attr(750,root,logs) %dir /var/log/archiv/cups
445 %attr(750,root,logs) %dir /var/log/cups
446 %attr(640,root,logs) %ghost /var/log/cups/access_log
447 %attr(640,root,logs) %ghost /var/log/cups/error_log
448 %attr(640,root,logs) %ghost /var/log/cups/page_log
451 %defattr(644,root,root,755)
452 %attr(755,root,root) %{_libdir}/libcups.so.*
455 %defattr(644,root,root,755)
456 #%attr(644,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/client.conf
457 %attr(755,root,root) %{_bindir}/cancel
458 %attr(755,root,root) %{_bindir}/lp
459 %attr(755,root,root) %{_bindir}/lpoptions
460 %attr(755,root,root) %{_bindir}/lpq
461 %attr(755,root,root) %{_bindir}/lpr
462 %attr(755,root,root) %{_bindir}/lprm
463 %attr(755,root,root) %{_bindir}/lpstat
464 %attr(755,root,root) %{_sbindir}/accept
465 %attr(755,root,root) %{_sbindir}/cupsaddsmb
466 %attr(755,root,root) %{_sbindir}/lpadmin
467 %attr(755,root,root) %{_sbindir}/lpc
468 %attr(755,root,root) %{_sbindir}/lpinfo
469 %attr(755,root,root) %{_sbindir}/lpmove
470 %attr(755,root,root) %{_sbindir}/reject
471 %{_mandir}/man1/cancel.1*
472 %{_mandir}/man1/lp.1*
473 %{_mandir}/man1/lpoptions.1*
474 %{_mandir}/man1/lpq.1*
475 %{_mandir}/man1/lpr.1*
476 %{_mandir}/man1/lprm.1*
477 %{_mandir}/man1/lpstat.1*
478 #%lang(fr) %{_mandir}/fr/man1/cancel.1*
479 #%lang(fr) %{_mandir}/fr/man1/lp.1*
480 #%lang(fr) %{_mandir}/fr/man1/lpoptions.1*
481 #%lang(fr) %{_mandir}/fr/man1/lpq.1*
482 #%lang(fr) %{_mandir}/fr/man1/lpr.1*
483 #%lang(fr) %{_mandir}/fr/man1/lprm.1*
484 #%lang(fr) %{_mandir}/fr/man1/lpstat.1*
485 #%lang(es) %{_mandir}/es/man1/lp.1*
486 #%lang(es) %{_mandir}/es/man1/lpoptions.1*
487 #%lang(es) %{_mandir}/es/man1/lpq.1*
488 #%lang(es) %{_mandir}/es/man1/lpr.1*
489 #%lang(es) %{_mandir}/es/man1/lprm.1*
490 #%lang(es) %{_mandir}/es/man1/lpstat.1*
493 %defattr(644,root,root,755)
494 %attr(755,root,root) %{_libdir}/libcupsimage.so.*
497 %defattr(644,root,root,755)
498 %attr(755,root,root) %{_bindir}/cups-config
501 %{_mandir}/man1/cups-config*
503 #%lang(fr) %{_mandir}/fr/man1/cups-config*
504 #%lang(es) %{_mandir}/es/man1/cups-config*
507 #%defattr(644,root,root,755)
512 %defattr(644,root,root,755)
513 %{perl_vendorarch}/*.pm
514 %dir %{perl_vendorarch}/auto/CUPS
515 %{perl_vendorarch}/auto/CUPS/*.bs
516 %{perl_vendorarch}/auto/CUPS/autosplit.ix
517 %attr(755,root,root) %{perl_vendorarch}/auto/CUPS/*.so
522 %defattr(644,root,root,755)
523 %doc scripting/php/README
524 %attr(755,root,root) %{_php_extensiondir}/*
525 %config(noreplace) %verify(not md5 mtime size) %{_php_configdir}/conf.d/phpcups.ini
529 %defattr(644,root,root,755)
530 %attr(755,root,root) %{_ulibdir}/cups/backend/usb
532 %files backend-serial
533 %defattr(644,root,root,755)
534 %attr(755,root,root) %{_ulibdir}/cups/backend/serial
536 %files backend-parallel
537 %defattr(644,root,root,755)
538 %attr(755,root,root) %{_ulibdir}/cups/backend/parallel