3 %bcond_without php # don't build PHP extension
4 %bcond_without perl # don't build Perl extension
7 # - register php module
8 # - build/install java ext ?
10 %include /usr/lib/rpm/macros.perl
11 Summary: Common Unix Printing System
12 Summary(pl): Popularny system druku dla Uniksa
13 Summary(pt_BR): Sistema Unix de Impressão
19 Group: Applications/Printing
20 Source0: http://ftp.easysw.com/pub/cups/%{version}/%{name}-%{version}-source.tar.bz2
21 # Source0-md5: 4ce09b1dce09b6b9398af0daae9adf63
22 #Source0: http://ftp.easysw.com/pub/cups/test/%{name}-%{version}%{_suf}-source.tar.bz2
25 Source3: %{name}.logrotate
26 Patch0: %{name}-config.patch
27 Patch1: %{name}-lp-lpr.patch
28 Patch2: %{name}-options.patch
29 Patch3: %{name}-ENCRYPTIONtxt.patch
30 Patch4: %{name}-man_pages_linking.patch
31 Patch5: %{name}-nolibs.patch
32 Patch6: %{name}-nostrip.patch
33 Patch7: %{name}-rpath.patch
34 Patch8: %{name}-gcc34.patch
35 Patch9: %{name}-tmpdir.patch
36 Patch10: %{name}-gcc4.patch
37 Patch11: %{name}-CAN-2005-2097.patch
38 Patch12: %{name}-anonymous_jobs.patch
39 URL: http://www.cups.org/
40 BuildRequires: autoconf
41 BuildRequires: automake
42 BuildRequires: libjpeg-devel
43 BuildRequires: libpng-devel
44 BuildRequires: libstdc++-devel
45 BuildRequires: libtiff-devel
46 BuildRequires: openslp-devel
47 BuildRequires: openssl-devel >= 0.9.7d
48 BuildRequires: pam-devel
49 %{?with_php:BuildRequires: php-devel}
50 BuildRequires: pkgconfig
51 BuildRequires: rpm-perlprov
52 PreReq: %{name}-libs = %{epoch}:%{version}-%{release}
53 Requires(post,preun): /sbin/chkconfig
54 Requires: pam >= 0.77.3
55 Conflicts: ghostscript < 7.05.4
58 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
60 %define _ulibdir %{_prefix}/lib
63 CUPS provides a portable printing layer for UNIX-based operating
64 systems. It has been developed by Easy Software Products to promote a
65 standard printing solution for all UNIX vendors and users. CUPS
66 provides the System V and Berkeley command-line interfaces. CUPS uses
67 the Internet Printing Protocol ("IPP") as the basis for managing print
68 jobs and queues. The Line Printer Daemon ("LPD") Server Message Block
69 ("SMB"), and AppSocket (a.k.a. JetDirect) protocols are also supported
70 with reduced functionality. CUPS adds network printer browsing and
71 PostScript Printer Description ("PPD") based printing options to
72 support real-world printing under UNIX.
75 CUPS dostarcza standardowy poziom drukowania dla systemów uniksowych.
76 CUPS u¿ywa protoko³u IPP - Internet Printint Protocol jako podstawy do
77 zarz±dzania zadaniami i kolejkami druku.
80 O sistema Unix de impressão (CUPS) fornece uma camada de impressão
81 portável para os sistemas operacionais baseados no UNIX®.
84 Summary: Common Unix Printing System Libraries
85 Summary(pl): Biblioteki dla CUPS
86 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
88 Provides: %{name}-libs = %{epoch}:%{version}-%{release}
89 Obsoletes: %{name}-libs
93 Common Unix Printing System Libraries.
95 %description lib -l pl
98 %description lib -l pt_BR
99 Bibliotecas CUPS requeridas pelos clientes CUPS.
102 Summary: Common Unix Printing System Clients
103 Summary(pl): Aplikacje klienckie dla CUPS
104 Group: Applications/Printing
105 Provides: %{name}-clients = %{epoch}:%{version}-%{release}
109 Common Unix Printing System Clients.
111 %description clients -l pl
112 Aplikacje klienckie dla CUPS.
115 Summary: Common Unix Printing System Libraries - images manipulation
116 Summary(pl): Biblioteki dla CUPS - obs³uga formatów graficznych
117 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
119 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
122 %description image-lib
123 Common Unix Printing System Libraries - images manupalation.
125 %description image-lib -l pl
126 Biblioteki dla CUPS - obs³uga formatów graficznych.
128 %description image-lib -l pt_BR
129 Bibliotecas CUPS requeridas pelos clientes CUPS.
132 Summary: Common Unix Printing System development files
133 Summary(pl): Popularny System Druku dla Uniksa, pliki nag³ówkowe
134 Summary(pt_BR): Sistema Unix de Impressão - ambiente de desenvolvimento
135 Group: Development/Libraries
136 Requires: %{name}-image-lib = %{epoch}:%{version}-%{release}
137 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
138 Obsoletes: libcups1-devel
141 Common Unix Printing System development files.
143 %description devel -l pl
144 Popularny System Druku dla Uniksa, pliki nag³ówkowe.
146 %description devel -l pt_BR
147 Este pacote é um adicional que contem um ambiente de desenvolvimento
148 para a criação de suporte a novas impressoras e novos serviços ao
152 Summary: Common Unix Printing System static libraries
153 Summary(pl): Popularny System Druku dla Uniksa, biblioteki statyczne
154 Summary(pt_BR): Common Unix Printing System - bibliotecas estáticas
155 Group: Development/Libraries
156 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
159 Common Unix Printing System static libraries.
161 %description static -l pl
162 Popularny System Druku dla Uniksa, biblioteki statyczne.
164 %description static -l pt_BR
165 Bibliotecas estáticas para desenvolvimento de programas que usam as
168 %package -n perl-cups
169 Summary: Perl module for CUPS
170 Summary(pl): Modu³ Perla CUPS
171 Group: Development/Languages/Perl
172 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
174 %description -n perl-cups
175 Perl module for Common Unix Printing System.
177 %description -n perl-cups -l pl
178 Modu³ Perla do Popularnego Systemu Druku dla Uniksa.
181 Summary: PHP module for CUPS
182 Summary(pl): Modu³ PHP CUPS
183 Group: Development/Languages/PHP
184 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
186 %description -n php-cups
187 PHP module for Common Unix Printing System.
189 %description -n php-cups -l pl
190 Modu³ PHP do Popularnego Systemu Druku dla Uniksa.
193 Summary: USB backend for CUPS
194 Summary(pl): Backend USB dla CUPS-a
195 Group: Applications/Printing
196 Requires: %{name} = %{epoch}:%{version}-%{release}
198 %description backend-usb
199 This package allow CUPS printing on USB printers.
201 %description backend-usb -l pl
202 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach USB.
204 %package backend-serial
205 Summary: Serial port backend for CUPS
206 Summary(pl): Backend obs³uguj±cy porty szeregowe dla CUPS-a
207 Group: Applications/Printing
208 Requires: %{name} = %{epoch}:%{version}-%{release}
210 %description backend-serial
211 This package allow CUPS printing on printers connected by serial
214 %description backend-serial -l pl
215 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
216 pod³±czonych do portów szeregowych.
218 %package backend-parallel
219 Summary: Parallel port backend for CUPS
220 Summary(pl): Backend obs³uguj±cy porty równoleg³e dla CUPS-a
221 Group: Applications/Printing
222 Requires: %{name} = %{epoch}:%{version}-%{release}
224 %description backend-parallel
225 This package allow CUPS printing on printers connected by parallel
228 %description backend-parallel -l pl
229 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
230 pod³±czonych do portów równoleg³ych.
253 --libdir=%{_ulibdir} \
254 %{?debug:--enable-debug} \
255 --with-docdir=%{_ulibdir}/%{name}/cgi-bin
258 %{__perl} -pi -e 's#-I\.\.\/\.\.#-I../.. -I../../cups#g' scripting/php/Makefile
259 %{?with_php:%{__make} -C scripting/php}
263 %{__perl} -pi -e 's@-lcups@-L../../cups $1@' Makefile.PL
264 %{__perl} Makefile.PL \
266 OPTIMIZE="%{rpmcflags} -I../.."
267 # avoid rpaths generated by MakeMaker
268 %{__perl} -pi -e 's@LD_RUN_PATH="\$\(LD_RUN_PATH\)" @@' Makefile
275 rm -rf $RPM_BUILD_ROOT
276 install -d $RPM_BUILD_ROOT/etc/{{rc.d/init.d,pam.d,logrotate.d},security} \
277 $RPM_BUILD_ROOT/var/log/{,archiv/}cups
280 BUILDROOT=$RPM_BUILD_ROOT \
284 if [ "%{_lib}" != "lib" ] ; then
285 install -d $RPM_BUILD_ROOT%{_libdir}
286 mv $RPM_BUILD_ROOT%{_ulibdir}/*.so* $RPM_BUILD_ROOT%{_libdir}
287 mv $RPM_BUILD_ROOT%{_ulibdir}/*.a $RPM_BUILD_ROOT%{_libdir}
291 %{__make} -C scripting/php install \
292 PHPDIR="$RPM_BUILD_ROOT`php-config --extension-dir`"
298 DESTDIR=$RPM_BUILD_ROOT
302 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
303 install %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/%{name}
304 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
306 gzip -9nf $RPM_BUILD_ROOT%{_datadir}/%{name}/model/*.ppd
308 # for internal HTTP browser:
309 cp doc/*.html $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin
310 cp doc/*.css $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin
311 cp doc/images/* $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin/images
313 touch $RPM_BUILD_ROOT/var/log/cups/{access_log,error_log,page_log}
314 touch $RPM_BUILD_ROOT/etc/security/blacklist.cups
316 # check-files cleanup
317 rm -rf $RPM_BUILD_ROOT%{_mandir}/{,es/,fr/}cat?
320 rm -rf $RPM_BUILD_ROOT
323 /sbin/chkconfig --add cups
324 if [ -f /var/lock/subsys/cups ]; then
325 /etc/rc.d/init.d/cups restart 1>&2
327 echo "Run \"/etc/rc.d/init.d/cups start\" to start cups daemon."
331 if [ "$1" = "0" ]; then
332 if [ -f /var/lock/subsys/cups ]; then
333 /etc/rc.d/init.d/cups stop 1>&2
335 /sbin/chkconfig --del cups
338 %post lib -p /sbin/ldconfig
339 %postun lib -p /sbin/ldconfig
340 %post image-lib -p /sbin/ldconfig
341 %postun image-lib -p /sbin/ldconfig
344 %defattr(644,root,root,755)
345 #%doc *.gz doc/*.html doc/*.css doc/images
347 %attr(640,root,root) %config %verify(not size mtime md5) /etc/pam.d/*
348 %attr(754,root,root) /etc/rc.d/init.d/cups
349 %dir %{_sysconfdir}/%{name}
350 %attr(640,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/classes.conf
351 %attr(640,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/cupsd.conf
352 %attr(640,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/printers.conf
353 %attr(640,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/*.convs
354 %attr(640,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/*.types
355 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.cups
356 %dir %{_sysconfdir}/%{name}/certs
357 %dir %{_sysconfdir}/%{name}/interfaces
358 %dir %{_sysconfdir}/%{name}/ppd
359 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/logrotate.d/%{name}
360 %attr(4755,lp,root) %{_bindir}/lppasswd
361 %attr(755,root,root) %{_bindir}/cupstestppd
362 %attr(755,root,root) %{_bindir}/disable
363 %attr(755,root,root) %{_bindir}/enable
364 %dir %{_ulibdir}/cups
365 %dir %{_ulibdir}/cups/*
366 %attr(755,root,root) %{_ulibdir}/cups/*/*
367 %exclude %{_ulibdir}/cups/backend/usb
368 %exclude %{_ulibdir}/cups/backend/serial
369 %exclude %{_ulibdir}/cups/backend/parallel
370 %attr(755,root,root) %{_sbindir}/cupsd
372 %{_mandir}/man1/backend.1*
373 %{_mandir}/man1/cupstestppd.1*
374 %{_mandir}/man1/filter.1*
375 %{_mandir}/man1/lppasswd.1*
377 %lang(fr) %{_mandir}/fr/man1/backend.1*
378 %lang(fr) %{_mandir}/fr/man1/cupstestppd.1*
379 %lang(fr) %{_mandir}/fr/man1/filter.1*
380 %lang(fr) %{_mandir}/fr/man1/lppasswd.1*
381 %lang(fr) %{_mandir}/fr/man[58]/*
382 %lang(es) %{_mandir}/es/man1/backend.1*
383 %lang(es) %{_mandir}/es/man1/cupstestppd.1*
384 %lang(es) %{_mandir}/es/man1/filter.1*
385 %lang(es) %{_mandir}/es/man1/lppasswd.1*
386 %lang(es) %{_mandir}/es/man[58]/*
387 %{_datadir}/locale/C/cups_C
388 %lang(be) %{_datadir}/locale/be/cups_be
389 %lang(cs) %{_datadir}/locale/cs/cups_cs
390 %lang(de) %{_datadir}/locale/de/cups_de
391 %{_datadir}/locale/en/cups_en
392 %lang(en_US) %{_datadir}/locale/en_US/cups_en_US
393 %lang(es) %{_datadir}/locale/es/cups_es
394 %lang(fr) %{_datadir}/locale/fr/cups_fr
395 %lang(he) %{_datadir}/locale/he/cups_he
396 %lang(it) %{_datadir}/locale/it/cups_it
397 %lang(ru) %{_datadir}/locale/ru_RU/cups_ru_RU
398 %lang(sv) %{_datadir}/locale/sv/cups_sv
399 %lang(uk) %{_datadir}/locale/uk/cups_uk
400 %lang(uk) %{_datadir}/locale/uk_UA/cups_uk_UA
401 %lang(zh_CN) %{_datadir}/locale/zh_CN/cups_zh_CN
403 %attr(750,root,logs) %dir /var/log/archiv/cups
404 %attr(750,root,logs) %dir /var/log/cups
405 %attr(640,root,logs) %ghost /var/log/cups/access_log
406 %attr(640,root,logs) %ghost /var/log/cups/error_log
407 %attr(640,root,logs) %ghost /var/log/cups/page_log
410 %defattr(644,root,root,755)
411 %attr(755,root,root) %{_libdir}/libcups.so.*
414 %defattr(644,root,root,755)
415 %attr(644,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/client.conf
416 %attr(755,root,root) %{_bindir}/cancel
417 %attr(755,root,root) %{_bindir}/lp
418 %attr(755,root,root) %{_bindir}/lpoptions
419 %attr(755,root,root) %{_bindir}/lpq
420 %attr(755,root,root) %{_bindir}/lpr
421 %attr(755,root,root) %{_bindir}/lprm
422 %attr(755,root,root) %{_bindir}/lpstat
423 %attr(755,root,root) %{_sbindir}/accept
424 %attr(755,root,root) %{_sbindir}/cupsaddsmb
425 %attr(755,root,root) %{_sbindir}/lpadmin
426 %attr(755,root,root) %{_sbindir}/lpc
427 %attr(755,root,root) %{_sbindir}/lpinfo
428 %attr(755,root,root) %{_sbindir}/lpmove
429 %attr(755,root,root) %{_sbindir}/reject
430 %{_mandir}/man1/cancel.1*
431 %{_mandir}/man1/lp.1*
432 %{_mandir}/man1/lpoptions.1*
433 %{_mandir}/man1/lpq.1*
434 %{_mandir}/man1/lpr.1*
435 %{_mandir}/man1/lprm.1*
436 %{_mandir}/man1/lpstat.1*
437 %lang(fr) %{_mandir}/fr/man1/cancel.1*
438 %lang(fr) %{_mandir}/fr/man1/lp.1*
439 %lang(fr) %{_mandir}/fr/man1/lpoptions.1*
440 %lang(fr) %{_mandir}/fr/man1/lpq.1*
441 %lang(fr) %{_mandir}/fr/man1/lpr.1*
442 %lang(fr) %{_mandir}/fr/man1/lprm.1*
443 %lang(fr) %{_mandir}/fr/man1/lpstat.1*
444 %lang(es) %{_mandir}/es/man1/lp.1*
445 %lang(es) %{_mandir}/es/man1/lpoptions.1*
446 %lang(es) %{_mandir}/es/man1/lpq.1*
447 %lang(es) %{_mandir}/es/man1/lpr.1*
448 %lang(es) %{_mandir}/es/man1/lprm.1*
449 %lang(es) %{_mandir}/es/man1/lpstat.1*
452 %defattr(644,root,root,755)
453 %attr(755,root,root) %{_libdir}/libcupsimage.so.*
456 %defattr(644,root,root,755)
457 %attr(755,root,root) %{_bindir}/cups-config
460 %{_mandir}/man1/cups-config*
462 %lang(fr) %{_mandir}/fr/man1/cups-config*
463 %lang(es) %{_mandir}/es/man1/cups-config*
466 %defattr(644,root,root,755)
471 %defattr(644,root,root,755)
472 %{perl_vendorarch}/*.pm
473 %dir %{perl_vendorarch}/auto/CUPS
474 %{perl_vendorarch}/auto/CUPS/*.bs
475 %{perl_vendorarch}/auto/CUPS/autosplit.ix
476 %attr(755,root,root) %{perl_vendorarch}/auto/CUPS/*.so
481 %defattr(644,root,root,755)
482 %attr(755,root,root) %(php-config --extension-dir)/*
486 %defattr(644,root,root,755)
487 %attr(755,root,root) %{_ulibdir}/cups/backend/usb
489 %files backend-serial
490 %defattr(644,root,root,755)
491 %attr(755,root,root) %{_ulibdir}/cups/backend/serial
493 %files backend-parallel
494 %defattr(644,root,root,755)
495 %attr(755,root,root) %{_ulibdir}/cups/backend/parallel