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}-templates_pl.patch
34 Patch6: %{name}-svn5706.patch
35 URL: http://www.cups.org/
36 BuildRequires: acl-devel
37 BuildRequires: autoconf
38 BuildRequires: automake
39 BuildRequires: dbus-devel
40 %{?with_gnutls:BuildRequires: gnutls-devel}
41 BuildRequires: libjpeg-devel
42 BuildRequires: libpng-devel
43 BuildRequires: libstdc++-devel
44 BuildRequires: libtiff-devel
45 BuildRequires: openldap-devel
46 BuildRequires: openslp-devel
47 %{!?with_gnutls:BuildRequires: openssl-devel}
48 BuildRequires: pam-devel
49 %{?with_php:BuildRequires: php-devel >= 4:5.0.0}
50 BuildRequires: pkgconfig
51 BuildRequires: rpm-perlprov
52 BuildRequires: rpmbuild(macros) >= 1.268
53 Requires(post,preun): /sbin/chkconfig
54 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
55 Requires: pam >= 0.77.3
59 Conflicts: ghostscript < 7.05.4
60 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
62 %define _ulibdir %{_prefix}/lib
65 %define _php_configdir /etc/php
66 %define _php_extensiondir %(php-config --extension-dir)
70 CUPS provides a portable printing layer for UNIX-based operating
71 systems. It has been developed by Easy Software Products to promote a
72 standard printing solution for all UNIX vendors and users. CUPS
73 provides the System V and Berkeley command-line interfaces. CUPS uses
74 the Internet Printing Protocol ("IPP") as the basis for managing print
75 jobs and queues. The Line Printer Daemon ("LPD") Server Message Block
76 ("SMB"), and AppSocket (a.k.a. JetDirect) protocols are also supported
77 with reduced functionality. CUPS adds network printer browsing and
78 PostScript Printer Description ("PPD") based printing options to
79 support real-world printing under UNIX.
82 CUPS dostarcza standardowy poziom drukowania dla systemów uniksowych.
83 CUPS u¿ywa protoko³u IPP - Internet Printint Protocol jako podstawy do
84 zarz±dzania zadaniami i kolejkami druku. W ograniczonym zakresie
85 obs³ugiwane s± tak¿e protoko³y LPD (Line Printer Daemon), SMB (Server
86 Message Block) i AppSocket (znany tak¿e jako JetDirect). CUPS
87 udostêpnia przegl±danie drukarek sieciowych i opcje drukowania oparte
88 na PPD (PostScript Printer Description) do obs³ugi rzeczywistych
92 O sistema Unix de impressão (CUPS) fornece uma camada de impressão
93 portável para os sistemas operacionais baseados no UNIX®.
96 Summary: Common Unix Printing System Libraries
97 Summary(pl): Biblioteki dla CUPS
98 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
100 Provides: %{name}-libs = %{epoch}:%{version}-%{release}
105 Common Unix Printing System Libraries.
107 %description lib -l pl
110 %description lib -l pt_BR
111 Bibliotecas CUPS requeridas pelos clientes CUPS.
114 Summary: Common Unix Printing System Clients
115 Summary(pl): Aplikacje klienckie dla CUPS
116 Group: Applications/Printing
117 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
121 Common Unix Printing System Clients.
123 %description clients -l pl
124 Aplikacje klienckie dla CUPS.
127 Summary: Common Unix Printing System Libraries - images manipulation
128 Summary(pl): Biblioteki dla CUPS - obs³uga formatów graficznych
129 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
131 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
134 %description image-lib
135 Common Unix Printing System Libraries - images manupalation.
137 %description image-lib -l pl
138 Biblioteki dla CUPS - obs³uga formatów graficznych.
140 %description image-lib -l pt_BR
141 Bibliotecas CUPS requeridas pelos clientes CUPS.
144 Summary: Common Unix Printing System development files
145 Summary(pl): Ogólny system druku dla Uniksa - pliki nag³ówkowe
146 Summary(pt_BR): Sistema Unix de Impressão - ambiente de desenvolvimento
147 Group: Development/Libraries
148 Requires: %{name}-image-lib = %{epoch}:%{version}-%{release}
149 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
150 Obsoletes: libcups1-devel
153 Common Unix Printing System development files.
155 %description devel -l pl
156 Ogólny system druku dla Uniksa - pliki nag³ówkowe.
158 %description devel -l pt_BR
159 Este pacote é um adicional que contem um ambiente de desenvolvimento
160 para a criação de suporte a novas impressoras e novos serviços ao
164 Summary: Common Unix Printing System static libraries
165 Summary(pl): Ogólny system druku dla Uniksa - biblioteki statyczne
166 Summary(pt_BR): Common Unix Printing System - bibliotecas estáticas
167 Group: Development/Libraries
168 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
171 Common Unix Printing System static libraries.
173 %description static -l pl
174 Ogólny system druku dla Uniksa - biblioteki statyczne.
176 %description static -l pt_BR
177 Bibliotecas estáticas para desenvolvimento de programas que usam as
180 %package -n perl-cups
181 Summary: Perl module for CUPS
182 Summary(pl): Modu³ Perla CUPS
183 Group: Development/Languages/Perl
184 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
186 %description -n perl-cups
187 Perl module for Common Unix Printing System.
189 %description -n perl-cups -l pl
190 Modu³ Perla do ogólnego systemu druku dla Uniksa.
193 Summary: PHP module for CUPS
194 Summary(pl): Modu³ PHP CUPS
195 Group: Development/Languages/PHP
196 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
197 Requires: php-common >= 4:5.0.0
199 %description -n php-cups
200 PHP module for Common Unix Printing System.
202 %description -n php-cups -l pl
203 Modu³ PHP do ogólnego systemu druku dla Uniksa.
206 Summary: USB backend for CUPS
207 Summary(pl): Backend USB dla CUPS-a
208 Group: Applications/Printing
209 Requires: %{name} = %{epoch}:%{version}-%{release}
211 %description backend-usb
212 This package allow CUPS printing on USB printers.
214 %description backend-usb -l pl
215 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach USB.
217 %package backend-serial
218 Summary: Serial port backend for CUPS
219 Summary(pl): Backend obs³uguj±cy porty szeregowe dla CUPS-a
220 Group: Applications/Printing
221 Requires: %{name} = %{epoch}:%{version}-%{release}
223 %description backend-serial
224 This package allow CUPS printing on printers connected by serial
227 %description backend-serial -l pl
228 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
229 pod³±czonych do portów szeregowych.
231 %package backend-parallel
232 Summary: Parallel port backend for CUPS
233 Summary(pl): Backend obs³uguj±cy porty równoleg³e dla CUPS-a
234 Group: Applications/Printing
235 Requires: %{name} = %{epoch}:%{version}-%{release}
237 %description backend-parallel
238 This package allow CUPS printing on printers connected by parallel
241 %description backend-parallel -l pl
242 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
243 pod³±czonych do portów równoleg³ych.
256 %{__aclocal} -I config-scripts
259 --libdir=%{_ulibdir} \
261 %{?with_static_libs:--enable-static} \
263 --%{?with_gnutls:dis}%{!?with_gnutls:en}able-openssl \
264 --%{!?with_gnutls:dis}%{?with_gnutls:en}able-gnutls \
267 %{?debug:--enable-debug} \
268 --with-docdir=%{_ulibdir}/%{name}/cgi-bin \
269 %{?with_php:--with-php}
273 %{__perl} -pi -e 's#-I\.\.\/\.\.#-I../.. -I../../cups#g' scripting/php/Makefile
274 %{?with_php:%{__make} -C scripting/php PHPCONFIG=%{_bindir}/php-config}
278 %{__perl} -pi -e 's@-lcups@-L../../cups $1@' Makefile.PL
279 %{__perl} Makefile.PL \
281 OPTIMIZE="%{rpmcflags} -I../.."
282 # avoid rpaths generated by MakeMaker
283 %{__perl} -pi -e 's@LD_RUN_PATH="\$\(LD_RUN_PATH\)" @@' Makefile
290 rm -rf $RPM_BUILD_ROOT
291 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,pam.d,logrotate.d,security} \
292 $RPM_BUILD_ROOT/var/log/{,archiv/}cups
295 BUILDROOT=$RPM_BUILD_ROOT \
299 if [ "%{_lib}" != "lib" ] ; then
300 install -d $RPM_BUILD_ROOT%{_libdir}
301 mv $RPM_BUILD_ROOT%{_ulibdir}/*.so* $RPM_BUILD_ROOT%{_libdir}
302 mv $RPM_BUILD_ROOT%{_ulibdir}/*.a $RPM_BUILD_ROOT%{_libdir}
306 %{__make} -C scripting/php install \
307 PHPDIR=$RPM_BUILD_ROOT%{_php_extensiondir}
308 install -d $RPM_BUILD_ROOT%{_php_configdir}/conf.d
309 cat > $RPM_BUILD_ROOT%{_php_configdir}/conf.d/phpcups.ini << EOF
310 ; Enable phpcups extension module
318 DESTDIR=$RPM_BUILD_ROOT
322 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
323 install %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/%{name}
324 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
326 gzip -9nf $RPM_BUILD_ROOT%{_datadir}/%{name}/model/*.ppd
328 touch $RPM_BUILD_ROOT/var/log/cups/{access_log,error_log,page_log}
329 touch $RPM_BUILD_ROOT/etc/security/blacklist.cups
330 touch $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{classes,printers,client}.conf
332 # windows drivers can be put there.
333 install -d $RPM_BUILD_ROOT%{_datadir}/cups/drivers
335 touch $RPM_BUILD_ROOT/var/cache/cups/help.index
336 touch $RPM_BUILD_ROOT/var/cache/cups/{job,remote}.cache
337 touch $RPM_BUILD_ROOT/var/cache/cups/ppds.dat
338 install -d $RPM_BUILD_ROOT/etc/cups/ssl
340 # post-strip can't work on readonly files
341 chmod u+w $RPM_BUILD_ROOT%{perl_vendorarch}/auto/CUPS/CUPS.so
343 # check-files cleanup
344 rm -rf $RPM_BUILD_ROOT%{_mandir}/{,es/,fr/}cat?
345 rm -rf $RPM_BUILD_ROOT/etc/{init.d,rc?.d}/*
346 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/cupsd.conf.default
349 rm -rf $RPM_BUILD_ROOT
352 /sbin/chkconfig --add cups
353 %service cups restart "cups daemon"
356 if [ "$1" = "0" ]; then
358 /sbin/chkconfig --del cups
361 %post lib -p /sbin/ldconfig
362 %postun lib -p /sbin/ldconfig
363 %post image-lib -p /sbin/ldconfig
364 %postun image-lib -p /sbin/ldconfig
367 [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
368 [ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart
371 if [ "$1" = 0 ]; then
372 [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
373 [ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart
377 %defattr(644,root,root,755)
378 #%doc *.gz doc/*.html doc/*.css doc/images
380 %attr(640,root,root) %config %verify(not md5 mtime size) /etc/pam.d/*
381 %attr(754,root,root) /etc/rc.d/init.d/cups
382 /etc/dbus-1/system.d/cups.conf
383 %attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/classes.conf
384 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/cupsd.conf
385 %attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/printers.conf
386 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.convs
387 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.types
388 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.cups
389 %dir %attr(700,root,lp) %{_sysconfdir}/%{name}/ssl
390 %dir %{_sysconfdir}/%{name}/interfaces
391 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}/ppd
392 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
393 %attr(4755,lp,root) %{_bindir}/lppasswd
394 %attr(755,root,root) %{_bindir}/cupstestppd
395 %attr(755,root,root) %{_bindir}/cupstestdsc
396 %attr(755,root,root) %{_sbindir}/cupsd
398 %dir %{_ulibdir}/cups
399 %dir %{_ulibdir}/cups/*
400 %{_ulibdir}/cups/cgi-bin/help
401 %{_ulibdir}/cups/cgi-bin/images
402 %attr(755,root,root) %{_ulibdir}/cups/cgi-bin/*.cgi
403 %{_ulibdir}/cups/cgi-bin/*.css
404 %{_ulibdir}/cups/cgi-bin/*.html
405 %{_ulibdir}/cups/cgi-bin/*.ico
406 %{_ulibdir}/cups/cgi-bin/*.txt
407 %lang(es) %{_ulibdir}/cups/cgi-bin/es
408 %lang(ja) %{_ulibdir}/cups/cgi-bin/ja
409 %lang(pl) %{_ulibdir}/cups/cgi-bin/pl
410 %lang(sv) %{_ulibdir}/cups/cgi-bin/sv
412 %exclude %{_ulibdir}/cups/backend/usb
413 %exclude %{_ulibdir}/cups/backend/serial
414 %exclude %{_ulibdir}/cups/backend/parallel
415 %attr(755,root,root) %{_ulibdir}/cups/backend/*
416 %attr(755,root,root) %{_ulibdir}/cups/daemon/*
417 %attr(755,root,root) %{_ulibdir}/cups/filter/*
418 %attr(755,root,root) %{_ulibdir}/cups/monitor/*
419 %attr(755,root,root) %{_ulibdir}/cups/notifier/*
421 %dir %{_datadir}/cups
422 %{_datadir}/cups/banners
423 %{_datadir}/cups/charmaps
424 %{_datadir}/cups/charsets
425 %{_datadir}/cups/data
426 %{_datadir}/cups/drivers
427 %{_datadir}/cups/fonts
428 %{_datadir}/cups/model
429 %dir %{_datadir}/cups/templates
430 %{_datadir}/cups/templates/*.tmpl
431 %lang(es) %{_datadir}/cups/templates/es
432 %lang(ja) %{_datadir}/cups/templates/ja
433 %lang(pl) %{_datadir}/cups/templates/pl
434 %lang(sv) %{_datadir}/cups/templates/sv
435 %{_mandir}/man7/backend.7*
436 %{_mandir}/man1/cupstestppd.1*
437 %{_mandir}/man1/cupstestdsc.1*
438 %{_mandir}/man7/filter.7*
439 %{_mandir}/man1/lppasswd.1*
441 %lang(es) %{_datadir}/locale/es/cups_es.po
442 %lang(ja) %{_datadir}/locale/ja/cups_ja.po
443 %lang(pl) %{_datadir}/locale/pl/cups_pl.po
444 %lang(sv) %{_datadir}/locale/sv/cups_sv.po
446 %dir %attr(775,root,lp) /var/cache/cups
447 %dir %attr(755,root,lp) /var/run/cups
448 %dir %attr(511,lp,sys) /var/run/cups/certs
449 %dir %attr(710,root,lp) /var/spool/cups
450 %dir %attr(1770,root,lp) /var/spool/cups/tmp
451 %attr(600,lp,lp) %ghost /var/cache/cups/help.index
452 %attr(640,root,lp) %ghost /var/cache/cups/job.cache
453 %attr(600,lp,lp) %ghost /var/cache/cups/ppds.dat
454 %attr(640,root,lp) %ghost /var/cache/cups/remote.cache
455 %attr(750,root,logs) %dir /var/log/archiv/cups
456 %attr(750,root,logs) %dir /var/log/cups
457 %attr(640,root,logs) %ghost /var/log/cups/access_log
458 %attr(640,root,logs) %ghost /var/log/cups/error_log
459 %attr(640,root,logs) %ghost /var/log/cups/page_log
462 %defattr(644,root,root,755)
463 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}
464 %attr(755,root,root) %{_libdir}/libcups.so.*
467 %defattr(644,root,root,755)
468 %attr(644,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/client.conf
469 %attr(755,root,root) %{_bindir}/cancel
470 %attr(755,root,root) %{_bindir}/lp
471 %attr(755,root,root) %{_bindir}/lpoptions
472 %attr(755,root,root) %{_bindir}/lpq
473 %attr(755,root,root) %{_bindir}/lpr
474 %attr(755,root,root) %{_bindir}/lprm
475 %attr(755,root,root) %{_bindir}/lpstat
476 %attr(755,root,root) %{_sbindir}/accept
477 %attr(755,root,root) %{_sbindir}/cupsaddsmb
478 %attr(755,root,root) %{_sbindir}/lpadmin
479 %attr(755,root,root) %{_sbindir}/lpc
480 %attr(755,root,root) %{_sbindir}/lpinfo
481 %attr(755,root,root) %{_sbindir}/lpmove
482 %attr(755,root,root) %{_sbindir}/reject
483 %{_mandir}/man1/cancel.1*
484 %{_mandir}/man1/lp.1*
485 %{_mandir}/man1/lpoptions.1*
486 %{_mandir}/man1/lpq.1*
487 %{_mandir}/man1/lpr.1*
488 %{_mandir}/man1/lprm.1*
489 %{_mandir}/man1/lpstat.1*
490 #%lang(fr) %{_mandir}/fr/man1/cancel.1*
491 #%lang(fr) %{_mandir}/fr/man1/lp.1*
492 #%lang(fr) %{_mandir}/fr/man1/lpoptions.1*
493 #%lang(fr) %{_mandir}/fr/man1/lpq.1*
494 #%lang(fr) %{_mandir}/fr/man1/lpr.1*
495 #%lang(fr) %{_mandir}/fr/man1/lprm.1*
496 #%lang(fr) %{_mandir}/fr/man1/lpstat.1*
497 #%lang(es) %{_mandir}/es/man1/lp.1*
498 #%lang(es) %{_mandir}/es/man1/lpoptions.1*
499 #%lang(es) %{_mandir}/es/man1/lpq.1*
500 #%lang(es) %{_mandir}/es/man1/lpr.1*
501 #%lang(es) %{_mandir}/es/man1/lprm.1*
502 #%lang(es) %{_mandir}/es/man1/lpstat.1*
505 %defattr(644,root,root,755)
506 %attr(755,root,root) %{_libdir}/libcupsimage.so.*
509 %defattr(644,root,root,755)
510 %attr(755,root,root) %{_bindir}/cups-config
513 %{_mandir}/man1/cups-config*
515 #%lang(fr) %{_mandir}/fr/man1/cups-config*
516 #%lang(es) %{_mandir}/es/man1/cups-config*
518 %if %{with static_libs}
520 %defattr(644,root,root,755)
526 %defattr(644,root,root,755)
527 %{perl_vendorarch}/*.pm
528 %dir %{perl_vendorarch}/auto/CUPS
529 %{perl_vendorarch}/auto/CUPS/*.bs
530 %{perl_vendorarch}/auto/CUPS/autosplit.ix
531 %attr(755,root,root) %{perl_vendorarch}/auto/CUPS/*.so
536 %defattr(644,root,root,755)
537 %doc scripting/php/README
538 %attr(755,root,root) %{_php_extensiondir}/*
539 %config(noreplace) %verify(not md5 mtime size) %{_php_configdir}/conf.d/phpcups.ini
543 %defattr(644,root,root,755)
544 %attr(755,root,root) %{_ulibdir}/cups/backend/usb
546 %files backend-serial
547 %defattr(644,root,root,755)
548 %attr(755,root,root) %{_ulibdir}/cups/backend/serial
550 %files backend-parallel
551 %defattr(644,root,root,755)
552 %attr(755,root,root) %{_ulibdir}/cups/backend/parallel