2 # - build/install java ext ?
4 # - remove obsolete /etc/cups/certs (trigger?)
7 %bcond_with gnutls # use GNU TLS for SSL/TLS support (instead of OpenSSL)
8 %bcond_without php # don't build PHP extension
9 %bcond_without perl # don't build Perl extension
10 %bcond_without static_libs # don't build static library
12 %include /usr/lib/rpm/macros.perl
14 Summary: Common Unix Printing System
15 Summary(pl): Ogólny system druku dla Uniksa
16 Summary(pt_BR): Sistema Unix de Impressão
22 Group: Applications/Printing
23 Source0: http://ftp.easysw.com/pub/cups/%{version}/%{name}-%{version}-source.tar.bz2
24 # Source0-md5: bf44783d9b46130bee9f2995e6055470
27 Source3: %{name}.logrotate
28 Patch0: %{name}-config.patch
29 Patch1: %{name}-lp-lpr.patch
30 Patch2: %{name}-options.patch
31 Patch3: %{name}-man_pages_linking.patch
32 Patch4: %{name}-nostrip.patch
33 Patch5: %{name}-templates_pl.patch
34 URL: http://www.cups.org/
35 BuildRequires: acl-devel
36 BuildRequires: autoconf
37 BuildRequires: automake
38 BuildRequires: dbus-devel
39 %{?with_gnutls:BuildRequires: gnutls-devel}
40 BuildRequires: libjpeg-devel
41 BuildRequires: libpng-devel
42 BuildRequires: libstdc++-devel
43 BuildRequires: libtiff-devel
44 BuildRequires: openldap-devel
45 BuildRequires: openslp-devel
46 %{!?with_gnutls:BuildRequires: openssl-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. W ograniczonym zakresie
84 obs³ugiwane s± tak¿e protoko³y LPD (Line Printer Daemon), SMB (Server
85 Message Block) i AppSocket (znany tak¿e jako JetDirect). CUPS
86 udostêpnia przegl±danie drukarek sieciowych i opcje drukowania oparte
87 na PPD (PostScript Printer Description) do obs³ugi rzeczywistych
91 O sistema Unix de impressão (CUPS) fornece uma camada de impressão
92 portável para os sistemas operacionais baseados no UNIX®.
95 Summary: Common Unix Printing System Libraries
96 Summary(pl): Biblioteki dla CUPS
97 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
99 Provides: %{name}-libs = %{epoch}:%{version}-%{release}
104 Common Unix Printing System Libraries.
106 %description lib -l pl
109 %description lib -l pt_BR
110 Bibliotecas CUPS requeridas pelos clientes CUPS.
113 Summary: Common Unix Printing System Clients
114 Summary(pl): Aplikacje klienckie dla CUPS
115 Group: Applications/Printing
116 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
120 Common Unix Printing System Clients.
122 %description clients -l pl
123 Aplikacje klienckie dla CUPS.
126 Summary: Common Unix Printing System Libraries - images manipulation
127 Summary(pl): Biblioteki dla CUPS - obs³uga formatów graficznych
128 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
130 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
133 %description image-lib
134 Common Unix Printing System Libraries - images manupalation.
136 %description image-lib -l pl
137 Biblioteki dla CUPS - obs³uga formatów graficznych.
139 %description image-lib -l pt_BR
140 Bibliotecas CUPS requeridas pelos clientes CUPS.
143 Summary: Common Unix Printing System development files
144 Summary(pl): Ogólny system druku dla Uniksa - pliki nag³ówkowe
145 Summary(pt_BR): Sistema Unix de Impressão - ambiente de desenvolvimento
146 Group: Development/Libraries
147 Requires: %{name}-image-lib = %{epoch}:%{version}-%{release}
148 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
149 %{?with_gnutls:Requires: gnutls-devel}
150 %{!?with_gnutls:Requires: openssl-devel}
152 Obsoletes: libcups1-devel
155 Common Unix Printing System development files.
157 %description devel -l pl
158 Ogólny system druku dla Uniksa - pliki nag³ówkowe.
160 %description devel -l pt_BR
161 Este pacote é um adicional que contem um ambiente de desenvolvimento
162 para a criação de suporte a novas impressoras e novos serviços ao
166 Summary: Common Unix Printing System static libraries
167 Summary(pl): Ogólny system druku dla Uniksa - biblioteki statyczne
168 Summary(pt_BR): Common Unix Printing System - bibliotecas estáticas
169 Group: Development/Libraries
170 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
173 Common Unix Printing System static libraries.
175 %description static -l pl
176 Ogólny system druku dla Uniksa - biblioteki statyczne.
178 %description static -l pt_BR
179 Bibliotecas estáticas para desenvolvimento de programas que usam as
182 %package -n perl-cups
183 Summary: Perl module for CUPS
184 Summary(pl): Modu³ Perla CUPS
185 Group: Development/Languages/Perl
186 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
188 %description -n perl-cups
189 Perl module for Common Unix Printing System.
191 %description -n perl-cups -l pl
192 Modu³ Perla do ogólnego systemu druku dla Uniksa.
195 Summary: PHP module for CUPS
196 Summary(pl): Modu³ PHP CUPS
197 Group: Development/Languages/PHP
198 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
199 %{?requires_php_extension}
200 Requires: /etc/php/conf.d
201 Requires: php-common >= 4:5.0.0
203 %description -n php-cups
204 PHP module for Common Unix Printing System.
206 %description -n php-cups -l pl
207 Modu³ PHP do ogólnego systemu druku dla Uniksa.
210 Summary: USB backend for CUPS
211 Summary(pl): Backend USB dla CUPS-a
212 Group: Applications/Printing
213 Requires: %{name} = %{epoch}:%{version}-%{release}
215 %description backend-usb
216 This package allow CUPS printing on USB printers.
218 %description backend-usb -l pl
219 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach USB.
221 %package backend-serial
222 Summary: Serial port backend for CUPS
223 Summary(pl): Backend obs³uguj±cy porty szeregowe dla CUPS-a
224 Group: Applications/Printing
225 Requires: %{name} = %{epoch}:%{version}-%{release}
227 %description backend-serial
228 This package allow CUPS printing on printers connected by serial
231 %description backend-serial -l pl
232 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
233 pod³±czonych do portów szeregowych.
235 %package backend-parallel
236 Summary: Parallel port backend for CUPS
237 Summary(pl): Backend obs³uguj±cy porty równoleg³e dla CUPS-a
238 Group: Applications/Printing
239 Requires: %{name} = %{epoch}:%{version}-%{release}
241 %description backend-parallel
242 This package allow CUPS printing on printers connected by parallel
245 %description backend-parallel -l pl
246 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
247 pod³±czonych do portów równoleg³ych.
259 %{__aclocal} -I config-scripts
262 --libdir=%{_ulibdir} \
264 %{?with_static_libs:--enable-static} \
266 --%{?with_gnutls:dis}%{!?with_gnutls:en}able-openssl \
267 --%{!?with_gnutls:dis}%{?with_gnutls:en}able-gnutls \
270 %{?debug:--enable-debug} \
271 --with-docdir=%{_ulibdir}/%{name}/cgi-bin \
272 %{?with_php:--with-php}
276 %{__perl} -pi -e 's#-I\.\.\/\.\.#-I../.. -I../../cups#g' scripting/php/Makefile
277 %{?with_php:%{__make} -C scripting/php PHPCONFIG=%{_bindir}/php-config}
281 %{__perl} -pi -e 's@-lcups@-L../../cups $1@' Makefile.PL
282 %{__perl} Makefile.PL \
284 OPTIMIZE="%{rpmcflags} -I../.."
285 # avoid rpaths generated by MakeMaker
286 %{__perl} -pi -e 's@LD_RUN_PATH="\$\(LD_RUN_PATH\)" @@' Makefile
293 rm -rf $RPM_BUILD_ROOT
294 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,pam.d,logrotate.d,security} \
295 $RPM_BUILD_ROOT/var/log/{,archiv/}cups
298 BUILDROOT=$RPM_BUILD_ROOT \
302 if [ "%{_lib}" != "lib" ] ; then
303 install -d $RPM_BUILD_ROOT%{_libdir}
304 mv $RPM_BUILD_ROOT%{_ulibdir}/*.so* $RPM_BUILD_ROOT%{_libdir}
305 mv $RPM_BUILD_ROOT%{_ulibdir}/*.a $RPM_BUILD_ROOT%{_libdir}
309 %{__make} -C scripting/php install \
310 PHPDIR=$RPM_BUILD_ROOT%{_php_extensiondir}
311 install -d $RPM_BUILD_ROOT%{_php_configdir}/conf.d
312 cat > $RPM_BUILD_ROOT%{_php_configdir}/conf.d/phpcups.ini << EOF
313 ; Enable phpcups extension module
321 DESTDIR=$RPM_BUILD_ROOT
325 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
326 install %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/%{name}
327 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
329 gzip -9nf $RPM_BUILD_ROOT%{_datadir}/%{name}/model/*.ppd
331 touch $RPM_BUILD_ROOT/var/log/cups/{access_log,error_log,page_log}
332 touch $RPM_BUILD_ROOT/etc/security/blacklist.cups
333 touch $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{classes,printers,client}.conf
335 # windows drivers can be put there.
336 install -d $RPM_BUILD_ROOT%{_datadir}/cups/drivers
338 # dirs for gimp-print-cups-4.2.7-1
339 install -d $RPM_BUILD_ROOT%{_datadir}/cups/model/{C,da,en_GB,fr,nb,pl,sv}
341 touch $RPM_BUILD_ROOT/var/cache/cups/help.index
342 touch $RPM_BUILD_ROOT/var/cache/cups/{job,remote}.cache
343 touch $RPM_BUILD_ROOT/var/cache/cups/ppds.dat
344 install -d $RPM_BUILD_ROOT%{_sysconfdir}/cups/ssl
346 # links to enable/disable (compatibility!)
347 ln -s accept $RPM_BUILD_ROOT%{_sbindir}/enable
348 ln -s accept $RPM_BUILD_ROOT%{_sbindir}/disable
350 # check-files cleanup
351 rm -rf $RPM_BUILD_ROOT%{_mandir}/{,es/,fr/}cat?
352 rm -rf $RPM_BUILD_ROOT/''etc/{init.d,rc?.d}/*
353 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/cupsd.conf.default
356 rm -rf $RPM_BUILD_ROOT
359 /sbin/chkconfig --add cups
360 %service cups restart "cups daemon"
363 if [ "$1" = "0" ]; then
365 /sbin/chkconfig --del cups
368 %post lib -p /sbin/ldconfig
369 %postun lib -p /sbin/ldconfig
370 %post image-lib -p /sbin/ldconfig
371 %postun image-lib -p /sbin/ldconfig
374 [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
375 [ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart
378 if [ "$1" = 0 ]; then
379 [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
380 [ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart
384 %defattr(644,root,root,755)
385 #%doc *.gz doc/*.html doc/*.css doc/images
387 %attr(640,root,root) %config %verify(not md5 mtime size) /etc/pam.d/*
388 %attr(754,root,root) /etc/rc.d/init.d/cups
389 /etc/dbus-1/system.d/cups.conf
390 %attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/classes.conf
391 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/cupsd.conf
392 %attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/printers.conf
393 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.convs
394 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.types
395 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.cups
396 %dir %attr(700,root,lp) %{_sysconfdir}/%{name}/ssl
397 %dir %{_sysconfdir}/%{name}/interfaces
398 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}/ppd
399 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
400 %attr(4755,lp,root) %{_bindir}/lppasswd
401 %attr(755,root,root) %{_bindir}/cupstestppd
402 %attr(755,root,root) %{_bindir}/cupstestdsc
403 %attr(755,root,root) %{_sbindir}/cupsd
405 %dir %{_ulibdir}/cups
406 %dir %{_ulibdir}/cups/*
407 %{_ulibdir}/cups/cgi-bin/help
408 %{_ulibdir}/cups/cgi-bin/images
409 %attr(755,root,root) %{_ulibdir}/cups/cgi-bin/*.cgi
410 %{_ulibdir}/cups/cgi-bin/*.css
411 %{_ulibdir}/cups/cgi-bin/*.html
412 %{_ulibdir}/cups/cgi-bin/*.ico
413 %{_ulibdir}/cups/cgi-bin/*.txt
414 %lang(de) %{_ulibdir}/cups/cgi-bin/de
415 %lang(es) %{_ulibdir}/cups/cgi-bin/es
416 %lang(et) %{_ulibdir}/cups/cgi-bin/et
417 %lang(it) %{_ulibdir}/cups/cgi-bin/it
418 %lang(ja) %{_ulibdir}/cups/cgi-bin/ja
419 %lang(pl) %{_ulibdir}/cups/cgi-bin/pl
420 %lang(sv) %{_ulibdir}/cups/cgi-bin/sv
422 %exclude %{_ulibdir}/cups/backend/usb
423 %exclude %{_ulibdir}/cups/backend/serial
424 %exclude %{_ulibdir}/cups/backend/parallel
425 %attr(755,root,root) %{_ulibdir}/cups/backend/*
426 %attr(755,root,root) %{_ulibdir}/cups/daemon/*
427 %attr(755,root,root) %{_ulibdir}/cups/filter/*
428 %attr(755,root,root) %{_ulibdir}/cups/monitor/*
429 %attr(755,root,root) %{_ulibdir}/cups/notifier/*
431 %dir %{_datadir}/cups
432 %{_datadir}/cups/banners
433 %{_datadir}/cups/charmaps
434 %{_datadir}/cups/charsets
435 %{_datadir}/cups/data
436 %{_datadir}/cups/drivers
437 %{_datadir}/cups/fonts
438 %dir %{_datadir}/cups/model
439 %{_datadir}/cups/model/*.ppd.gz
440 # dirs for gimp-print-cups-4.2.7-1
441 %dir %{_datadir}/cups/model/C
442 %lang(da) %dir %{_datadir}/cups/model/da
443 %lang(en_GB) %dir %{_datadir}/cups/model/en_GB
444 %lang(fr) %dir %{_datadir}/cups/model/fr
445 %lang(nb) %dir %{_datadir}/cups/model/nb
446 %lang(pl) %dir %{_datadir}/cups/model/pl
447 %lang(sv) %dir %{_datadir}/cups/model/sv
449 %dir %{_datadir}/cups/templates
450 %{_datadir}/cups/templates/*.tmpl
451 %lang(de) %{_datadir}/cups/templates/de
452 %lang(es) %{_datadir}/cups/templates/es
453 %lang(et) %{_datadir}/cups/templates/et
454 %lang(it) %{_datadir}/cups/templates/it
455 %lang(ja) %{_datadir}/cups/templates/ja
456 %lang(pl) %{_datadir}/cups/templates/pl
457 %lang(sv) %{_datadir}/cups/templates/sv
458 %{_mandir}/man7/backend.7*
459 %{_mandir}/man1/cupstestppd.1*
460 %{_mandir}/man1/cupstestdsc.1*
461 %{_mandir}/man7/filter.7*
462 %{_mandir}/man1/lppasswd.1*
464 %lang(de) %{_datadir}/locale/de/cups_de.po
465 %lang(es) %{_datadir}/locale/es/cups_es.po
466 %lang(et) %{_datadir}/locale/et/cups_et.po
467 %lang(it) %{_datadir}/locale/it/cups_it.po
468 %lang(ja) %{_datadir}/locale/ja/cups_ja.po
469 %lang(pl) %{_datadir}/locale/pl/cups_pl.po
470 %lang(sv) %{_datadir}/locale/sv/cups_sv.po
472 %dir %attr(775,root,lp) /var/cache/cups
473 %dir %attr(755,root,lp) /var/run/cups
474 %dir %attr(511,lp,sys) /var/run/cups/certs
475 %dir %attr(710,root,lp) /var/spool/cups
476 %dir %attr(1770,root,lp) /var/spool/cups/tmp
477 %attr(600,lp,lp) %ghost /var/cache/cups/help.index
478 %attr(640,root,lp) %ghost /var/cache/cups/job.cache
479 %attr(600,lp,lp) %ghost /var/cache/cups/ppds.dat
480 %attr(640,root,lp) %ghost /var/cache/cups/remote.cache
481 %attr(750,root,logs) %dir /var/log/archiv/cups
482 %attr(750,root,logs) %dir /var/log/cups
483 %attr(640,root,logs) %ghost /var/log/cups/access_log
484 %attr(640,root,logs) %ghost /var/log/cups/error_log
485 %attr(640,root,logs) %ghost /var/log/cups/page_log
488 %defattr(644,root,root,755)
489 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}
490 %attr(755,root,root) %{_libdir}/libcups.so.*
493 %defattr(644,root,root,755)
494 %attr(644,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/client.conf
495 %attr(755,root,root) %{_bindir}/cancel
496 %attr(755,root,root) %{_bindir}/lp
497 %attr(755,root,root) %{_bindir}/lpoptions
498 %attr(755,root,root) %{_bindir}/lpq
499 %attr(755,root,root) %{_bindir}/lpr
500 %attr(755,root,root) %{_bindir}/lprm
501 %attr(755,root,root) %{_bindir}/lpstat
502 %attr(755,root,root) %{_sbindir}/accept
503 %attr(755,root,root) %{_sbindir}/cupsaddsmb
504 %attr(755,root,root) %{_sbindir}/cupsenable
505 %attr(755,root,root) %{_sbindir}/cupsdisable
506 %attr(755,root,root) %{_sbindir}/disable
507 %attr(755,root,root) %{_sbindir}/enable
508 %attr(755,root,root) %{_sbindir}/lpadmin
509 %attr(755,root,root) %{_sbindir}/lpc
510 %attr(755,root,root) %{_sbindir}/lpinfo
511 %attr(755,root,root) %{_sbindir}/lpmove
512 %attr(755,root,root) %{_sbindir}/reject
513 %{_mandir}/man1/cancel.1*
514 %{_mandir}/man1/lp.1*
515 %{_mandir}/man1/lpoptions.1*
516 %{_mandir}/man1/lpq.1*
517 %{_mandir}/man1/lpr.1*
518 %{_mandir}/man1/lprm.1*
519 %{_mandir}/man1/lpstat.1*
520 #%lang(fr) %{_mandir}/fr/man1/cancel.1*
521 #%lang(fr) %{_mandir}/fr/man1/lp.1*
522 #%lang(fr) %{_mandir}/fr/man1/lpoptions.1*
523 #%lang(fr) %{_mandir}/fr/man1/lpq.1*
524 #%lang(fr) %{_mandir}/fr/man1/lpr.1*
525 #%lang(fr) %{_mandir}/fr/man1/lprm.1*
526 #%lang(fr) %{_mandir}/fr/man1/lpstat.1*
527 #%lang(es) %{_mandir}/es/man1/lp.1*
528 #%lang(es) %{_mandir}/es/man1/lpoptions.1*
529 #%lang(es) %{_mandir}/es/man1/lpq.1*
530 #%lang(es) %{_mandir}/es/man1/lpr.1*
531 #%lang(es) %{_mandir}/es/man1/lprm.1*
532 #%lang(es) %{_mandir}/es/man1/lpstat.1*
535 %defattr(644,root,root,755)
536 %attr(755,root,root) %{_libdir}/libcupsimage.so.*
539 %defattr(644,root,root,755)
540 %attr(755,root,root) %{_bindir}/cups-config
543 %{_mandir}/man1/cups-config*
545 #%lang(fr) %{_mandir}/fr/man1/cups-config*
546 #%lang(es) %{_mandir}/es/man1/cups-config*
548 %if %{with static_libs}
550 %defattr(644,root,root,755)
556 %defattr(644,root,root,755)
557 %{perl_vendorarch}/*.pm
558 %dir %{perl_vendorarch}/auto/CUPS
559 %{perl_vendorarch}/auto/CUPS/*.bs
560 %{perl_vendorarch}/auto/CUPS/autosplit.ix
561 %attr(755,root,root) %{perl_vendorarch}/auto/CUPS/*.so
566 %defattr(644,root,root,755)
567 %doc scripting/php/README
568 %attr(755,root,root) %{_php_extensiondir}/*
569 %config(noreplace) %verify(not md5 mtime size) %{_php_configdir}/conf.d/phpcups.ini
573 %defattr(644,root,root,755)
574 %attr(755,root,root) %{_ulibdir}/cups/backend/usb
576 %files backend-serial
577 %defattr(644,root,root,755)
578 %attr(755,root,root) %{_ulibdir}/cups/backend/serial
580 %files backend-parallel
581 %defattr(644,root,root,755)
582 %attr(755,root,root) %{_ulibdir}/cups/backend/parallel