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: 7f65bae0054cd8335824942595d867ef
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}
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.
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 # links to enable/disable (compatibility!)
344 ln -s accept $RPM_BUILD_ROOT/usr/sbin/enable
345 ln -s accept $RPM_BUILD_ROOT/usr/sbin/disable
347 # check-files cleanup
348 rm -rf $RPM_BUILD_ROOT%{_mandir}/{,es/,fr/}cat?
349 rm -rf $RPM_BUILD_ROOT/etc/{init.d,rc?.d}/*
350 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/cupsd.conf.default
353 rm -rf $RPM_BUILD_ROOT
356 /sbin/chkconfig --add cups
357 %service cups restart "cups daemon"
360 if [ "$1" = "0" ]; then
362 /sbin/chkconfig --del cups
365 %post lib -p /sbin/ldconfig
366 %postun lib -p /sbin/ldconfig
367 %post image-lib -p /sbin/ldconfig
368 %postun image-lib -p /sbin/ldconfig
371 [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
372 [ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart
375 if [ "$1" = 0 ]; then
376 [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
377 [ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart
381 %defattr(644,root,root,755)
382 #%doc *.gz doc/*.html doc/*.css doc/images
384 %attr(640,root,root) %config %verify(not md5 mtime size) /etc/pam.d/*
385 %attr(754,root,root) /etc/rc.d/init.d/cups
386 /etc/dbus-1/system.d/cups.conf
387 %attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/classes.conf
388 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/cupsd.conf
389 %attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/printers.conf
390 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.convs
391 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.types
392 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.cups
393 %dir %attr(700,root,lp) %{_sysconfdir}/%{name}/ssl
394 %dir %{_sysconfdir}/%{name}/interfaces
395 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}/ppd
396 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
397 %attr(4755,lp,root) %{_bindir}/lppasswd
398 %attr(755,root,root) %{_bindir}/cupstestppd
399 %attr(755,root,root) %{_bindir}/cupstestdsc
400 %attr(755,root,root) %{_sbindir}/cupsd
402 %dir %{_ulibdir}/cups
403 %dir %{_ulibdir}/cups/*
404 %{_ulibdir}/cups/cgi-bin/help
405 %{_ulibdir}/cups/cgi-bin/images
406 %attr(755,root,root) %{_ulibdir}/cups/cgi-bin/*.cgi
407 %{_ulibdir}/cups/cgi-bin/*.css
408 %{_ulibdir}/cups/cgi-bin/*.html
409 %{_ulibdir}/cups/cgi-bin/*.ico
410 %{_ulibdir}/cups/cgi-bin/*.txt
411 %lang(de) %{_ulibdir}/cups/cgi-bin/de
412 %lang(es) %{_ulibdir}/cups/cgi-bin/es
413 %lang(ja) %{_ulibdir}/cups/cgi-bin/ja
414 %lang(pl) %{_ulibdir}/cups/cgi-bin/pl
415 %lang(sv) %{_ulibdir}/cups/cgi-bin/sv
417 %exclude %{_ulibdir}/cups/backend/usb
418 %exclude %{_ulibdir}/cups/backend/serial
419 %exclude %{_ulibdir}/cups/backend/parallel
420 %attr(755,root,root) %{_ulibdir}/cups/backend/*
421 %attr(755,root,root) %{_ulibdir}/cups/daemon/*
422 %attr(755,root,root) %{_ulibdir}/cups/filter/*
423 %attr(755,root,root) %{_ulibdir}/cups/monitor/*
424 %attr(755,root,root) %{_ulibdir}/cups/notifier/*
426 %dir %{_datadir}/cups
427 %{_datadir}/cups/banners
428 %{_datadir}/cups/charmaps
429 %{_datadir}/cups/charsets
430 %{_datadir}/cups/data
431 %{_datadir}/cups/drivers
432 %{_datadir}/cups/fonts
433 %{_datadir}/cups/model
434 %dir %{_datadir}/cups/templates
435 %{_datadir}/cups/templates/*.tmpl
436 %lang(de) %{_datadir}/cups/templates/de
437 %lang(es) %{_datadir}/cups/templates/es
438 %lang(ja) %{_datadir}/cups/templates/ja
439 %lang(pl) %{_datadir}/cups/templates/pl
440 %lang(sv) %{_datadir}/cups/templates/sv
441 %{_mandir}/man7/backend.7*
442 %{_mandir}/man1/cupstestppd.1*
443 %{_mandir}/man1/cupstestdsc.1*
444 %{_mandir}/man7/filter.7*
445 %{_mandir}/man1/lppasswd.1*
447 %lang(de) %{_datadir}/locale/de/cups_de.po
448 %lang(es) %{_datadir}/locale/es/cups_es.po
449 %lang(ja) %{_datadir}/locale/ja/cups_ja.po
450 %lang(pl) %{_datadir}/locale/pl/cups_pl.po
451 %lang(sv) %{_datadir}/locale/sv/cups_sv.po
453 %dir %attr(775,root,lp) /var/cache/cups
454 %dir %attr(755,root,lp) /var/run/cups
455 %dir %attr(511,lp,sys) /var/run/cups/certs
456 %dir %attr(710,root,lp) /var/spool/cups
457 %dir %attr(1770,root,lp) /var/spool/cups/tmp
458 %attr(600,lp,lp) %ghost /var/cache/cups/help.index
459 %attr(640,root,lp) %ghost /var/cache/cups/job.cache
460 %attr(600,lp,lp) %ghost /var/cache/cups/ppds.dat
461 %attr(640,root,lp) %ghost /var/cache/cups/remote.cache
462 %attr(750,root,logs) %dir /var/log/archiv/cups
463 %attr(750,root,logs) %dir /var/log/cups
464 %attr(640,root,logs) %ghost /var/log/cups/access_log
465 %attr(640,root,logs) %ghost /var/log/cups/error_log
466 %attr(640,root,logs) %ghost /var/log/cups/page_log
469 %defattr(644,root,root,755)
470 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}
471 %attr(755,root,root) %{_libdir}/libcups.so.*
474 %defattr(644,root,root,755)
475 %attr(644,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/client.conf
476 %attr(755,root,root) %{_bindir}/cancel
477 %attr(755,root,root) %{_bindir}/lp
478 %attr(755,root,root) %{_bindir}/lpoptions
479 %attr(755,root,root) %{_bindir}/lpq
480 %attr(755,root,root) %{_bindir}/lpr
481 %attr(755,root,root) %{_bindir}/lprm
482 %attr(755,root,root) %{_bindir}/lpstat
483 %attr(755,root,root) %{_sbindir}/accept
484 %attr(755,root,root) %{_sbindir}/cupsaddsmb
485 %attr(755,root,root) %{_sbindir}/cupsenable
486 %attr(755,root,root) %{_sbindir}/cupsdisable
487 %attr(755,root,root) %{_sbindir}/disable
488 %attr(755,root,root) %{_sbindir}/enable
489 %attr(755,root,root) %{_sbindir}/lpadmin
490 %attr(755,root,root) %{_sbindir}/lpc
491 %attr(755,root,root) %{_sbindir}/lpinfo
492 %attr(755,root,root) %{_sbindir}/lpmove
493 %attr(755,root,root) %{_sbindir}/reject
494 %{_mandir}/man1/cancel.1*
495 %{_mandir}/man1/lp.1*
496 %{_mandir}/man1/lpoptions.1*
497 %{_mandir}/man1/lpq.1*
498 %{_mandir}/man1/lpr.1*
499 %{_mandir}/man1/lprm.1*
500 %{_mandir}/man1/lpstat.1*
501 #%lang(fr) %{_mandir}/fr/man1/cancel.1*
502 #%lang(fr) %{_mandir}/fr/man1/lp.1*
503 #%lang(fr) %{_mandir}/fr/man1/lpoptions.1*
504 #%lang(fr) %{_mandir}/fr/man1/lpq.1*
505 #%lang(fr) %{_mandir}/fr/man1/lpr.1*
506 #%lang(fr) %{_mandir}/fr/man1/lprm.1*
507 #%lang(fr) %{_mandir}/fr/man1/lpstat.1*
508 #%lang(es) %{_mandir}/es/man1/lp.1*
509 #%lang(es) %{_mandir}/es/man1/lpoptions.1*
510 #%lang(es) %{_mandir}/es/man1/lpq.1*
511 #%lang(es) %{_mandir}/es/man1/lpr.1*
512 #%lang(es) %{_mandir}/es/man1/lprm.1*
513 #%lang(es) %{_mandir}/es/man1/lpstat.1*
516 %defattr(644,root,root,755)
517 %attr(755,root,root) %{_libdir}/libcupsimage.so.*
520 %defattr(644,root,root,755)
521 %attr(755,root,root) %{_bindir}/cups-config
524 %{_mandir}/man1/cups-config*
526 #%lang(fr) %{_mandir}/fr/man1/cups-config*
527 #%lang(es) %{_mandir}/es/man1/cups-config*
529 %if %{with static_libs}
531 %defattr(644,root,root,755)
537 %defattr(644,root,root,755)
538 %{perl_vendorarch}/*.pm
539 %dir %{perl_vendorarch}/auto/CUPS
540 %{perl_vendorarch}/auto/CUPS/*.bs
541 %{perl_vendorarch}/auto/CUPS/autosplit.ix
542 %attr(755,root,root) %{perl_vendorarch}/auto/CUPS/*.so
547 %defattr(644,root,root,755)
548 %doc scripting/php/README
549 %attr(755,root,root) %{_php_extensiondir}/*
550 %config(noreplace) %verify(not md5 mtime size) %{_php_configdir}/conf.d/phpcups.ini
554 %defattr(644,root,root,755)
555 %attr(755,root,root) %{_ulibdir}/cups/backend/usb
557 %files backend-serial
558 %defattr(644,root,root,755)
559 %attr(755,root,root) %{_ulibdir}/cups/backend/serial
561 %files backend-parallel
562 %defattr(644,root,root,755)
563 %attr(755,root,root) %{_ulibdir}/cups/backend/parallel