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: openldap-devel
38 BuildRequires: openssl-devel
39 BuildRequires: libjpeg-devel
40 BuildRequires: libpng-devel
41 BuildRequires: libstdc++-devel
42 BuildRequires: libtiff-devel
43 BuildRequires: openslp-devel
44 BuildRequires: pam-devel
45 %{?with_php:BuildRequires: php-devel >= 4:5.0.0}
46 BuildRequires: pkgconfig
47 BuildRequires: rpm-perlprov
48 BuildRequires: rpmbuild(macros) >= 1.268
49 Requires(post,preun): /sbin/chkconfig
50 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
51 Requires: pam >= 0.77.3
55 Conflicts: ghostscript < 7.05.4
56 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
58 %define _ulibdir %{_prefix}/lib
61 %define _php_configdir /etc/php
62 %define _php_extensiondir %(php-config --extension-dir)
66 CUPS provides a portable printing layer for UNIX-based operating
67 systems. It has been developed by Easy Software Products to promote a
68 standard printing solution for all UNIX vendors and users. CUPS
69 provides the System V and Berkeley command-line interfaces. CUPS uses
70 the Internet Printing Protocol ("IPP") as the basis for managing print
71 jobs and queues. The Line Printer Daemon ("LPD") Server Message Block
72 ("SMB"), and AppSocket (a.k.a. JetDirect) protocols are also supported
73 with reduced functionality. CUPS adds network printer browsing and
74 PostScript Printer Description ("PPD") based printing options to
75 support real-world printing under UNIX.
78 CUPS dostarcza standardowy poziom drukowania dla systemów uniksowych.
79 CUPS u¿ywa protoko³u IPP - Internet Printint Protocol jako podstawy do
80 zarz±dzania zadaniami i kolejkami druku.
83 O sistema Unix de impressão (CUPS) fornece uma camada de impressão
84 portável para os sistemas operacionais baseados no UNIX®.
87 Summary: Common Unix Printing System Libraries
88 Summary(pl): Biblioteki dla CUPS
89 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
91 Provides: %{name}-libs = %{epoch}:%{version}-%{release}
96 Common Unix Printing System Libraries.
98 %description lib -l pl
101 %description lib -l pt_BR
102 Bibliotecas CUPS requeridas pelos clientes CUPS.
105 Summary: Common Unix Printing System Clients
106 Summary(pl): Aplikacje klienckie dla CUPS
107 Group: Applications/Printing
108 Provides: %{name}-clients = %{epoch}:%{version}-%{release}
112 Common Unix Printing System Clients.
114 %description clients -l pl
115 Aplikacje klienckie dla CUPS.
118 Summary: Common Unix Printing System Libraries - images manipulation
119 Summary(pl): Biblioteki dla CUPS - obs³uga formatów graficznych
120 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
122 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
125 %description image-lib
126 Common Unix Printing System Libraries - images manupalation.
128 %description image-lib -l pl
129 Biblioteki dla CUPS - obs³uga formatów graficznych.
131 %description image-lib -l pt_BR
132 Bibliotecas CUPS requeridas pelos clientes CUPS.
135 Summary: Common Unix Printing System development files
136 Summary(pl): Popularny System Druku dla Uniksa, pliki nag³ówkowe
137 Summary(pt_BR): Sistema Unix de Impressão - ambiente de desenvolvimento
138 Group: Development/Libraries
139 Requires: %{name}-image-lib = %{epoch}:%{version}-%{release}
140 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
141 Obsoletes: libcups1-devel
144 Common Unix Printing System development files.
146 %description devel -l pl
147 Popularny System Druku dla Uniksa, pliki nag³ówkowe.
149 %description devel -l pt_BR
150 Este pacote é um adicional que contem um ambiente de desenvolvimento
151 para a criação de suporte a novas impressoras e novos serviços ao
155 Summary: Common Unix Printing System static libraries
156 Summary(pl): Popularny System Druku dla Uniksa, biblioteki statyczne
157 Summary(pt_BR): Common Unix Printing System - bibliotecas estáticas
158 Group: Development/Libraries
159 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
162 Common Unix Printing System static libraries.
164 %description static -l pl
165 Popularny System Druku dla Uniksa, biblioteki statyczne.
167 %description static -l pt_BR
168 Bibliotecas estáticas para desenvolvimento de programas que usam as
171 %package -n perl-cups
172 Summary: Perl module for CUPS
173 Summary(pl): Modu³ Perla CUPS
174 Group: Development/Languages/Perl
175 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
177 %description -n perl-cups
178 Perl module for Common Unix Printing System.
180 %description -n perl-cups -l pl
181 Modu³ Perla do Popularnego Systemu Druku dla Uniksa.
184 Summary: PHP module for CUPS
185 Summary(pl): Modu³ PHP CUPS
186 Group: Development/Languages/PHP
187 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
188 Requires: php-common >= 4:5.0.0
190 %description -n php-cups
191 PHP module for Common Unix Printing System.
193 %description -n php-cups -l pl
194 Modu³ PHP do Popularnego Systemu Druku dla Uniksa.
197 Summary: USB backend for CUPS
198 Summary(pl): Backend USB dla CUPS-a
199 Group: Applications/Printing
200 Requires: %{name} = %{epoch}:%{version}-%{release}
202 %description backend-usb
203 This package allow CUPS printing on USB printers.
205 %description backend-usb -l pl
206 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach USB.
208 %package backend-serial
209 Summary: Serial port backend for CUPS
210 Summary(pl): Backend obs³uguj±cy porty szeregowe dla CUPS-a
211 Group: Applications/Printing
212 Requires: %{name} = %{epoch}:%{version}-%{release}
214 %description backend-serial
215 This package allow CUPS printing on printers connected by serial
218 %description backend-serial -l pl
219 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
220 pod³±czonych do portów szeregowych.
222 %package backend-parallel
223 Summary: Parallel port backend for CUPS
224 Summary(pl): Backend obs³uguj±cy porty równoleg³e dla CUPS-a
225 Group: Applications/Printing
226 Requires: %{name} = %{epoch}:%{version}-%{release}
228 %description backend-parallel
229 This package allow CUPS printing on printers connected by parallel
232 %description backend-parallel -l pl
233 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
234 pod³±czonych do portów równoleg³ych.
251 --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="%{__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}.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