2 # - build/install java ext ?
4 # - remove obsolete /etc/cups/certs (trigger?)
7 %bcond_without php # don't build PHP extension
8 %bcond_without perl # don't build Perl extension
10 %include /usr/lib/rpm/macros.perl
12 Summary: Common Unix Printing System
13 Summary(pl): Ogólny system druku dla Uniksa
14 Summary(pt_BR): Sistema Unix de Impressão
20 Group: Applications/Printing
21 Source0: http://ftp.easysw.com/pub/cups/%{version}/%{name}-%{version}-source.tar.bz2
22 # Source0-md5: f804995e3f469bdefedc033510f6e6a5
25 Source3: %{name}.logrotate
26 Patch0: %{name}-config.patch
27 Patch1: %{name}-lp-lpr.patch
28 Patch2: %{name}-options.patch
29 Patch3: %{name}-man_pages_linking.patch
30 Patch4: %{name}-nostrip.patch
31 URL: http://www.cups.org/
32 BuildRequires: acl-devel
33 BuildRequires: autoconf
34 BuildRequires: automake
35 BuildRequires: dbus-devel
36 BuildRequires: libjpeg-devel
37 BuildRequires: libpng-devel
38 BuildRequires: libstdc++-devel
39 BuildRequires: libtiff-devel
40 BuildRequires: openldap-devel
41 BuildRequires: openslp-devel
42 BuildRequires: openssl-devel
43 BuildRequires: pam-devel
44 %{?with_php:BuildRequires: php-devel >= 4:5.0.0}
45 BuildRequires: pkgconfig
46 BuildRequires: rpm-perlprov
47 BuildRequires: rpmbuild(macros) >= 1.268
48 Requires(post,preun): /sbin/chkconfig
49 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
50 Requires: pam >= 0.77.3
54 Conflicts: ghostscript < 7.05.4
55 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
57 %define _ulibdir %{_prefix}/lib
60 %define _php_configdir /etc/php
61 %define _php_extensiondir %(php-config --extension-dir)
65 CUPS provides a portable printing layer for UNIX-based operating
66 systems. It has been developed by Easy Software Products to promote a
67 standard printing solution for all UNIX vendors and users. CUPS
68 provides the System V and Berkeley command-line interfaces. CUPS uses
69 the Internet Printing Protocol ("IPP") as the basis for managing print
70 jobs and queues. The Line Printer Daemon ("LPD") Server Message Block
71 ("SMB"), and AppSocket (a.k.a. JetDirect) protocols are also supported
72 with reduced functionality. CUPS adds network printer browsing and
73 PostScript Printer Description ("PPD") based printing options to
74 support real-world printing under UNIX.
77 CUPS dostarcza standardowy poziom drukowania dla systemów uniksowych.
78 CUPS u¿ywa protoko³u IPP - Internet Printint Protocol jako podstawy do
79 zarz±dzania zadaniami i kolejkami druku. W ograniczonym zakresie
80 obs³ugiwane s± tak¿e protoko³y LPD (Line Printer Daemon), SMB (Server
81 Message Block) i AppSocket (znany tak¿e jako JetDirect). CUPS
82 udostêpnia przegl±danie drukarek sieciowych i opcje drukowania oparte
83 na PPD (PostScript Printer Description) do obs³ugi rzeczywistych
87 O sistema Unix de impressão (CUPS) fornece uma camada de impressão
88 portável para os sistemas operacionais baseados no UNIX®.
91 Summary: Common Unix Printing System Libraries
92 Summary(pl): Biblioteki dla CUPS
93 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
95 Provides: %{name}-libs = %{epoch}:%{version}-%{release}
100 Common Unix Printing System Libraries.
102 %description lib -l pl
105 %description lib -l pt_BR
106 Bibliotecas CUPS requeridas pelos clientes CUPS.
109 Summary: Common Unix Printing System Clients
110 Summary(pl): Aplikacje klienckie dla CUPS
111 Group: Applications/Printing
112 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
116 Common Unix Printing System Clients.
118 %description clients -l pl
119 Aplikacje klienckie dla CUPS.
122 Summary: Common Unix Printing System Libraries - images manipulation
123 Summary(pl): Biblioteki dla CUPS - obs³uga formatów graficznych
124 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
126 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
129 %description image-lib
130 Common Unix Printing System Libraries - images manupalation.
132 %description image-lib -l pl
133 Biblioteki dla CUPS - obs³uga formatów graficznych.
135 %description image-lib -l pt_BR
136 Bibliotecas CUPS requeridas pelos clientes CUPS.
139 Summary: Common Unix Printing System development files
140 Summary(pl): Ogólny system druku dla Uniksa - pliki nag³ówkowe
141 Summary(pt_BR): Sistema Unix de Impressão - ambiente de desenvolvimento
142 Group: Development/Libraries
143 Requires: %{name}-image-lib = %{epoch}:%{version}-%{release}
144 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
145 Obsoletes: libcups1-devel
148 Common Unix Printing System development files.
150 %description devel -l pl
151 Ogólny system druku dla Uniksa - pliki nag³ówkowe.
153 %description devel -l pt_BR
154 Este pacote é um adicional que contem um ambiente de desenvolvimento
155 para a criação de suporte a novas impressoras e novos serviços ao
159 Summary: Common Unix Printing System static libraries
160 Summary(pl): Ogólny system druku dla Uniksa - biblioteki statyczne
161 Summary(pt_BR): Common Unix Printing System - bibliotecas estáticas
162 Group: Development/Libraries
163 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
166 Common Unix Printing System static libraries.
168 %description static -l pl
169 Ogólny system druku dla Uniksa - biblioteki statyczne.
171 %description static -l pt_BR
172 Bibliotecas estáticas para desenvolvimento de programas que usam as
175 %package -n perl-cups
176 Summary: Perl module for CUPS
177 Summary(pl): Modu³ Perla CUPS
178 Group: Development/Languages/Perl
179 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
181 %description -n perl-cups
182 Perl module for Common Unix Printing System.
184 %description -n perl-cups -l pl
185 Modu³ Perla do ogólnego systemu druku dla Uniksa.
188 Summary: PHP module for CUPS
189 Summary(pl): Modu³ PHP CUPS
190 Group: Development/Languages/PHP
191 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
192 Requires: php-common >= 4:5.0.0
194 %description -n php-cups
195 PHP module for Common Unix Printing System.
197 %description -n php-cups -l pl
198 Modu³ PHP do ogólnego systemu druku dla Uniksa.
201 Summary: USB backend for CUPS
202 Summary(pl): Backend USB dla CUPS-a
203 Group: Applications/Printing
204 Requires: %{name} = %{epoch}:%{version}-%{release}
206 %description backend-usb
207 This package allow CUPS printing on USB printers.
209 %description backend-usb -l pl
210 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach USB.
212 %package backend-serial
213 Summary: Serial port backend for CUPS
214 Summary(pl): Backend obs³uguj±cy porty szeregowe dla CUPS-a
215 Group: Applications/Printing
216 Requires: %{name} = %{epoch}:%{version}-%{release}
218 %description backend-serial
219 This package allow CUPS printing on printers connected by serial
222 %description backend-serial -l pl
223 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
224 pod³±czonych do portów szeregowych.
226 %package backend-parallel
227 Summary: Parallel port backend for CUPS
228 Summary(pl): Backend obs³uguj±cy porty równoleg³e dla CUPS-a
229 Group: Applications/Printing
230 Requires: %{name} = %{epoch}:%{version}-%{release}
232 %description backend-parallel
233 This package allow CUPS printing on printers connected by parallel
236 %description backend-parallel -l pl
237 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
238 pod³±czonych do portów równoleg³ych.
249 %{__aclocal} -I config-scripts
252 --libdir=%{_ulibdir} \
260 %{?debug:--enable-debug} \
261 --with-docdir=%{_ulibdir}/%{name}/cgi-bin
264 %{__perl} -pi -e 's#-I\.\.\/\.\.#-I../.. -I../../cups#g' scripting/php/Makefile
265 %{?with_php:%{__make} -C scripting/php PHPCONFIG=%{_bindir}/php-config}
269 %{__perl} -pi -e 's@-lcups@-L../../cups $1@' Makefile.PL
270 %{__perl} Makefile.PL \
272 OPTIMIZE="%{rpmcflags} -I../.."
273 # avoid rpaths generated by MakeMaker
274 %{__perl} -pi -e 's@LD_RUN_PATH="\$\(LD_RUN_PATH\)" @@' Makefile
281 rm -rf $RPM_BUILD_ROOT
282 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,pam.d,logrotate.d,security} \
283 $RPM_BUILD_ROOT/var/log/{,archiv/}cups
286 BUILDROOT=$RPM_BUILD_ROOT \
290 if [ "%{_lib}" != "lib" ] ; then
291 install -d $RPM_BUILD_ROOT%{_libdir}
292 mv $RPM_BUILD_ROOT%{_ulibdir}/*.so* $RPM_BUILD_ROOT%{_libdir}
293 #mv $RPM_BUILD_ROOT%{_ulibdir}/*.a $RPM_BUILD_ROOT%{_libdir}
297 %{__make} -C scripting/php install \
298 PHPDIR=$RPM_BUILD_ROOT%{_php_extensiondir}
299 install -d $RPM_BUILD_ROOT%{_php_configdir}/conf.d
300 cat > $RPM_BUILD_ROOT%{_php_configdir}/conf.d/phpcups.ini << EOF
301 ; Enable phpcups extension module
309 DESTDIR=$RPM_BUILD_ROOT
313 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
314 install %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/%{name}
315 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
317 gzip -9nf $RPM_BUILD_ROOT%{_datadir}/%{name}/model/*.ppd
319 touch $RPM_BUILD_ROOT/var/log/cups/{access_log,error_log,page_log}
320 touch $RPM_BUILD_ROOT/etc/security/blacklist.cups
321 touch $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{classes,printers,client}.conf
323 # windows drivers can be put there.
324 install -d $RPM_BUILD_ROOT%{_datadir}/cups/drivers
326 touch $RPM_BUILD_ROOT/var/cache/cups/help.index
327 touch $RPM_BUILD_ROOT/var/cache/cups/{job,remote}.cache
328 install -d $RPM_BUILD_ROOT/etc/cups/ssl
330 # post-strip can't work on readonly files
331 chmod u+w $RPM_BUILD_ROOT%{perl_vendorarch}/auto/CUPS/CUPS.so
333 # check-files cleanup
334 rm -rf $RPM_BUILD_ROOT%{_mandir}/{,es/,fr/}cat?
335 rm -rf $RPM_BUILD_ROOT/etc/{init.d,rc?.d}/*
336 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/cupsd.conf.default
339 rm -rf $RPM_BUILD_ROOT
342 /sbin/chkconfig --add cups
343 %service cups restart "cups daemon"
346 if [ "$1" = "0" ]; then
348 /sbin/chkconfig --del cups
351 %post lib -p /sbin/ldconfig
352 %postun lib -p /sbin/ldconfig
353 %post image-lib -p /sbin/ldconfig
354 %postun image-lib -p /sbin/ldconfig
357 [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
358 [ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart
361 if [ "$1" = 0 ]; then
362 [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
363 [ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart
367 %defattr(644,root,root,755)
368 #%doc *.gz doc/*.html doc/*.css doc/images
370 %attr(640,root,root) %config %verify(not md5 mtime size) /etc/pam.d/*
371 %attr(754,root,root) /etc/rc.d/init.d/cups
372 /etc/dbus-1/system.d/cups.conf
373 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}
374 %attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/classes.conf
375 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/cupsd.conf
376 %attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/printers.conf
377 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.convs
378 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.types
379 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.cups
380 %dir %attr(700,root,lp) %{_sysconfdir}/%{name}/ssl
381 %dir %{_sysconfdir}/%{name}/interfaces
382 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}/ppd
383 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
384 %attr(4755,lp,root) %{_bindir}/lppasswd
385 %attr(755,root,root) %{_bindir}/cupstestppd
386 %attr(755,root,root) %{_bindir}/cupstestdsc
387 %attr(755,root,root) %{_sbindir}/cupsd
389 %dir %{_ulibdir}/cups
390 %dir %{_ulibdir}/cups/*
391 %{_ulibdir}/cups/cgi-bin/help
392 %{_ulibdir}/cups/cgi-bin/images
393 %attr(755,root,root) %{_ulibdir}/cups/cgi-bin/*.cgi
394 %{_ulibdir}/cups/cgi-bin/*.css
395 %{_ulibdir}/cups/cgi-bin/*.html
396 %{_ulibdir}/cups/cgi-bin/*.ico
397 %{_ulibdir}/cups/cgi-bin/*.txt
398 %lang(es) %{_ulibdir}/cups/cgi-bin/es
399 %lang(ja) %{_ulibdir}/cups/cgi-bin/ja
400 %lang(pl) %{_ulibdir}/cups/cgi-bin/pl
401 %lang(sv) %{_ulibdir}/cups/cgi-bin/sv
403 %exclude %{_ulibdir}/cups/backend/usb
404 %exclude %{_ulibdir}/cups/backend/serial
405 %exclude %{_ulibdir}/cups/backend/parallel
406 %attr(755,root,root) %{_ulibdir}/cups/backend/*
407 %attr(755,root,root) %{_ulibdir}/cups/daemon/*
408 %attr(755,root,root) %{_ulibdir}/cups/filter/*
409 %attr(755,root,root) %{_ulibdir}/cups/monitor/*
410 %attr(755,root,root) %{_ulibdir}/cups/notifier/*
412 %dir %{_datadir}/cups
413 %{_datadir}/cups/banners
414 %{_datadir}/cups/charmaps
415 %{_datadir}/cups/charsets
416 %{_datadir}/cups/data
417 %{_datadir}/cups/drivers
418 %{_datadir}/cups/fonts
419 %{_datadir}/cups/model
420 %dir %{_datadir}/cups/templates
421 %{_datadir}/cups/templates/*.tmpl
422 %lang(es) %{_datadir}/cups/templates/es
423 %lang(ja) %{_datadir}/cups/templates/ja
424 %lang(pl) %{_datadir}/cups/templates/pl
425 %lang(sv) %{_datadir}/cups/templates/sv
426 %{_mandir}/man7/backend.7*
427 %{_mandir}/man1/cupstestppd.1*
428 %{_mandir}/man1/cupstestdsc.1*
429 %{_mandir}/man7/filter.7*
430 %{_mandir}/man1/lppasswd.1*
432 %lang(es) %{_datadir}/locale/es/cups_es.po
433 %lang(ja) %{_datadir}/locale/ja/cups_ja.po
434 %lang(pl) %{_datadir}/locale/pl/cups_pl.po
435 %lang(sv) %{_datadir}/locale/sv/cups_sv.po
437 %dir %attr(775,root,lp) /var/cache/cups
438 %dir %attr(755,root,lp) /var/run/cups
439 %dir %attr(511,lp,sys) /var/run/cups/certs
440 %dir %attr(710,root,lp) /var/spool/cups
441 %dir %attr(1770,root,lp) /var/spool/cups/tmp
442 %attr(640,root,lp) %ghost /var/cache/cups/help.index
443 %attr(640,root,lp) %ghost /var/cache/cups/job.cache
444 %attr(640,root,lp) %ghost /var/cache/cups/remote.cache
445 %attr(750,root,logs) %dir /var/log/archiv/cups
446 %attr(750,root,logs) %dir /var/log/cups
447 %attr(640,root,logs) %ghost /var/log/cups/access_log
448 %attr(640,root,logs) %ghost /var/log/cups/error_log
449 %attr(640,root,logs) %ghost /var/log/cups/page_log
452 %defattr(644,root,root,755)
453 %attr(755,root,root) %{_libdir}/libcups.so.*
456 %defattr(644,root,root,755)
457 %attr(644,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/client.conf
458 %attr(755,root,root) %{_bindir}/cancel
459 %attr(755,root,root) %{_bindir}/lp
460 %attr(755,root,root) %{_bindir}/lpoptions
461 %attr(755,root,root) %{_bindir}/lpq
462 %attr(755,root,root) %{_bindir}/lpr
463 %attr(755,root,root) %{_bindir}/lprm
464 %attr(755,root,root) %{_bindir}/lpstat
465 %attr(755,root,root) %{_sbindir}/accept
466 %attr(755,root,root) %{_sbindir}/cupsaddsmb
467 %attr(755,root,root) %{_sbindir}/lpadmin
468 %attr(755,root,root) %{_sbindir}/lpc
469 %attr(755,root,root) %{_sbindir}/lpinfo
470 %attr(755,root,root) %{_sbindir}/lpmove
471 %attr(755,root,root) %{_sbindir}/reject
472 %{_mandir}/man1/cancel.1*
473 %{_mandir}/man1/lp.1*
474 %{_mandir}/man1/lpoptions.1*
475 %{_mandir}/man1/lpq.1*
476 %{_mandir}/man1/lpr.1*
477 %{_mandir}/man1/lprm.1*
478 %{_mandir}/man1/lpstat.1*
479 #%lang(fr) %{_mandir}/fr/man1/cancel.1*
480 #%lang(fr) %{_mandir}/fr/man1/lp.1*
481 #%lang(fr) %{_mandir}/fr/man1/lpoptions.1*
482 #%lang(fr) %{_mandir}/fr/man1/lpq.1*
483 #%lang(fr) %{_mandir}/fr/man1/lpr.1*
484 #%lang(fr) %{_mandir}/fr/man1/lprm.1*
485 #%lang(fr) %{_mandir}/fr/man1/lpstat.1*
486 #%lang(es) %{_mandir}/es/man1/lp.1*
487 #%lang(es) %{_mandir}/es/man1/lpoptions.1*
488 #%lang(es) %{_mandir}/es/man1/lpq.1*
489 #%lang(es) %{_mandir}/es/man1/lpr.1*
490 #%lang(es) %{_mandir}/es/man1/lprm.1*
491 #%lang(es) %{_mandir}/es/man1/lpstat.1*
494 %defattr(644,root,root,755)
495 %attr(755,root,root) %{_libdir}/libcupsimage.so.*
498 %defattr(644,root,root,755)
499 %attr(755,root,root) %{_bindir}/cups-config
502 %{_mandir}/man1/cups-config*
504 #%lang(fr) %{_mandir}/fr/man1/cups-config*
505 #%lang(es) %{_mandir}/es/man1/cups-config*
508 %defattr(644,root,root,755)
513 %defattr(644,root,root,755)
514 %{perl_vendorarch}/*.pm
515 %dir %{perl_vendorarch}/auto/CUPS
516 %{perl_vendorarch}/auto/CUPS/*.bs
517 %{perl_vendorarch}/auto/CUPS/autosplit.ix
518 %attr(755,root,root) %{perl_vendorarch}/auto/CUPS/*.so
523 %defattr(644,root,root,755)
524 %doc scripting/php/README
525 %attr(755,root,root) %{_php_extensiondir}/*
526 %config(noreplace) %verify(not md5 mtime size) %{_php_configdir}/conf.d/phpcups.ini
530 %defattr(644,root,root,755)
531 %attr(755,root,root) %{_ulibdir}/cups/backend/usb
533 %files backend-serial
534 %defattr(644,root,root,755)
535 %attr(755,root,root) %{_ulibdir}/cups/backend/serial
537 %files backend-parallel
538 %defattr(644,root,root,755)
539 %attr(755,root,root) %{_ulibdir}/cups/backend/parallel