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: 091de9109c9252cb37427859e90190ad
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}-str1737.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 %{?with_gnutls:Requires: gnutls-devel}
151 %{!?with_gnutls:Requires: openssl-devel}
152 Obsoletes: libcups1-devel
155 Common Unix Printing System development files.
157 %description devel -l pl
158 Ogólny system druku dla Uniksa - pliki nag³ówkowe.
160 %description devel -l pt_BR
161 Este pacote é um adicional que contem um ambiente de desenvolvimento
162 para a criação de suporte a novas impressoras e novos serviços ao
166 Summary: Common Unix Printing System static libraries
167 Summary(pl): Ogólny system druku dla Uniksa - biblioteki statyczne
168 Summary(pt_BR): Common Unix Printing System - bibliotecas estáticas
169 Group: Development/Libraries
170 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
173 Common Unix Printing System static libraries.
175 %description static -l pl
176 Ogólny system druku dla Uniksa - biblioteki statyczne.
178 %description static -l pt_BR
179 Bibliotecas estáticas para desenvolvimento de programas que usam as
182 %package -n perl-cups
183 Summary: Perl module for CUPS
184 Summary(pl): Modu³ Perla CUPS
185 Group: Development/Languages/Perl
186 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
188 %description -n perl-cups
189 Perl module for Common Unix Printing System.
191 %description -n perl-cups -l pl
192 Modu³ Perla do ogólnego systemu druku dla Uniksa.
195 Summary: PHP module for CUPS
196 Summary(pl): Modu³ PHP CUPS
197 Group: Development/Languages/PHP
198 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
199 Requires: php-common >= 4:5.0.0
201 %description -n php-cups
202 PHP module for Common Unix Printing System.
204 %description -n php-cups -l pl
205 Modu³ PHP do ogólnego systemu druku dla Uniksa.
208 Summary: USB backend for CUPS
209 Summary(pl): Backend USB dla CUPS-a
210 Group: Applications/Printing
211 Requires: %{name} = %{epoch}:%{version}-%{release}
213 %description backend-usb
214 This package allow CUPS printing on USB printers.
216 %description backend-usb -l pl
217 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach USB.
219 %package backend-serial
220 Summary: Serial port backend for CUPS
221 Summary(pl): Backend obs³uguj±cy porty szeregowe dla CUPS-a
222 Group: Applications/Printing
223 Requires: %{name} = %{epoch}:%{version}-%{release}
225 %description backend-serial
226 This package allow CUPS printing on printers connected by serial
229 %description backend-serial -l pl
230 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
231 pod³±czonych do portów szeregowych.
233 %package backend-parallel
234 Summary: Parallel port backend for CUPS
235 Summary(pl): Backend obs³uguj±cy porty równoleg³e dla CUPS-a
236 Group: Applications/Printing
237 Requires: %{name} = %{epoch}:%{version}-%{release}
239 %description backend-parallel
240 This package allow CUPS printing on printers connected by parallel
243 %description backend-parallel -l pl
244 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
245 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 # links to enable/disable (compatibility!)
346 ln -s accept $RPM_BUILD_ROOT/usr/sbin/enable
347 ln -s accept $RPM_BUILD_ROOT/usr/sbin/disable
349 # check-files cleanup
350 rm -rf $RPM_BUILD_ROOT%{_mandir}/{,es/,fr/}cat?
351 rm -rf $RPM_BUILD_ROOT/etc/{init.d,rc?.d}/*
352 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/cupsd.conf.default
355 rm -rf $RPM_BUILD_ROOT
358 /sbin/chkconfig --add cups
359 %service cups restart "cups daemon"
362 if [ "$1" = "0" ]; then
364 /sbin/chkconfig --del cups
367 %post lib -p /sbin/ldconfig
368 %postun lib -p /sbin/ldconfig
369 %post image-lib -p /sbin/ldconfig
370 %postun image-lib -p /sbin/ldconfig
373 [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
374 [ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart
377 if [ "$1" = 0 ]; then
378 [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
379 [ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart
383 %defattr(644,root,root,755)
384 #%doc *.gz doc/*.html doc/*.css doc/images
386 %attr(640,root,root) %config %verify(not md5 mtime size) /etc/pam.d/*
387 %attr(754,root,root) /etc/rc.d/init.d/cups
388 /etc/dbus-1/system.d/cups.conf
389 %attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/classes.conf
390 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/cupsd.conf
391 %attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/printers.conf
392 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.convs
393 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.types
394 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.cups
395 %dir %attr(700,root,lp) %{_sysconfdir}/%{name}/ssl
396 %dir %{_sysconfdir}/%{name}/interfaces
397 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}/ppd
398 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
399 %attr(4755,lp,root) %{_bindir}/lppasswd
400 %attr(755,root,root) %{_bindir}/cupstestppd
401 %attr(755,root,root) %{_bindir}/cupstestdsc
402 %attr(755,root,root) %{_sbindir}/cupsd
404 %dir %{_ulibdir}/cups
405 %dir %{_ulibdir}/cups/*
406 %{_ulibdir}/cups/cgi-bin/help
407 %{_ulibdir}/cups/cgi-bin/images
408 %attr(755,root,root) %{_ulibdir}/cups/cgi-bin/*.cgi
409 %{_ulibdir}/cups/cgi-bin/*.css
410 %{_ulibdir}/cups/cgi-bin/*.html
411 %{_ulibdir}/cups/cgi-bin/*.ico
412 %{_ulibdir}/cups/cgi-bin/*.txt
413 %lang(de) %{_ulibdir}/cups/cgi-bin/de
414 %lang(es) %{_ulibdir}/cups/cgi-bin/es
415 %lang(ja) %{_ulibdir}/cups/cgi-bin/ja
416 %lang(pl) %{_ulibdir}/cups/cgi-bin/pl
417 %lang(sv) %{_ulibdir}/cups/cgi-bin/sv
419 %exclude %{_ulibdir}/cups/backend/usb
420 %exclude %{_ulibdir}/cups/backend/serial
421 %exclude %{_ulibdir}/cups/backend/parallel
422 %attr(755,root,root) %{_ulibdir}/cups/backend/*
423 %attr(755,root,root) %{_ulibdir}/cups/daemon/*
424 %attr(755,root,root) %{_ulibdir}/cups/filter/*
425 %attr(755,root,root) %{_ulibdir}/cups/monitor/*
426 %attr(755,root,root) %{_ulibdir}/cups/notifier/*
428 %dir %{_datadir}/cups
429 %{_datadir}/cups/banners
430 %{_datadir}/cups/charmaps
431 %{_datadir}/cups/charsets
432 %{_datadir}/cups/data
433 %{_datadir}/cups/drivers
434 %{_datadir}/cups/fonts
435 %{_datadir}/cups/model
436 %dir %{_datadir}/cups/templates
437 %{_datadir}/cups/templates/*.tmpl
438 %lang(de) %{_datadir}/cups/templates/de
439 %lang(es) %{_datadir}/cups/templates/es
440 %lang(ja) %{_datadir}/cups/templates/ja
441 %lang(pl) %{_datadir}/cups/templates/pl
442 %lang(sv) %{_datadir}/cups/templates/sv
443 %{_mandir}/man7/backend.7*
444 %{_mandir}/man1/cupstestppd.1*
445 %{_mandir}/man1/cupstestdsc.1*
446 %{_mandir}/man7/filter.7*
447 %{_mandir}/man1/lppasswd.1*
449 %lang(de) %{_datadir}/locale/de/cups_de.po
450 %lang(es) %{_datadir}/locale/es/cups_es.po
451 %lang(ja) %{_datadir}/locale/ja/cups_ja.po
452 %lang(pl) %{_datadir}/locale/pl/cups_pl.po
453 %lang(sv) %{_datadir}/locale/sv/cups_sv.po
455 %dir %attr(775,root,lp) /var/cache/cups
456 %dir %attr(755,root,lp) /var/run/cups
457 %dir %attr(511,lp,sys) /var/run/cups/certs
458 %dir %attr(710,root,lp) /var/spool/cups
459 %dir %attr(1770,root,lp) /var/spool/cups/tmp
460 %attr(600,lp,lp) %ghost /var/cache/cups/help.index
461 %attr(640,root,lp) %ghost /var/cache/cups/job.cache
462 %attr(600,lp,lp) %ghost /var/cache/cups/ppds.dat
463 %attr(640,root,lp) %ghost /var/cache/cups/remote.cache
464 %attr(750,root,logs) %dir /var/log/archiv/cups
465 %attr(750,root,logs) %dir /var/log/cups
466 %attr(640,root,logs) %ghost /var/log/cups/access_log
467 %attr(640,root,logs) %ghost /var/log/cups/error_log
468 %attr(640,root,logs) %ghost /var/log/cups/page_log
471 %defattr(644,root,root,755)
472 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}
473 %attr(755,root,root) %{_libdir}/libcups.so.*
476 %defattr(644,root,root,755)
477 %attr(644,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/client.conf
478 %attr(755,root,root) %{_bindir}/cancel
479 %attr(755,root,root) %{_bindir}/lp
480 %attr(755,root,root) %{_bindir}/lpoptions
481 %attr(755,root,root) %{_bindir}/lpq
482 %attr(755,root,root) %{_bindir}/lpr
483 %attr(755,root,root) %{_bindir}/lprm
484 %attr(755,root,root) %{_bindir}/lpstat
485 %attr(755,root,root) %{_sbindir}/accept
486 %attr(755,root,root) %{_sbindir}/cupsaddsmb
487 %attr(755,root,root) %{_sbindir}/cupsenable
488 %attr(755,root,root) %{_sbindir}/cupsdisable
489 %attr(755,root,root) %{_sbindir}/disable
490 %attr(755,root,root) %{_sbindir}/enable
491 %attr(755,root,root) %{_sbindir}/lpadmin
492 %attr(755,root,root) %{_sbindir}/lpc
493 %attr(755,root,root) %{_sbindir}/lpinfo
494 %attr(755,root,root) %{_sbindir}/lpmove
495 %attr(755,root,root) %{_sbindir}/reject
496 %{_mandir}/man1/cancel.1*
497 %{_mandir}/man1/lp.1*
498 %{_mandir}/man1/lpoptions.1*
499 %{_mandir}/man1/lpq.1*
500 %{_mandir}/man1/lpr.1*
501 %{_mandir}/man1/lprm.1*
502 %{_mandir}/man1/lpstat.1*
503 #%lang(fr) %{_mandir}/fr/man1/cancel.1*
504 #%lang(fr) %{_mandir}/fr/man1/lp.1*
505 #%lang(fr) %{_mandir}/fr/man1/lpoptions.1*
506 #%lang(fr) %{_mandir}/fr/man1/lpq.1*
507 #%lang(fr) %{_mandir}/fr/man1/lpr.1*
508 #%lang(fr) %{_mandir}/fr/man1/lprm.1*
509 #%lang(fr) %{_mandir}/fr/man1/lpstat.1*
510 #%lang(es) %{_mandir}/es/man1/lp.1*
511 #%lang(es) %{_mandir}/es/man1/lpoptions.1*
512 #%lang(es) %{_mandir}/es/man1/lpq.1*
513 #%lang(es) %{_mandir}/es/man1/lpr.1*
514 #%lang(es) %{_mandir}/es/man1/lprm.1*
515 #%lang(es) %{_mandir}/es/man1/lpstat.1*
518 %defattr(644,root,root,755)
519 %attr(755,root,root) %{_libdir}/libcupsimage.so.*
522 %defattr(644,root,root,755)
523 %attr(755,root,root) %{_bindir}/cups-config
526 %{_mandir}/man1/cups-config*
528 #%lang(fr) %{_mandir}/fr/man1/cups-config*
529 #%lang(es) %{_mandir}/es/man1/cups-config*
531 %if %{with static_libs}
533 %defattr(644,root,root,755)
539 %defattr(644,root,root,755)
540 %{perl_vendorarch}/*.pm
541 %dir %{perl_vendorarch}/auto/CUPS
542 %{perl_vendorarch}/auto/CUPS/*.bs
543 %{perl_vendorarch}/auto/CUPS/autosplit.ix
544 %attr(755,root,root) %{perl_vendorarch}/auto/CUPS/*.so
549 %defattr(644,root,root,755)
550 %doc scripting/php/README
551 %attr(755,root,root) %{_php_extensiondir}/*
552 %config(noreplace) %verify(not md5 mtime size) %{_php_configdir}/conf.d/phpcups.ini
556 %defattr(644,root,root,755)
557 %attr(755,root,root) %{_ulibdir}/cups/backend/usb
559 %files backend-serial
560 %defattr(644,root,root,755)
561 %attr(755,root,root) %{_ulibdir}/cups/backend/serial
563 %files backend-parallel
564 %defattr(644,root,root,755)
565 %attr(755,root,root) %{_ulibdir}/cups/backend/parallel