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}-str1723.patch
35 Patch7: %{name}-str1740.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.268
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 %define _php_configdir /etc/php
67 %define _php_extensiondir %(php-config --extension-dir)
71 CUPS provides a portable printing layer for UNIX-based operating
72 systems. It has been developed by Easy Software Products to promote a
73 standard printing solution for all UNIX vendors and users. CUPS
74 provides the System V and Berkeley command-line interfaces. CUPS uses
75 the Internet Printing Protocol ("IPP") as the basis for managing print
76 jobs and queues. The Line Printer Daemon ("LPD") Server Message Block
77 ("SMB"), and AppSocket (a.k.a. JetDirect) protocols are also supported
78 with reduced functionality. CUPS adds network printer browsing and
79 PostScript Printer Description ("PPD") based printing options to
80 support real-world printing under UNIX.
83 CUPS dostarcza standardowy poziom drukowania dla systemów uniksowych.
84 CUPS u¿ywa protoko³u IPP - Internet Printint Protocol jako podstawy do
85 zarz±dzania zadaniami i kolejkami druku. W ograniczonym zakresie
86 obs³ugiwane s± tak¿e protoko³y LPD (Line Printer Daemon), SMB (Server
87 Message Block) i AppSocket (znany tak¿e jako JetDirect). CUPS
88 udostêpnia przegl±danie drukarek sieciowych i opcje drukowania oparte
89 na PPD (PostScript Printer Description) do obs³ugi rzeczywistych
93 O sistema Unix de impressão (CUPS) fornece uma camada de impressão
94 portável para os sistemas operacionais baseados no UNIX®.
97 Summary: Common Unix Printing System Libraries
98 Summary(pl): Biblioteki dla CUPS
99 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
101 Provides: %{name}-libs = %{epoch}:%{version}-%{release}
106 Common Unix Printing System Libraries.
108 %description lib -l pl
111 %description lib -l pt_BR
112 Bibliotecas CUPS requeridas pelos clientes CUPS.
115 Summary: Common Unix Printing System Clients
116 Summary(pl): Aplikacje klienckie dla CUPS
117 Group: Applications/Printing
118 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
122 Common Unix Printing System Clients.
124 %description clients -l pl
125 Aplikacje klienckie dla CUPS.
128 Summary: Common Unix Printing System Libraries - images manipulation
129 Summary(pl): Biblioteki dla CUPS - obs³uga formatów graficznych
130 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
132 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
135 %description image-lib
136 Common Unix Printing System Libraries - images manupalation.
138 %description image-lib -l pl
139 Biblioteki dla CUPS - obs³uga formatów graficznych.
141 %description image-lib -l pt_BR
142 Bibliotecas CUPS requeridas pelos clientes CUPS.
145 Summary: Common Unix Printing System development files
146 Summary(pl): Ogólny system druku dla Uniksa - pliki nag³ówkowe
147 Summary(pt_BR): Sistema Unix de Impressão - ambiente de desenvolvimento
148 Group: Development/Libraries
149 Requires: %{name}-image-lib = %{epoch}:%{version}-%{release}
150 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
151 Obsoletes: libcups1-devel
154 Common Unix Printing System development files.
156 %description devel -l pl
157 Ogólny system druku dla Uniksa - pliki nag³ówkowe.
159 %description devel -l pt_BR
160 Este pacote é um adicional que contem um ambiente de desenvolvimento
161 para a criação de suporte a novas impressoras e novos serviços ao
165 Summary: Common Unix Printing System static libraries
166 Summary(pl): Ogólny system druku dla Uniksa - biblioteki statyczne
167 Summary(pt_BR): Common Unix Printing System - bibliotecas estáticas
168 Group: Development/Libraries
169 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
172 Common Unix Printing System static libraries.
174 %description static -l pl
175 Ogólny system druku dla Uniksa - biblioteki statyczne.
177 %description static -l pt_BR
178 Bibliotecas estáticas para desenvolvimento de programas que usam as
181 %package -n perl-cups
182 Summary: Perl module for CUPS
183 Summary(pl): Modu³ Perla CUPS
184 Group: Development/Languages/Perl
185 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
187 %description -n perl-cups
188 Perl module for Common Unix Printing System.
190 %description -n perl-cups -l pl
191 Modu³ Perla do ogólnego systemu druku dla Uniksa.
194 Summary: PHP module for CUPS
195 Summary(pl): Modu³ PHP CUPS
196 Group: Development/Languages/PHP
197 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
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/log/{,archiv/}cups
297 BUILDROOT=$RPM_BUILD_ROOT \
301 if [ "%{_lib}" != "lib" ] ; then
302 install -d $RPM_BUILD_ROOT%{_libdir}
303 mv $RPM_BUILD_ROOT%{_ulibdir}/*.so* $RPM_BUILD_ROOT%{_libdir}
304 mv $RPM_BUILD_ROOT%{_ulibdir}/*.a $RPM_BUILD_ROOT%{_libdir}
308 %{__make} -C scripting/php install \
309 PHPDIR=$RPM_BUILD_ROOT%{_php_extensiondir}
310 install -d $RPM_BUILD_ROOT%{_php_configdir}/conf.d
311 cat > $RPM_BUILD_ROOT%{_php_configdir}/conf.d/phpcups.ini << EOF
312 ; Enable phpcups extension module
320 DESTDIR=$RPM_BUILD_ROOT
324 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
325 install %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/%{name}
326 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
328 gzip -9nf $RPM_BUILD_ROOT%{_datadir}/%{name}/model/*.ppd
330 touch $RPM_BUILD_ROOT/var/log/cups/{access_log,error_log,page_log}
331 touch $RPM_BUILD_ROOT/etc/security/blacklist.cups
332 touch $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{classes,printers,client}.conf
334 # windows drivers can be put there.
335 install -d $RPM_BUILD_ROOT%{_datadir}/cups/drivers
337 touch $RPM_BUILD_ROOT/var/cache/cups/help.index
338 touch $RPM_BUILD_ROOT/var/cache/cups/{job,remote}.cache
339 touch $RPM_BUILD_ROOT/var/cache/cups/ppds.dat
340 install -d $RPM_BUILD_ROOT/etc/cups/ssl
342 # post-strip can't work on readonly files
343 chmod u+w $RPM_BUILD_ROOT%{perl_vendorarch}/auto/CUPS/CUPS.so
345 # check-files cleanup
346 rm -rf $RPM_BUILD_ROOT%{_mandir}/{,es/,fr/}cat?
347 rm -rf $RPM_BUILD_ROOT/etc/{init.d,rc?.d}/*
348 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/cupsd.conf.default
351 rm -rf $RPM_BUILD_ROOT
354 /sbin/chkconfig --add cups
355 %service cups restart "cups daemon"
358 if [ "$1" = "0" ]; then
360 /sbin/chkconfig --del cups
363 %post lib -p /sbin/ldconfig
364 %postun lib -p /sbin/ldconfig
365 %post image-lib -p /sbin/ldconfig
366 %postun image-lib -p /sbin/ldconfig
369 [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
370 [ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart
373 if [ "$1" = 0 ]; then
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
379 %defattr(644,root,root,755)
380 #%doc *.gz doc/*.html doc/*.css doc/images
382 %attr(640,root,root) %config %verify(not md5 mtime size) /etc/pam.d/*
383 %attr(754,root,root) /etc/rc.d/init.d/cups
384 /etc/dbus-1/system.d/cups.conf
385 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}
386 %attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/classes.conf
387 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/cupsd.conf
388 %attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/printers.conf
389 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.convs
390 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.types
391 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.cups
392 %dir %attr(700,root,lp) %{_sysconfdir}/%{name}/ssl
393 %dir %{_sysconfdir}/%{name}/interfaces
394 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}/ppd
395 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
396 %attr(4755,lp,root) %{_bindir}/lppasswd
397 %attr(755,root,root) %{_bindir}/cupstestppd
398 %attr(755,root,root) %{_bindir}/cupstestdsc
399 %attr(755,root,root) %{_sbindir}/cupsd
401 %dir %{_ulibdir}/cups
402 %dir %{_ulibdir}/cups/*
403 %{_ulibdir}/cups/cgi-bin/help
404 %{_ulibdir}/cups/cgi-bin/images
405 %attr(755,root,root) %{_ulibdir}/cups/cgi-bin/*.cgi
406 %{_ulibdir}/cups/cgi-bin/*.css
407 %{_ulibdir}/cups/cgi-bin/*.html
408 %{_ulibdir}/cups/cgi-bin/*.ico
409 %{_ulibdir}/cups/cgi-bin/*.txt
410 %lang(es) %{_ulibdir}/cups/cgi-bin/es
411 %lang(ja) %{_ulibdir}/cups/cgi-bin/ja
412 %lang(pl) %{_ulibdir}/cups/cgi-bin/pl
413 %lang(sv) %{_ulibdir}/cups/cgi-bin/sv
415 %exclude %{_ulibdir}/cups/backend/usb
416 %exclude %{_ulibdir}/cups/backend/serial
417 %exclude %{_ulibdir}/cups/backend/parallel
418 %attr(755,root,root) %{_ulibdir}/cups/backend/*
419 %attr(755,root,root) %{_ulibdir}/cups/daemon/*
420 %attr(755,root,root) %{_ulibdir}/cups/filter/*
421 %attr(755,root,root) %{_ulibdir}/cups/monitor/*
422 %attr(755,root,root) %{_ulibdir}/cups/notifier/*
424 %dir %{_datadir}/cups
425 %{_datadir}/cups/banners
426 %{_datadir}/cups/charmaps
427 %{_datadir}/cups/charsets
428 %{_datadir}/cups/data
429 %{_datadir}/cups/drivers
430 %{_datadir}/cups/fonts
431 %{_datadir}/cups/model
432 %dir %{_datadir}/cups/templates
433 %{_datadir}/cups/templates/*.tmpl
434 %lang(es) %{_datadir}/cups/templates/es
435 %lang(ja) %{_datadir}/cups/templates/ja
436 %lang(pl) %{_datadir}/cups/templates/pl
437 %lang(sv) %{_datadir}/cups/templates/sv
438 %{_mandir}/man7/backend.7*
439 %{_mandir}/man1/cupstestppd.1*
440 %{_mandir}/man1/cupstestdsc.1*
441 %{_mandir}/man7/filter.7*
442 %{_mandir}/man1/lppasswd.1*
444 %lang(es) %{_datadir}/locale/es/cups_es.po
445 %lang(ja) %{_datadir}/locale/ja/cups_ja.po
446 %lang(pl) %{_datadir}/locale/pl/cups_pl.po
447 %lang(sv) %{_datadir}/locale/sv/cups_sv.po
449 %dir %attr(775,root,lp) /var/cache/cups
450 %dir %attr(755,root,lp) /var/run/cups
451 %dir %attr(511,lp,sys) /var/run/cups/certs
452 %dir %attr(710,root,lp) /var/spool/cups
453 %dir %attr(1770,root,lp) /var/spool/cups/tmp
454 %attr(600,lp,lp) %ghost /var/cache/cups/help.index
455 %attr(640,root,lp) %ghost /var/cache/cups/job.cache
456 %attr(600,lp,lp) %ghost /var/cache/cups/ppds.dat
457 %attr(640,root,lp) %ghost /var/cache/cups/remote.cache
458 %attr(750,root,logs) %dir /var/log/archiv/cups
459 %attr(750,root,logs) %dir /var/log/cups
460 %attr(640,root,logs) %ghost /var/log/cups/access_log
461 %attr(640,root,logs) %ghost /var/log/cups/error_log
462 %attr(640,root,logs) %ghost /var/log/cups/page_log
465 %defattr(644,root,root,755)
466 %attr(755,root,root) %{_libdir}/libcups.so.*
469 %defattr(644,root,root,755)
470 %attr(644,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/client.conf
471 %attr(755,root,root) %{_bindir}/cancel
472 %attr(755,root,root) %{_bindir}/lp
473 %attr(755,root,root) %{_bindir}/lpoptions
474 %attr(755,root,root) %{_bindir}/lpq
475 %attr(755,root,root) %{_bindir}/lpr
476 %attr(755,root,root) %{_bindir}/lprm
477 %attr(755,root,root) %{_bindir}/lpstat
478 %attr(755,root,root) %{_sbindir}/accept
479 %attr(755,root,root) %{_sbindir}/cupsaddsmb
480 %attr(755,root,root) %{_sbindir}/lpadmin
481 %attr(755,root,root) %{_sbindir}/lpc
482 %attr(755,root,root) %{_sbindir}/lpinfo
483 %attr(755,root,root) %{_sbindir}/lpmove
484 %attr(755,root,root) %{_sbindir}/reject
485 %{_mandir}/man1/cancel.1*
486 %{_mandir}/man1/lp.1*
487 %{_mandir}/man1/lpoptions.1*
488 %{_mandir}/man1/lpq.1*
489 %{_mandir}/man1/lpr.1*
490 %{_mandir}/man1/lprm.1*
491 %{_mandir}/man1/lpstat.1*
492 #%lang(fr) %{_mandir}/fr/man1/cancel.1*
493 #%lang(fr) %{_mandir}/fr/man1/lp.1*
494 #%lang(fr) %{_mandir}/fr/man1/lpoptions.1*
495 #%lang(fr) %{_mandir}/fr/man1/lpq.1*
496 #%lang(fr) %{_mandir}/fr/man1/lpr.1*
497 #%lang(fr) %{_mandir}/fr/man1/lprm.1*
498 #%lang(fr) %{_mandir}/fr/man1/lpstat.1*
499 #%lang(es) %{_mandir}/es/man1/lp.1*
500 #%lang(es) %{_mandir}/es/man1/lpoptions.1*
501 #%lang(es) %{_mandir}/es/man1/lpq.1*
502 #%lang(es) %{_mandir}/es/man1/lpr.1*
503 #%lang(es) %{_mandir}/es/man1/lprm.1*
504 #%lang(es) %{_mandir}/es/man1/lpstat.1*
507 %defattr(644,root,root,755)
508 %attr(755,root,root) %{_libdir}/libcupsimage.so.*
511 %defattr(644,root,root,755)
512 %attr(755,root,root) %{_bindir}/cups-config
515 %{_mandir}/man1/cups-config*
517 #%lang(fr) %{_mandir}/fr/man1/cups-config*
518 #%lang(es) %{_mandir}/es/man1/cups-config*
520 %if %{with static_libs}
522 %defattr(644,root,root,755)
528 %defattr(644,root,root,755)
529 %{perl_vendorarch}/*.pm
530 %dir %{perl_vendorarch}/auto/CUPS
531 %{perl_vendorarch}/auto/CUPS/*.bs
532 %{perl_vendorarch}/auto/CUPS/autosplit.ix
533 %attr(755,root,root) %{perl_vendorarch}/auto/CUPS/*.so
538 %defattr(644,root,root,755)
539 %doc scripting/php/README
540 %attr(755,root,root) %{_php_extensiondir}/*
541 %config(noreplace) %verify(not md5 mtime size) %{_php_configdir}/conf.d/phpcups.ini
545 %defattr(644,root,root,755)
546 %attr(755,root,root) %{_ulibdir}/cups/backend/usb
548 %files backend-serial
549 %defattr(644,root,root,755)
550 %attr(755,root,root) %{_ulibdir}/cups/backend/serial
552 %files backend-parallel
553 %defattr(644,root,root,755)
554 %attr(755,root,root) %{_ulibdir}/cups/backend/parallel