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: f804995e3f469bdefedc033510f6e6a5
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}-jobs-header_tmpl_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 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-common >= 4:5.0.0
198 %description -n php-cups
199 PHP module for Common Unix Printing System.
201 %description -n php-cups -l pl
202 Modu³ PHP do ogólnego systemu druku dla Uniksa.
205 Summary: USB backend for CUPS
206 Summary(pl): Backend USB dla CUPS-a
207 Group: Applications/Printing
208 Requires: %{name} = %{epoch}:%{version}-%{release}
210 %description backend-usb
211 This package allow CUPS printing on USB printers.
213 %description backend-usb -l pl
214 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach USB.
216 %package backend-serial
217 Summary: Serial port backend for CUPS
218 Summary(pl): Backend obs³uguj±cy porty szeregowe dla CUPS-a
219 Group: Applications/Printing
220 Requires: %{name} = %{epoch}:%{version}-%{release}
222 %description backend-serial
223 This package allow CUPS printing on printers connected by serial
226 %description backend-serial -l pl
227 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
228 pod³±czonych do portów szeregowych.
230 %package backend-parallel
231 Summary: Parallel port backend for CUPS
232 Summary(pl): Backend obs³uguj±cy porty równoleg³e dla CUPS-a
233 Group: Applications/Printing
234 Requires: %{name} = %{epoch}:%{version}-%{release}
236 %description backend-parallel
237 This package allow CUPS printing on printers connected by parallel
240 %description backend-parallel -l pl
241 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
242 pod³±czonych do portów równoleg³ych.
254 %{__aclocal} -I config-scripts
257 --libdir=%{_ulibdir} \
259 %{?with_static_libs:--enable-static} \
261 --%{?with_gnutls:dis}%{!?with_gnutls:en}able-openssl \
262 --%{!?with_gnutls:dis}%{?with_gnutls:en}able-gnutls \
265 %{?debug:--enable-debug} \
266 --with-docdir=%{_ulibdir}/%{name}/cgi-bin \
267 %{?with_php:--with-php}
271 %{__perl} -pi -e 's#-I\.\.\/\.\.#-I../.. -I../../cups#g' scripting/php/Makefile
272 %{?with_php:%{__make} -C scripting/php PHPCONFIG=%{_bindir}/php-config}
276 %{__perl} -pi -e 's@-lcups@-L../../cups $1@' Makefile.PL
277 %{__perl} Makefile.PL \
279 OPTIMIZE="%{rpmcflags} -I../.."
280 # avoid rpaths generated by MakeMaker
281 %{__perl} -pi -e 's@LD_RUN_PATH="\$\(LD_RUN_PATH\)" @@' Makefile
288 rm -rf $RPM_BUILD_ROOT
289 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,pam.d,logrotate.d,security} \
290 $RPM_BUILD_ROOT/var/log/{,archiv/}cups
293 BUILDROOT=$RPM_BUILD_ROOT \
297 if [ "%{_lib}" != "lib" ] ; then
298 install -d $RPM_BUILD_ROOT%{_libdir}
299 mv $RPM_BUILD_ROOT%{_ulibdir}/*.so* $RPM_BUILD_ROOT%{_libdir}
300 mv $RPM_BUILD_ROOT%{_ulibdir}/*.a $RPM_BUILD_ROOT%{_libdir}
304 %{__make} -C scripting/php install \
305 PHPDIR=$RPM_BUILD_ROOT%{_php_extensiondir}
306 install -d $RPM_BUILD_ROOT%{_php_configdir}/conf.d
307 cat > $RPM_BUILD_ROOT%{_php_configdir}/conf.d/phpcups.ini << EOF
308 ; Enable phpcups extension module
316 DESTDIR=$RPM_BUILD_ROOT
320 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
321 install %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/%{name}
322 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
324 gzip -9nf $RPM_BUILD_ROOT%{_datadir}/%{name}/model/*.ppd
326 touch $RPM_BUILD_ROOT/var/log/cups/{access_log,error_log,page_log}
327 touch $RPM_BUILD_ROOT/etc/security/blacklist.cups
328 touch $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{classes,printers,client}.conf
330 # windows drivers can be put there.
331 install -d $RPM_BUILD_ROOT%{_datadir}/cups/drivers
333 touch $RPM_BUILD_ROOT/var/cache/cups/help.index
334 touch $RPM_BUILD_ROOT/var/cache/cups/{job,remote}.cache
335 touch $RPM_BUILD_ROOT/var/cache/cups/ppds.dat
336 install -d $RPM_BUILD_ROOT/etc/cups/ssl
338 # post-strip can't work on readonly files
339 chmod u+w $RPM_BUILD_ROOT%{perl_vendorarch}/auto/CUPS/CUPS.so
341 # check-files cleanup
342 rm -rf $RPM_BUILD_ROOT%{_mandir}/{,es/,fr/}cat?
343 rm -rf $RPM_BUILD_ROOT/etc/{init.d,rc?.d}/*
344 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/cupsd.conf.default
347 rm -rf $RPM_BUILD_ROOT
350 /sbin/chkconfig --add cups
351 %service cups restart "cups daemon"
354 if [ "$1" = "0" ]; then
356 /sbin/chkconfig --del cups
359 %post lib -p /sbin/ldconfig
360 %postun lib -p /sbin/ldconfig
361 %post image-lib -p /sbin/ldconfig
362 %postun image-lib -p /sbin/ldconfig
365 [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
366 [ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart
369 if [ "$1" = 0 ]; then
370 [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
371 [ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart
375 %defattr(644,root,root,755)
376 #%doc *.gz doc/*.html doc/*.css doc/images
378 %attr(640,root,root) %config %verify(not md5 mtime size) /etc/pam.d/*
379 %attr(754,root,root) /etc/rc.d/init.d/cups
380 /etc/dbus-1/system.d/cups.conf
381 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}
382 %attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/classes.conf
383 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/cupsd.conf
384 %attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/printers.conf
385 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.convs
386 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.types
387 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.cups
388 %dir %attr(700,root,lp) %{_sysconfdir}/%{name}/ssl
389 %dir %{_sysconfdir}/%{name}/interfaces
390 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}/ppd
391 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
392 %attr(4755,lp,root) %{_bindir}/lppasswd
393 %attr(755,root,root) %{_bindir}/cupstestppd
394 %attr(755,root,root) %{_bindir}/cupstestdsc
395 %attr(755,root,root) %{_sbindir}/cupsd
397 %dir %{_ulibdir}/cups
398 %dir %{_ulibdir}/cups/*
399 %{_ulibdir}/cups/cgi-bin/help
400 %{_ulibdir}/cups/cgi-bin/images
401 %attr(755,root,root) %{_ulibdir}/cups/cgi-bin/*.cgi
402 %{_ulibdir}/cups/cgi-bin/*.css
403 %{_ulibdir}/cups/cgi-bin/*.html
404 %{_ulibdir}/cups/cgi-bin/*.ico
405 %{_ulibdir}/cups/cgi-bin/*.txt
406 %lang(es) %{_ulibdir}/cups/cgi-bin/es
407 %lang(ja) %{_ulibdir}/cups/cgi-bin/ja
408 %lang(pl) %{_ulibdir}/cups/cgi-bin/pl
409 %lang(sv) %{_ulibdir}/cups/cgi-bin/sv
411 %exclude %{_ulibdir}/cups/backend/usb
412 %exclude %{_ulibdir}/cups/backend/serial
413 %exclude %{_ulibdir}/cups/backend/parallel
414 %attr(755,root,root) %{_ulibdir}/cups/backend/*
415 %attr(755,root,root) %{_ulibdir}/cups/daemon/*
416 %attr(755,root,root) %{_ulibdir}/cups/filter/*
417 %attr(755,root,root) %{_ulibdir}/cups/monitor/*
418 %attr(755,root,root) %{_ulibdir}/cups/notifier/*
420 %dir %{_datadir}/cups
421 %{_datadir}/cups/banners
422 %{_datadir}/cups/charmaps
423 %{_datadir}/cups/charsets
424 %{_datadir}/cups/data
425 %{_datadir}/cups/drivers
426 %{_datadir}/cups/fonts
427 %{_datadir}/cups/model
428 %dir %{_datadir}/cups/templates
429 %{_datadir}/cups/templates/*.tmpl
430 %lang(es) %{_datadir}/cups/templates/es
431 %lang(ja) %{_datadir}/cups/templates/ja
432 %lang(pl) %{_datadir}/cups/templates/pl
433 %lang(sv) %{_datadir}/cups/templates/sv
434 %{_mandir}/man7/backend.7*
435 %{_mandir}/man1/cupstestppd.1*
436 %{_mandir}/man1/cupstestdsc.1*
437 %{_mandir}/man7/filter.7*
438 %{_mandir}/man1/lppasswd.1*
440 %lang(es) %{_datadir}/locale/es/cups_es.po
441 %lang(ja) %{_datadir}/locale/ja/cups_ja.po
442 %lang(pl) %{_datadir}/locale/pl/cups_pl.po
443 %lang(sv) %{_datadir}/locale/sv/cups_sv.po
445 %dir %attr(775,root,lp) /var/cache/cups
446 %dir %attr(755,root,lp) /var/run/cups
447 %dir %attr(511,lp,sys) /var/run/cups/certs
448 %dir %attr(710,root,lp) /var/spool/cups
449 %dir %attr(1770,root,lp) /var/spool/cups/tmp
450 %attr(600,lp,lp) %ghost /var/cache/cups/help.index
451 %attr(640,root,lp) %ghost /var/cache/cups/job.cache
452 %attr(600,lp,lp) %ghost /var/cache/cups/ppds.dat
453 %attr(640,root,lp) %ghost /var/cache/cups/remote.cache
454 %attr(750,root,logs) %dir /var/log/archiv/cups
455 %attr(750,root,logs) %dir /var/log/cups
456 %attr(640,root,logs) %ghost /var/log/cups/access_log
457 %attr(640,root,logs) %ghost /var/log/cups/error_log
458 %attr(640,root,logs) %ghost /var/log/cups/page_log
461 %defattr(644,root,root,755)
462 %attr(755,root,root) %{_libdir}/libcups.so.*
465 %defattr(644,root,root,755)
466 %attr(644,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/client.conf
467 %attr(755,root,root) %{_bindir}/cancel
468 %attr(755,root,root) %{_bindir}/lp
469 %attr(755,root,root) %{_bindir}/lpoptions
470 %attr(755,root,root) %{_bindir}/lpq
471 %attr(755,root,root) %{_bindir}/lpr
472 %attr(755,root,root) %{_bindir}/lprm
473 %attr(755,root,root) %{_bindir}/lpstat
474 %attr(755,root,root) %{_sbindir}/accept
475 %attr(755,root,root) %{_sbindir}/cupsaddsmb
476 %attr(755,root,root) %{_sbindir}/lpadmin
477 %attr(755,root,root) %{_sbindir}/lpc
478 %attr(755,root,root) %{_sbindir}/lpinfo
479 %attr(755,root,root) %{_sbindir}/lpmove
480 %attr(755,root,root) %{_sbindir}/reject
481 %{_mandir}/man1/cancel.1*
482 %{_mandir}/man1/lp.1*
483 %{_mandir}/man1/lpoptions.1*
484 %{_mandir}/man1/lpq.1*
485 %{_mandir}/man1/lpr.1*
486 %{_mandir}/man1/lprm.1*
487 %{_mandir}/man1/lpstat.1*
488 #%lang(fr) %{_mandir}/fr/man1/cancel.1*
489 #%lang(fr) %{_mandir}/fr/man1/lp.1*
490 #%lang(fr) %{_mandir}/fr/man1/lpoptions.1*
491 #%lang(fr) %{_mandir}/fr/man1/lpq.1*
492 #%lang(fr) %{_mandir}/fr/man1/lpr.1*
493 #%lang(fr) %{_mandir}/fr/man1/lprm.1*
494 #%lang(fr) %{_mandir}/fr/man1/lpstat.1*
495 #%lang(es) %{_mandir}/es/man1/lp.1*
496 #%lang(es) %{_mandir}/es/man1/lpoptions.1*
497 #%lang(es) %{_mandir}/es/man1/lpq.1*
498 #%lang(es) %{_mandir}/es/man1/lpr.1*
499 #%lang(es) %{_mandir}/es/man1/lprm.1*
500 #%lang(es) %{_mandir}/es/man1/lpstat.1*
503 %defattr(644,root,root,755)
504 %attr(755,root,root) %{_libdir}/libcupsimage.so.*
507 %defattr(644,root,root,755)
508 %attr(755,root,root) %{_bindir}/cups-config
511 %{_mandir}/man1/cups-config*
513 #%lang(fr) %{_mandir}/fr/man1/cups-config*
514 #%lang(es) %{_mandir}/es/man1/cups-config*
516 %if %{with static_libs}
518 %defattr(644,root,root,755)
524 %defattr(644,root,root,755)
525 %{perl_vendorarch}/*.pm
526 %dir %{perl_vendorarch}/auto/CUPS
527 %{perl_vendorarch}/auto/CUPS/*.bs
528 %{perl_vendorarch}/auto/CUPS/autosplit.ix
529 %attr(755,root,root) %{perl_vendorarch}/auto/CUPS/*.so
534 %defattr(644,root,root,755)
535 %doc scripting/php/README
536 %attr(755,root,root) %{_php_extensiondir}/*
537 %config(noreplace) %verify(not md5 mtime size) %{_php_configdir}/conf.d/phpcups.ini
541 %defattr(644,root,root,755)
542 %attr(755,root,root) %{_ulibdir}/cups/backend/usb
544 %files backend-serial
545 %defattr(644,root,root,755)
546 %attr(755,root,root) %{_ulibdir}/cups/backend/serial
548 %files backend-parallel
549 %defattr(644,root,root,755)
550 %attr(755,root,root) %{_ulibdir}/cups/backend/parallel