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.patch
34 Patch6: %{name}-certs_FHS.patch
35 Patch7: %{name}-str2111.patch
36 URL: http://www.cups.org/
37 BuildRequires: acl-devel
38 BuildRequires: autoconf
39 BuildRequires: automake
40 BuildRequires: dbus-devel
41 %{?with_gnutls:BuildRequires: gnutls-devel}
42 BuildRequires: libjpeg-devel
43 BuildRequires: libpng-devel
44 BuildRequires: libstdc++-devel
45 BuildRequires: libtiff-devel
46 BuildRequires: openldap-devel
47 BuildRequires: openslp-devel
48 %{!?with_gnutls:BuildRequires: openssl-devel}
49 BuildRequires: pam-devel
50 %{?with_php:BuildRequires: php-devel >= 4:5.0.0}
51 BuildRequires: pkgconfig
52 BuildRequires: rpm-perlprov
53 BuildRequires: rpmbuild(macros) >= 1.344
54 Requires(post,preun): /sbin/chkconfig
55 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
56 Requires: pam >= 0.77.3
60 Conflicts: ghostscript < 7.05.4
61 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
63 %define _ulibdir %{_prefix}/lib
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. W ograniczonym zakresie
81 obs³ugiwane s± tak¿e protoko³y LPD (Line Printer Daemon), SMB (Server
82 Message Block) i AppSocket (znany tak¿e jako JetDirect). CUPS
83 udostêpnia przegl±danie drukarek sieciowych i opcje drukowania oparte
84 na PPD (PostScript Printer Description) do obs³ugi rzeczywistych
88 O sistema Unix de impressão (CUPS) fornece uma camada de impressão
89 portável para os sistemas operacionais baseados no UNIX®.
92 Summary: Common Unix Printing System Libraries
93 Summary(pl): Biblioteki dla CUPS
94 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
96 Provides: %{name}-libs = %{epoch}:%{version}-%{release}
101 Common Unix Printing System Libraries.
103 %description lib -l pl
106 %description lib -l pt_BR
107 Bibliotecas CUPS requeridas pelos clientes CUPS.
110 Summary: Common Unix Printing System Clients
111 Summary(pl): Aplikacje klienckie dla CUPS
112 Group: Applications/Printing
113 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
117 Common Unix Printing System Clients.
119 %description clients -l pl
120 Aplikacje klienckie dla CUPS.
123 Summary: Common Unix Printing System Libraries - images manipulation
124 Summary(pl): Biblioteki dla CUPS - obs³uga formatów graficznych
125 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
127 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
130 %description image-lib
131 Common Unix Printing System Libraries - images manupalation.
133 %description image-lib -l pl
134 Biblioteki dla CUPS - obs³uga formatów graficznych.
136 %description image-lib -l pt_BR
137 Bibliotecas CUPS requeridas pelos clientes CUPS.
140 Summary: Common Unix Printing System development files
141 Summary(pl): Ogólny system druku dla Uniksa - pliki nag³ówkowe
142 Summary(pt_BR): Sistema Unix de Impressão - ambiente de desenvolvimento
143 Group: Development/Libraries
144 Requires: %{name}-image-lib = %{epoch}:%{version}-%{release}
145 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
146 %{?with_gnutls:Requires: gnutls-devel}
147 %{!?with_gnutls:Requires: openssl-devel}
149 Obsoletes: libcups1-devel
152 Common Unix Printing System development files.
154 %description devel -l pl
155 Ogólny system druku dla Uniksa - pliki nag³ówkowe.
157 %description devel -l pt_BR
158 Este pacote é um adicional que contem um ambiente de desenvolvimento
159 para a criação de suporte a novas impressoras e novos serviços ao
163 Summary: Common Unix Printing System static libraries
164 Summary(pl): Ogólny system druku dla Uniksa - biblioteki statyczne
165 Summary(pt_BR): Common Unix Printing System - bibliotecas estáticas
166 Group: Development/Libraries
167 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
170 Common Unix Printing System static libraries.
172 %description static -l pl
173 Ogólny system druku dla Uniksa - biblioteki statyczne.
175 %description static -l pt_BR
176 Bibliotecas estáticas para desenvolvimento de programas que usam as
179 %package -n perl-cups
180 Summary: Perl module for CUPS
181 Summary(pl): Modu³ Perla CUPS
182 Group: Development/Languages/Perl
183 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
185 %description -n perl-cups
186 Perl module for Common Unix Printing System.
188 %description -n perl-cups -l pl
189 Modu³ Perla do ogólnego systemu druku dla Uniksa.
192 Summary: PHP module for CUPS
193 Summary(pl): Modu³ PHP CUPS
194 Group: Development/Languages/PHP
195 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
196 %{?requires_php_extension}
197 Requires: /etc/php/conf.d
198 Requires: php-common >= 4:5.0.0
200 %description -n php-cups
201 PHP module for Common Unix Printing System.
203 %description -n php-cups -l pl
204 Modu³ PHP do ogólnego systemu druku dla Uniksa.
207 Summary: USB backend for CUPS
208 Summary(pl): Backend USB dla CUPS-a
209 Group: Applications/Printing
210 Requires: %{name} = %{epoch}:%{version}-%{release}
212 %description backend-usb
213 This package allow CUPS printing on USB printers.
215 %description backend-usb -l pl
216 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach USB.
218 %package backend-serial
219 Summary: Serial port backend for CUPS
220 Summary(pl): Backend obs³uguj±cy porty szeregowe dla CUPS-a
221 Group: Applications/Printing
222 Requires: %{name} = %{epoch}:%{version}-%{release}
224 %description backend-serial
225 This package allow CUPS printing on printers connected by serial
228 %description backend-serial -l pl
229 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
230 pod³±czonych do portów szeregowych.
232 %package backend-parallel
233 Summary: Parallel port backend for CUPS
234 Summary(pl): Backend obs³uguj±cy porty równoleg³e dla CUPS-a
235 Group: Applications/Printing
236 Requires: %{name} = %{epoch}:%{version}-%{release}
238 %description backend-parallel
239 This package allow CUPS printing on printers connected by parallel
242 %description backend-parallel -l pl
243 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
244 pod³±czonych do portów równoleg³ych.
258 %{__aclocal} -I config-scripts
261 --libdir=%{_ulibdir} \
263 %{?with_static_libs:--enable-static} \
265 --%{?with_gnutls:dis}%{!?with_gnutls:en}able-openssl \
266 --%{!?with_gnutls:dis}%{?with_gnutls:en}able-gnutls \
269 %{?debug:--enable-debug} \
270 --with-docdir=%{_ulibdir}/%{name}/cgi-bin \
271 %{?with_php:--with-php}
275 %{__perl} -pi -e 's#-I\.\.\/\.\.#-I../.. -I../../cups#g' scripting/php/Makefile
276 %{?with_php:%{__make} -C scripting/php PHPCONFIG=%{_bindir}/php-config}
280 %{__perl} -pi -e 's@-lcups@-L../../cups $1@' Makefile.PL
281 %{__perl} Makefile.PL \
283 OPTIMIZE="%{rpmcflags} -I../.."
284 # avoid rpaths generated by MakeMaker
285 %{__perl} -pi -e 's@LD_RUN_PATH="\$\(LD_RUN_PATH\)" @@' Makefile
292 rm -rf $RPM_BUILD_ROOT
293 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,pam.d,logrotate.d,security} \
294 $RPM_BUILD_ROOT/var/run/cups \
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_sysconfdir}/conf.d
312 cat > $RPM_BUILD_ROOT%{php_sysconfdir}/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/lib/cups
474 %dir %attr(511,lp,sys) /var/lib/cups/certs
475 %dir %attr(755,root,lp) /var/run/cups
476 %dir %attr(710,root,lp) /var/spool/cups
477 %dir %attr(1770,root,lp) /var/spool/cups/tmp
478 %attr(600,lp,lp) %ghost /var/cache/cups/help.index
479 %attr(640,root,lp) %ghost /var/cache/cups/job.cache
480 %attr(600,lp,lp) %ghost /var/cache/cups/ppds.dat
481 %attr(640,root,lp) %ghost /var/cache/cups/remote.cache
482 %attr(750,root,logs) %dir /var/log/archiv/cups
483 %attr(750,root,logs) %dir /var/log/cups
484 %attr(640,root,logs) %ghost /var/log/cups/access_log
485 %attr(640,root,logs) %ghost /var/log/cups/error_log
486 %attr(640,root,logs) %ghost /var/log/cups/page_log
489 %defattr(644,root,root,755)
490 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}
491 %attr(755,root,root) %{_libdir}/libcups.so.*
494 %defattr(644,root,root,755)
495 %attr(644,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/client.conf
496 %attr(755,root,root) %{_bindir}/cancel
497 %attr(755,root,root) %{_bindir}/lp
498 %attr(755,root,root) %{_bindir}/lpoptions
499 %attr(755,root,root) %{_bindir}/lpq
500 %attr(755,root,root) %{_bindir}/lpr
501 %attr(755,root,root) %{_bindir}/lprm
502 %attr(755,root,root) %{_bindir}/lpstat
503 %attr(755,root,root) %{_sbindir}/accept
504 %attr(755,root,root) %{_sbindir}/cupsaddsmb
505 %attr(755,root,root) %{_sbindir}/cupsenable
506 %attr(755,root,root) %{_sbindir}/cupsdisable
507 %attr(755,root,root) %{_sbindir}/disable
508 %attr(755,root,root) %{_sbindir}/enable
509 %attr(755,root,root) %{_sbindir}/lpadmin
510 %attr(755,root,root) %{_sbindir}/lpc
511 %attr(755,root,root) %{_sbindir}/lpinfo
512 %attr(755,root,root) %{_sbindir}/lpmove
513 %attr(755,root,root) %{_sbindir}/reject
514 %{_mandir}/man1/cancel.1*
515 %{_mandir}/man1/lp.1*
516 %{_mandir}/man1/lpoptions.1*
517 %{_mandir}/man1/lpq.1*
518 %{_mandir}/man1/lpr.1*
519 %{_mandir}/man1/lprm.1*
520 %{_mandir}/man1/lpstat.1*
521 #%lang(fr) %{_mandir}/fr/man1/cancel.1*
522 #%lang(fr) %{_mandir}/fr/man1/lp.1*
523 #%lang(fr) %{_mandir}/fr/man1/lpoptions.1*
524 #%lang(fr) %{_mandir}/fr/man1/lpq.1*
525 #%lang(fr) %{_mandir}/fr/man1/lpr.1*
526 #%lang(fr) %{_mandir}/fr/man1/lprm.1*
527 #%lang(fr) %{_mandir}/fr/man1/lpstat.1*
528 #%lang(es) %{_mandir}/es/man1/lp.1*
529 #%lang(es) %{_mandir}/es/man1/lpoptions.1*
530 #%lang(es) %{_mandir}/es/man1/lpq.1*
531 #%lang(es) %{_mandir}/es/man1/lpr.1*
532 #%lang(es) %{_mandir}/es/man1/lprm.1*
533 #%lang(es) %{_mandir}/es/man1/lpstat.1*
536 %defattr(644,root,root,755)
537 %attr(755,root,root) %{_libdir}/libcupsimage.so.*
540 %defattr(644,root,root,755)
541 %attr(755,root,root) %{_bindir}/cups-config
544 %{_mandir}/man1/cups-config*
546 #%lang(fr) %{_mandir}/fr/man1/cups-config*
547 #%lang(es) %{_mandir}/es/man1/cups-config*
549 %if %{with static_libs}
551 %defattr(644,root,root,755)
557 %defattr(644,root,root,755)
558 %{perl_vendorarch}/*.pm
559 %dir %{perl_vendorarch}/auto/CUPS
560 %{perl_vendorarch}/auto/CUPS/*.bs
561 %{perl_vendorarch}/auto/CUPS/autosplit.ix
562 %attr(755,root,root) %{perl_vendorarch}/auto/CUPS/*.so
567 %defattr(644,root,root,755)
568 %doc scripting/php/README
569 %attr(755,root,root) %{php_extensiondir}/*
570 %config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/phpcups.ini
574 %defattr(644,root,root,755)
575 %attr(755,root,root) %{_ulibdir}/cups/backend/usb
577 %files backend-serial
578 %defattr(644,root,root,755)
579 %attr(755,root,root) %{_ulibdir}/cups/backend/serial
581 %files backend-parallel
582 %defattr(644,root,root,755)
583 %attr(755,root,root) %{_ulibdir}/cups/backend/parallel