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.UTF-8): Ogólny system druku dla Uniksa
16 Summary(pt_BR.UTF-8): 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: bf44783d9b46130bee9f2995e6055470
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.patch
34 Patch6: %{name}-certs_FHS.patch
35 Patch7: %{name}-str2111.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.344
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 CUPS provides a portable printing layer for UNIX-based operating
67 systems. It has been developed by Easy Software Products to promote a
68 standard printing solution for all UNIX vendors and users. CUPS
69 provides the System V and Berkeley command-line interfaces. CUPS uses
70 the Internet Printing Protocol ("IPP") as the basis for managing print
71 jobs and queues. The Line Printer Daemon ("LPD") Server Message Block
72 ("SMB"), and AppSocket (a.k.a. JetDirect) protocols are also supported
73 with reduced functionality. CUPS adds network printer browsing and
74 PostScript Printer Description ("PPD") based printing options to
75 support real-world printing under UNIX.
77 %description -l pl.UTF-8
78 CUPS dostarcza standardowy poziom drukowania dla systemów uniksowych.
79 CUPS używa protokołu IPP - Internet Printint Protocol jako podstawy do
80 zarządzania zadaniami i kolejkami druku. W ograniczonym zakresie
81 obsługiwane są także protokoły LPD (Line Printer Daemon), SMB (Server
82 Message Block) i AppSocket (znany także jako JetDirect). CUPS
83 udostępnia przeglądanie drukarek sieciowych i opcje drukowania oparte
84 na PPD (PostScript Printer Description) do obsługi rzeczywistych
87 %description -l pt_BR.UTF-8
88 O sistema Unix de impressão (CUPS) fornece uma camada de impressão
89 portável para os sistemas operacionais baseados no UNIX®.
92 Summary: Common Unix Printing System Libraries
93 Summary(pl.UTF-8): Biblioteki dla CUPS
94 Summary(pt_BR.UTF-8): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
96 Provides: %{name}-libs = %{epoch}:%{version}-%{release}
101 Common Unix Printing System Libraries.
103 %description lib -l pl.UTF-8
106 %description lib -l pt_BR.UTF-8
107 Bibliotecas CUPS requeridas pelos clientes CUPS.
110 Summary: Common Unix Printing System Clients
111 Summary(pl.UTF-8): Aplikacje klienckie dla CUPS
112 Group: Applications/Printing
113 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
117 Common Unix Printing System Clients.
119 %description clients -l pl.UTF-8
120 Aplikacje klienckie dla CUPS.
123 Summary: Common Unix Printing System Libraries - images manipulation
124 Summary(pl.UTF-8): Biblioteki dla CUPS - obsługa formatów graficznych
125 Summary(pt_BR.UTF-8): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
127 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
130 %description image-lib
131 Common Unix Printing System Libraries - images manupalation.
133 %description image-lib -l pl.UTF-8
134 Biblioteki dla CUPS - obsługa formatów graficznych.
136 %description image-lib -l pt_BR.UTF-8
137 Bibliotecas CUPS requeridas pelos clientes CUPS.
140 Summary: Common Unix Printing System development files
141 Summary(pl.UTF-8): Ogólny system druku dla Uniksa - pliki nagłówkowe
142 Summary(pt_BR.UTF-8): Sistema Unix de Impressão - ambiente de desenvolvimento
143 Group: Development/Libraries
144 Requires: %{name}-image-lib = %{epoch}:%{version}-%{release}
145 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
146 %{?with_gnutls:Requires: gnutls-devel}
147 %{!?with_gnutls:Requires: openssl-devel}
149 Obsoletes: libcups1-devel
152 Common Unix Printing System development files.
154 %description devel -l pl.UTF-8
155 Ogólny system druku dla Uniksa - pliki nagłówkowe.
157 %description devel -l pt_BR.UTF-8
158 Este pacote é um adicional que contem um ambiente de desenvolvimento
159 para a criação de suporte a novas impressoras e novos serviços ao
163 Summary: Common Unix Printing System static libraries
164 Summary(pl.UTF-8): Ogólny system druku dla Uniksa - biblioteki statyczne
165 Summary(pt_BR.UTF-8): Common Unix Printing System - bibliotecas estáticas
166 Group: Development/Libraries
167 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
170 Common Unix Printing System static libraries.
172 %description static -l pl.UTF-8
173 Ogólny system druku dla Uniksa - biblioteki statyczne.
175 %description static -l pt_BR.UTF-8
176 Bibliotecas estáticas para desenvolvimento de programas que usam as
179 %package -n perl-cups
180 Summary: Perl module for CUPS
181 Summary(pl.UTF-8): Moduł Perla CUPS
182 Group: Development/Languages/Perl
183 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
185 %description -n perl-cups
186 Perl module for Common Unix Printing System.
188 %description -n perl-cups -l pl.UTF-8
189 Moduł Perla do ogólnego systemu druku dla Uniksa.
192 Summary: PHP module for CUPS
193 Summary(pl.UTF-8): Moduł PHP CUPS
194 Group: Development/Languages/PHP
195 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
196 %{?requires_php_extension}
197 Requires: /etc/php/conf.d
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.UTF-8
204 Moduł PHP do ogólnego systemu druku dla Uniksa.
207 Summary: USB backend for CUPS
208 Summary(pl.UTF-8): 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.UTF-8
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.UTF-8): 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.UTF-8
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.UTF-8): 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.UTF-8
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/run/cups \
295 $RPM_BUILD_ROOT/var/log/{,archiv/}cups
298 BUILDROOT=$RPM_BUILD_ROOT \
302 if [ "%{_lib}" != "lib" ] ; then
303 install -d $RPM_BUILD_ROOT%{_libdir}
304 mv $RPM_BUILD_ROOT%{_ulibdir}/*.so* $RPM_BUILD_ROOT%{_libdir}
305 mv $RPM_BUILD_ROOT%{_ulibdir}/*.a $RPM_BUILD_ROOT%{_libdir}
309 %{__make} -C scripting/php install \
310 PHPDIR=$RPM_BUILD_ROOT%{php_extensiondir}
311 install -d $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d
312 cat > $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/phpcups.ini << EOF
313 ; Enable phpcups extension module
321 DESTDIR=$RPM_BUILD_ROOT
325 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
326 install %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/%{name}
327 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
329 gzip -9nf $RPM_BUILD_ROOT%{_datadir}/%{name}/model/*.ppd
331 touch $RPM_BUILD_ROOT/var/log/cups/{access_log,error_log,page_log}
332 touch $RPM_BUILD_ROOT/etc/security/blacklist.cups
333 touch $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{classes,printers,client}.conf
335 # windows drivers can be put there.
336 install -d $RPM_BUILD_ROOT%{_datadir}/cups/drivers
338 # dirs for gimp-print-cups-4.2.7-1
339 install -d $RPM_BUILD_ROOT%{_datadir}/cups/model/{C,da,en_GB,fr,nb,pl,sv}
341 touch $RPM_BUILD_ROOT/var/cache/cups/help.index
342 touch $RPM_BUILD_ROOT/var/cache/cups/{job,remote}.cache
343 touch $RPM_BUILD_ROOT/var/cache/cups/ppds.dat
344 install -d $RPM_BUILD_ROOT%{_sysconfdir}/cups/ssl
346 # links to enable/disable (compatibility!)
347 ln -s accept $RPM_BUILD_ROOT%{_sbindir}/enable
348 ln -s accept $RPM_BUILD_ROOT%{_sbindir}/disable
350 # check-files cleanup
351 rm -rf $RPM_BUILD_ROOT%{_mandir}/{,es/,fr/}cat?
352 rm -rf $RPM_BUILD_ROOT/''etc/{init.d,rc?.d}/*
353 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/cupsd.conf.default
356 rm -rf $RPM_BUILD_ROOT
359 /sbin/chkconfig --add cups
360 %service cups restart "cups daemon"
363 if [ "$1" = "0" ]; then
365 /sbin/chkconfig --del cups
368 %post lib -p /sbin/ldconfig
369 %postun lib -p /sbin/ldconfig
370 %post image-lib -p /sbin/ldconfig
371 %postun image-lib -p /sbin/ldconfig
374 %php_webserver_restart
377 if [ "$1" = 0 ]; then
378 %php_webserver_restart
382 %defattr(644,root,root,755)
383 #%doc *.gz doc/*.html doc/*.css doc/images
385 %attr(640,root,root) %config %verify(not md5 mtime size) /etc/pam.d/*
386 %attr(754,root,root) /etc/rc.d/init.d/cups
387 /etc/dbus-1/system.d/cups.conf
388 %attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/classes.conf
389 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/cupsd.conf
390 %attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/printers.conf
391 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.convs
392 %attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.types
393 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.cups
394 %dir %attr(700,root,lp) %{_sysconfdir}/%{name}/ssl
395 %dir %{_sysconfdir}/%{name}/interfaces
396 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}/ppd
397 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
398 %attr(4755,lp,root) %{_bindir}/lppasswd
399 %attr(755,root,root) %{_bindir}/cupstestppd
400 %attr(755,root,root) %{_bindir}/cupstestdsc
401 %attr(755,root,root) %{_sbindir}/cupsd
403 %dir %{_ulibdir}/cups
404 %dir %{_ulibdir}/cups/*
405 %{_ulibdir}/cups/cgi-bin/help
406 %{_ulibdir}/cups/cgi-bin/images
407 %attr(755,root,root) %{_ulibdir}/cups/cgi-bin/*.cgi
408 %{_ulibdir}/cups/cgi-bin/*.css
409 %{_ulibdir}/cups/cgi-bin/*.html
410 %{_ulibdir}/cups/cgi-bin/*.ico
411 %{_ulibdir}/cups/cgi-bin/*.txt
412 %lang(de) %{_ulibdir}/cups/cgi-bin/de
413 %lang(es) %{_ulibdir}/cups/cgi-bin/es
414 %lang(et) %{_ulibdir}/cups/cgi-bin/et
415 %lang(it) %{_ulibdir}/cups/cgi-bin/it
416 %lang(ja) %{_ulibdir}/cups/cgi-bin/ja
417 %lang(pl) %{_ulibdir}/cups/cgi-bin/pl
418 %lang(sv) %{_ulibdir}/cups/cgi-bin/sv
420 %exclude %{_ulibdir}/cups/backend/usb
421 %exclude %{_ulibdir}/cups/backend/serial
422 %exclude %{_ulibdir}/cups/backend/parallel
423 %attr(755,root,root) %{_ulibdir}/cups/backend/*
424 %attr(755,root,root) %{_ulibdir}/cups/daemon/*
425 %attr(755,root,root) %{_ulibdir}/cups/filter/*
426 %attr(755,root,root) %{_ulibdir}/cups/monitor/*
427 %attr(755,root,root) %{_ulibdir}/cups/notifier/*
429 %dir %{_datadir}/cups
430 %{_datadir}/cups/banners
431 %{_datadir}/cups/charmaps
432 %{_datadir}/cups/charsets
433 %{_datadir}/cups/data
434 %{_datadir}/cups/drivers
435 %{_datadir}/cups/fonts
436 %dir %{_datadir}/cups/model
437 %{_datadir}/cups/model/*.ppd.gz
438 # dirs for gimp-print-cups-4.2.7-1
439 %dir %{_datadir}/cups/model/C
440 %lang(da) %dir %{_datadir}/cups/model/da
441 %lang(en_GB) %dir %{_datadir}/cups/model/en_GB
442 %lang(fr) %dir %{_datadir}/cups/model/fr
443 %lang(nb) %dir %{_datadir}/cups/model/nb
444 %lang(pl) %dir %{_datadir}/cups/model/pl
445 %lang(sv) %dir %{_datadir}/cups/model/sv
447 %dir %{_datadir}/cups/templates
448 %{_datadir}/cups/templates/*.tmpl
449 %lang(de) %{_datadir}/cups/templates/de
450 %lang(es) %{_datadir}/cups/templates/es
451 %lang(et) %{_datadir}/cups/templates/et
452 %lang(it) %{_datadir}/cups/templates/it
453 %lang(ja) %{_datadir}/cups/templates/ja
454 %lang(pl) %{_datadir}/cups/templates/pl
455 %lang(sv) %{_datadir}/cups/templates/sv
456 %{_mandir}/man7/backend.7*
457 %{_mandir}/man1/cupstestppd.1*
458 %{_mandir}/man1/cupstestdsc.1*
459 %{_mandir}/man7/filter.7*
460 %{_mandir}/man1/lppasswd.1*
462 %lang(de) %{_datadir}/locale/de/cups_de.po
463 %lang(es) %{_datadir}/locale/es/cups_es.po
464 %lang(et) %{_datadir}/locale/et/cups_et.po
465 %lang(it) %{_datadir}/locale/it/cups_it.po
466 %lang(ja) %{_datadir}/locale/ja/cups_ja.po
467 %lang(pl) %{_datadir}/locale/pl/cups_pl.po
468 %lang(sv) %{_datadir}/locale/sv/cups_sv.po
470 %dir %attr(775,root,lp) /var/cache/cups
471 %dir %attr(755,root,lp) /var/lib/cups
472 %dir %attr(511,lp,sys) /var/lib/cups/certs
473 %dir %attr(755,root,lp) /var/run/cups
474 %dir %attr(710,root,lp) /var/spool/cups
475 %dir %attr(1770,root,lp) /var/spool/cups/tmp
476 %attr(600,lp,lp) %ghost /var/cache/cups/help.index
477 %attr(640,root,lp) %ghost /var/cache/cups/job.cache
478 %attr(600,lp,lp) %ghost /var/cache/cups/ppds.dat
479 %attr(640,root,lp) %ghost /var/cache/cups/remote.cache
480 %attr(750,root,logs) %dir /var/log/archiv/cups
481 %attr(750,root,logs) %dir /var/log/cups
482 %attr(640,root,logs) %ghost /var/log/cups/access_log
483 %attr(640,root,logs) %ghost /var/log/cups/error_log
484 %attr(640,root,logs) %ghost /var/log/cups/page_log
487 %defattr(644,root,root,755)
488 %dir %attr(755,root,lp) %{_sysconfdir}/%{name}
489 %attr(755,root,root) %{_libdir}/libcups.so.*
492 %defattr(644,root,root,755)
493 %attr(644,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/client.conf
494 %attr(755,root,root) %{_bindir}/cancel
495 %attr(755,root,root) %{_bindir}/lp
496 %attr(755,root,root) %{_bindir}/lpoptions
497 %attr(755,root,root) %{_bindir}/lpq
498 %attr(755,root,root) %{_bindir}/lpr
499 %attr(755,root,root) %{_bindir}/lprm
500 %attr(755,root,root) %{_bindir}/lpstat
501 %attr(755,root,root) %{_sbindir}/accept
502 %attr(755,root,root) %{_sbindir}/cupsaddsmb
503 %attr(755,root,root) %{_sbindir}/cupsenable
504 %attr(755,root,root) %{_sbindir}/cupsdisable
505 %attr(755,root,root) %{_sbindir}/disable
506 %attr(755,root,root) %{_sbindir}/enable
507 %attr(755,root,root) %{_sbindir}/lpadmin
508 %attr(755,root,root) %{_sbindir}/lpc
509 %attr(755,root,root) %{_sbindir}/lpinfo
510 %attr(755,root,root) %{_sbindir}/lpmove
511 %attr(755,root,root) %{_sbindir}/reject
512 %{_mandir}/man1/cancel.1*
513 %{_mandir}/man1/lp.1*
514 %{_mandir}/man1/lpoptions.1*
515 %{_mandir}/man1/lpq.1*
516 %{_mandir}/man1/lpr.1*
517 %{_mandir}/man1/lprm.1*
518 %{_mandir}/man1/lpstat.1*
519 #%lang(fr) %{_mandir}/fr/man1/cancel.1*
520 #%lang(fr) %{_mandir}/fr/man1/lp.1*
521 #%lang(fr) %{_mandir}/fr/man1/lpoptions.1*
522 #%lang(fr) %{_mandir}/fr/man1/lpq.1*
523 #%lang(fr) %{_mandir}/fr/man1/lpr.1*
524 #%lang(fr) %{_mandir}/fr/man1/lprm.1*
525 #%lang(fr) %{_mandir}/fr/man1/lpstat.1*
526 #%lang(es) %{_mandir}/es/man1/lp.1*
527 #%lang(es) %{_mandir}/es/man1/lpoptions.1*
528 #%lang(es) %{_mandir}/es/man1/lpq.1*
529 #%lang(es) %{_mandir}/es/man1/lpr.1*
530 #%lang(es) %{_mandir}/es/man1/lprm.1*
531 #%lang(es) %{_mandir}/es/man1/lpstat.1*
534 %defattr(644,root,root,755)
535 %attr(755,root,root) %{_libdir}/libcupsimage.so.*
538 %defattr(644,root,root,755)
539 %attr(755,root,root) %{_bindir}/cups-config
542 %{_mandir}/man1/cups-config*
544 #%lang(fr) %{_mandir}/fr/man1/cups-config*
545 #%lang(es) %{_mandir}/es/man1/cups-config*
547 %if %{with static_libs}
549 %defattr(644,root,root,755)
555 %defattr(644,root,root,755)
556 %{perl_vendorarch}/*.pm
557 %dir %{perl_vendorarch}/auto/CUPS
558 %{perl_vendorarch}/auto/CUPS/*.bs
559 %{perl_vendorarch}/auto/CUPS/autosplit.ix
560 %attr(755,root,root) %{perl_vendorarch}/auto/CUPS/*.so
565 %defattr(644,root,root,755)
566 %doc scripting/php/README
567 %attr(755,root,root) %{php_extensiondir}/*
568 %config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/phpcups.ini
572 %defattr(644,root,root,755)
573 %attr(755,root,root) %{_ulibdir}/cups/backend/usb
575 %files backend-serial
576 %defattr(644,root,root,755)
577 %attr(755,root,root) %{_ulibdir}/cups/backend/serial
579 %files backend-parallel
580 %defattr(644,root,root,755)
581 %attr(755,root,root) %{_ulibdir}/cups/backend/parallel