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 URL: http://www.cups.org/
38 BuildRequires: autoconf
39 BuildRequires: automake
40 BuildRequires: libjpeg-devel
41 BuildRequires: libpng-devel
42 BuildRequires: libtiff-devel
43 BuildRequires: openslp-devel
44 BuildRequires: openssl-devel >= 0.9.7d
45 BuildRequires: pam-devel
46 %{?with_php:BuildRequires: php-devel}
47 BuildRequires: pkgconfig
48 BuildRequires: rpm-perlprov
49 PreReq: %{name}-libs = %{epoch}:%{version}-%{release}
50 Requires(post,preun): /sbin/chkconfig
51 Requires: pam >= 0.77.3
52 Conflicts: ghostscript < 7.05.4
55 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
57 %define _ulibdir %{_prefix}/lib
60 CUPS provides a portable printing layer for UNIX-based operating
61 systems. It has been developed by Easy Software Products to promote a
62 standard printing solution for all UNIX vendors and users. CUPS
63 provides the System V and Berkeley command-line interfaces. CUPS uses
64 the Internet Printing Protocol ("IPP") as the basis for managing print
65 jobs and queues. The Line Printer Daemon ("LPD") Server Message Block
66 ("SMB"), and AppSocket (a.k.a. JetDirect) protocols are also supported
67 with reduced functionality. CUPS adds network printer browsing and
68 PostScript Printer Description ("PPD") based printing options to
69 support real-world printing under UNIX.
72 CUPS dostarcza standardowy poziom drukowania dla systemów uniksowych.
73 CUPS u¿ywa protoko³u IPP - Internet Printint Protocol jako podstawy do
74 zarz±dzania zadaniami i kolejkami druku.
77 O sistema Unix de impressão (CUPS) fornece uma camada de impressão
78 portável para os sistemas operacionais baseados no UNIX®.
81 Summary: Common Unix Printing System Libraries
82 Summary(pl): Biblioteki dla CUPS
83 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
85 Provides: %{name}-libs = %{epoch}:%{version}-%{release}
86 Obsoletes: %{name}-libs
90 Common Unix Printing System Libraries.
92 %description lib -l pl
95 %description lib -l pt_BR
96 Bibliotecas CUPS requeridas pelos clientes CUPS.
99 Summary: Common Unix Printing System Clients
100 Summary(pl): Aplikacje klienckie dla CUPS
101 Group: Applications/Printing
102 Provides: %{name}-clients = %{epoch}:%{version}-%{release}
106 Common Unix Printing System Clients.
108 %description clients -l pl
109 Aplikacje klienckie dla CUPS.
112 Summary: Common Unix Printing System Libraries - images manipulation
113 Summary(pl): Biblioteki dla CUPS - obs³uga formatów graficznych
114 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
116 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
119 %description image-lib
120 Common Unix Printing System Libraries - images manupalation.
122 %description image-lib -l pl
123 Biblioteki dla CUPS - obs³uga formatów graficznych.
125 %description image-lib -l pt_BR
126 Bibliotecas CUPS requeridas pelos clientes CUPS.
129 Summary: Common Unix Printing System development files
130 Summary(pl): Popularny System Druku dla Uniksa, pliki nag³ówkowe
131 Summary(pt_BR): Sistema Unix de Impressão - ambiente de desenvolvimento
132 Group: Development/Libraries
133 Requires: %{name}-image-lib = %{epoch}:%{version}-%{release}
134 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
135 Obsoletes: libcups1-devel
138 Common Unix Printing System development files.
140 %description devel -l pl
141 Popularny System Druku dla Uniksa, pliki nag³ówkowe.
143 %description devel -l pt_BR
144 Este pacote é um adicional que contem um ambiente de desenvolvimento
145 para a criação de suporte a novas impressoras e novos serviços ao
149 Summary: Common Unix Printing System static libraries
150 Summary(pl): Popularny System Druku dla Uniksa, biblioteki statyczne
151 Summary(pt_BR): Common Unix Printing System - bibliotecas estáticas
152 Group: Development/Libraries
153 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
156 Common Unix Printing System static libraries.
158 %description static -l pl
159 Popularny System Druku dla Uniksa, biblioteki statyczne.
161 %description static -l pt_BR
162 Bibliotecas estáticas para desenvolvimento de programas que usam as
165 %package -n perl-cups
166 Summary: Perl module for CUPS
167 Summary(pl): Modu³ Perla CUPS
168 Group: Development/Languages/Perl
169 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
171 %description -n perl-cups
172 Perl module for Common Unix Printing System.
174 %description -n perl-cups -l pl
175 Modu³ Perla do Popularnego Systemu Druku dla Uniksa.
178 Summary: PHP module for CUPS
179 Summary(pl): Modu³ PHP CUPS
180 Group: Development/Languages/PHP
181 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
183 %description -n php-cups
184 PHP module for Common Unix Printing System.
186 %description -n php-cups -l pl
187 Modu³ PHP do Popularnego Systemu Druku dla Uniksa.
190 Summary: USB backend for CUPS
191 Summary(pl): Backend USB dla CUPS-a
192 Group: Applications/Printing
193 Requires: %{name} = %{epoch}:%{version}-%{release}
195 %description backend-usb
196 This package allow CUPS printing on USB printers.
198 %description backend-usb -l pl
199 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach USB.
201 %package backend-serial
202 Summary: Serial port backend for CUPS
203 Summary(pl): Backend obs³uguj±cy porty szeregowe dla CUPS-a
204 Group: Applications/Printing
205 Requires: %{name} = %{epoch}:%{version}-%{release}
207 %description backend-serial
208 This package allow CUPS printing on printers connected by serial
211 %description backend-serial -l pl
212 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
213 pod³±czonych do portów szeregowych.
215 %package backend-parallel
216 Summary: Parallel port backend for CUPS
217 Summary(pl): Backend obs³uguj±cy porty równoleg³e dla CUPS-a
218 Group: Applications/Printing
219 Requires: %{name} = %{epoch}:%{version}-%{release}
221 %description backend-parallel
222 This package allow CUPS printing on printers connected by parallel
225 %description backend-parallel -l pl
226 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
227 pod³±czonych do portów równoleg³ych.
248 --libdir=%{_ulibdir} \
249 %{?debug:--enable-debug} \
250 --with-docdir=%{_ulibdir}/%{name}/cgi-bin
253 %{__perl} -pi -e 's#-I\.\.\/\.\.#-I../.. -I../../cups#g' scripting/php/Makefile
254 %{?with_php:%{__make} -C scripting/php}
258 %{__perl} -pi -e 's@-lcups@-L../../cups $1@' Makefile.PL
259 %{__perl} Makefile.PL \
261 OPTIMIZE="%{rpmcflags} -I../.."
262 # avoid rpaths generated by MakeMaker
263 %{__perl} -pi -e 's@LD_RUN_PATH="\$\(LD_RUN_PATH\)" @@' Makefile
270 rm -rf $RPM_BUILD_ROOT
271 install -d $RPM_BUILD_ROOT/etc/{{rc.d/init.d,pam.d,logrotate.d},security} \
272 $RPM_BUILD_ROOT/var/log/{,archiv/}cups
275 BUILDROOT=$RPM_BUILD_ROOT \
279 if [ "%{_lib}" != "lib" ] ; then
280 install -d $RPM_BUILD_ROOT%{_libdir}
281 mv $RPM_BUILD_ROOT%{_ulibdir}/*.so* $RPM_BUILD_ROOT%{_libdir}
282 mv $RPM_BUILD_ROOT%{_ulibdir}/*.a $RPM_BUILD_ROOT%{_libdir}
286 %{__make} -C scripting/php install \
287 PHPDIR="$RPM_BUILD_ROOT`php-config --extension-dir`"
293 DESTDIR=$RPM_BUILD_ROOT
297 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
298 install %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/%{name}
299 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
301 gzip -9nf $RPM_BUILD_ROOT%{_datadir}/%{name}/model/*.ppd
303 # for internal HTTP browser:
304 cp doc/*.html $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin
305 cp doc/*.css $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin
306 cp doc/images/* $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin/images
308 touch $RPM_BUILD_ROOT/var/log/cups/{access_log,error_log,page_log}
309 touch $RPM_BUILD_ROOT/etc/security/blacklist.cups
311 # check-files cleanup
312 rm -rf $RPM_BUILD_ROOT%{_mandir}/{,es/,fr/}cat?
315 rm -rf $RPM_BUILD_ROOT
318 /sbin/chkconfig --add cups
319 if [ -f /var/lock/subsys/cups ]; then
320 /etc/rc.d/init.d/cups restart 1>&2
322 echo "Run \"/etc/rc.d/init.d/cups start\" to start cups daemon."
326 if [ "$1" = "0" ]; then
327 if [ -f /var/lock/subsys/cups ]; then
328 /etc/rc.d/init.d/cups stop 1>&2
330 /sbin/chkconfig --del cups
333 %post lib -p /sbin/ldconfig
334 %postun lib -p /sbin/ldconfig
335 %post image-lib -p /sbin/ldconfig
336 %postun image-lib -p /sbin/ldconfig
339 %defattr(644,root,root,755)
340 #%doc *.gz doc/*.html doc/*.css doc/images
342 %attr(640,root,root) %config %verify(not size mtime md5) /etc/pam.d/*
343 %attr(754,root,root) /etc/rc.d/init.d/cups
344 %dir %{_sysconfdir}/%{name}
345 %attr(640,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/classes.conf
346 %attr(640,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/cupsd.conf
347 %attr(640,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/printers.conf
348 %attr(640,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/*.convs
349 %attr(640,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/*.types
350 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.cups
351 %dir %{_sysconfdir}/%{name}/certs
352 %dir %{_sysconfdir}/%{name}/interfaces
353 %dir %{_sysconfdir}/%{name}/ppd
354 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/logrotate.d/%{name}
355 %attr(4755,lp,root) %{_bindir}/lppasswd
356 %attr(755,root,root) %{_bindir}/cupstestppd
357 %attr(755,root,root) %{_bindir}/disable
358 %attr(755,root,root) %{_bindir}/enable
359 %dir %{_ulibdir}/cups
360 %dir %{_ulibdir}/cups/*
361 %attr(755,root,root) %{_ulibdir}/cups/*/*
362 %exclude %{_ulibdir}/cups/backend/usb
363 %exclude %{_ulibdir}/cups/backend/serial
364 %exclude %{_ulibdir}/cups/backend/parallel
365 %attr(755,root,root) %{_sbindir}/cupsd
367 %{_mandir}/man1/backend.1*
368 %{_mandir}/man1/cupstestppd.1*
369 %{_mandir}/man1/filter.1*
370 %{_mandir}/man1/lppasswd.1*
372 %lang(fr) %{_mandir}/fr/man1/backend.1*
373 %lang(fr) %{_mandir}/fr/man1/cupstestppd.1*
374 %lang(fr) %{_mandir}/fr/man1/filter.1*
375 %lang(fr) %{_mandir}/fr/man1/lppasswd.1*
376 %lang(fr) %{_mandir}/fr/man[58]/*
377 %lang(es) %{_mandir}/es/man1/backend.1*
378 %lang(es) %{_mandir}/es/man1/cupstestppd.1*
379 %lang(es) %{_mandir}/es/man1/filter.1*
380 %lang(es) %{_mandir}/es/man1/lppasswd.1*
381 %lang(es) %{_mandir}/es/man[58]/*
382 %{_datadir}/locale/C/cups_C
383 %lang(be) %{_datadir}/locale/be/cups_be
384 %lang(cs) %{_datadir}/locale/cs/cups_cs
385 %lang(de) %{_datadir}/locale/de/cups_de
386 %{_datadir}/locale/en/cups_en
387 %lang(en_US) %{_datadir}/locale/en_US/cups_en_US
388 %lang(es) %{_datadir}/locale/es/cups_es
389 %lang(fr) %{_datadir}/locale/fr/cups_fr
390 %lang(he) %{_datadir}/locale/he/cups_he
391 %lang(it) %{_datadir}/locale/it/cups_it
392 %lang(ru) %{_datadir}/locale/ru_RU/cups_ru_RU
393 %lang(sv) %{_datadir}/locale/sv/cups_sv
394 %lang(uk) %{_datadir}/locale/uk/cups_uk
395 %lang(uk) %{_datadir}/locale/uk_UA/cups_uk_UA
396 %lang(zh_CN) %{_datadir}/locale/zh_CN/cups_zh_CN
398 %attr(750,root,logs) %dir /var/log/archiv/cups
399 %attr(750,root,logs) %dir /var/log/cups
400 %attr(640,root,logs) %ghost /var/log/cups/access_log
401 %attr(640,root,logs) %ghost /var/log/cups/error_log
402 %attr(640,root,logs) %ghost /var/log/cups/page_log
405 %defattr(644,root,root,755)
406 %attr(755,root,root) %{_libdir}/libcups.so.*
409 %defattr(644,root,root,755)
410 %attr(644,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/client.conf
411 %attr(755,root,root) %{_bindir}/cancel
412 %attr(755,root,root) %{_bindir}/lp
413 %attr(755,root,root) %{_bindir}/lpoptions
414 %attr(755,root,root) %{_bindir}/lpq
415 %attr(755,root,root) %{_bindir}/lpr
416 %attr(755,root,root) %{_bindir}/lprm
417 %attr(755,root,root) %{_bindir}/lpstat
418 %attr(755,root,root) %{_sbindir}/accept
419 %attr(755,root,root) %{_sbindir}/cupsaddsmb
420 %attr(755,root,root) %{_sbindir}/lpadmin
421 %attr(755,root,root) %{_sbindir}/lpc
422 %attr(755,root,root) %{_sbindir}/lpinfo
423 %attr(755,root,root) %{_sbindir}/lpmove
424 %attr(755,root,root) %{_sbindir}/reject
425 %{_mandir}/man1/cancel.1*
426 %{_mandir}/man1/lp.1*
427 %{_mandir}/man1/lpoptions.1*
428 %{_mandir}/man1/lpq.1*
429 %{_mandir}/man1/lpr.1*
430 %{_mandir}/man1/lprm.1*
431 %{_mandir}/man1/lpstat.1*
432 %lang(fr) %{_mandir}/fr/man1/cancel.1*
433 %lang(fr) %{_mandir}/fr/man1/lp.1*
434 %lang(fr) %{_mandir}/fr/man1/lpoptions.1*
435 %lang(fr) %{_mandir}/fr/man1/lpq.1*
436 %lang(fr) %{_mandir}/fr/man1/lpr.1*
437 %lang(fr) %{_mandir}/fr/man1/lprm.1*
438 %lang(fr) %{_mandir}/fr/man1/lpstat.1*
439 %lang(es) %{_mandir}/es/man1/lp.1*
440 %lang(es) %{_mandir}/es/man1/lpoptions.1*
441 %lang(es) %{_mandir}/es/man1/lpq.1*
442 %lang(es) %{_mandir}/es/man1/lpr.1*
443 %lang(es) %{_mandir}/es/man1/lprm.1*
444 %lang(es) %{_mandir}/es/man1/lpstat.1*
447 %defattr(644,root,root,755)
448 %attr(755,root,root) %{_libdir}/libcupsimage.so.*
451 %defattr(644,root,root,755)
452 %attr(755,root,root) %{_bindir}/cups-config
455 %{_mandir}/man1/cups-config*
457 %lang(fr) %{_mandir}/fr/man1/cups-config*
458 %lang(es) %{_mandir}/es/man1/cups-config*
461 %defattr(644,root,root,755)
466 %defattr(644,root,root,755)
467 %{perl_vendorarch}/*.pm
468 %dir %{perl_vendorarch}/auto/CUPS
469 %{perl_vendorarch}/auto/CUPS/*.bs
470 %{perl_vendorarch}/auto/CUPS/autosplit.ix
471 %attr(755,root,root) %{perl_vendorarch}/auto/CUPS/*.so
476 %defattr(644,root,root,755)
477 %attr(755,root,root) %(php-config --extension-dir)/*
481 %defattr(644,root,root,755)
482 %attr(755,root,root) %{_ulibdir}/cups/backend/usb
484 %files backend-serial
485 %defattr(644,root,root,755)
486 %attr(755,root,root) %{_ulibdir}/cups/backend/serial
488 %files backend-parallel
489 %defattr(644,root,root,755)
490 %attr(755,root,root) %{_ulibdir}/cups/backend/parallel