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/%{name}/%{version}/%{name}-%{version}-source.tar.bz2
21 # Source0-md5: 54e9b0d9c0bdb45b956f88c14793ef65
24 Source3: %{name}.logrotate
25 Patch1: %{name}-config.patch
26 Patch2: %{name}-tmpdir.patch
27 Patch3: %{name}-lp-lpr.patch
28 Patch4: %{name}-options.patch
29 Patch5: %{name}-ENCRYPTIONtxt.patch
30 Patch6: %{name}-man_pages_linking.patch
31 Patch7: %{name}-nolibs.patch
32 Patch9: %{name}-nostrip.patch
33 Patch10: %{name}-rpath.patch
34 Patch11: %{name}-gcc34.patch
35 URL: http://www.cups.org/
36 BuildRequires: autoconf
37 BuildRequires: automake
38 BuildRequires: libjpeg-devel
39 BuildRequires: libpng-devel
40 BuildRequires: libtiff-devel
41 BuildRequires: openslp-devel
42 BuildRequires: openssl-devel >= 0.9.7d
43 BuildRequires: pam-devel
44 %{?with_php:BuildRequires: php-devel}
45 BuildRequires: pkgconfig
46 BuildRequires: rpm-perlprov
47 PreReq: %{name}-libs = %{epoch}:%{version}-%{release}
48 Requires(post,preun): /sbin/chkconfig
49 Requires: pam >= 0.77.3
50 Conflicts: ghostscript < 7.05.4
53 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
55 %define _ulibdir %{_prefix}/lib
58 CUPS provides a portable printing layer for UNIX®-based operating
59 systems. It has been developed by Easy Software Products to promote a
60 standard printing solution for all UNIX vendors and users. CUPS
61 provides the System V and Berkeley command-line interfaces. CUPS uses
62 the Internet Printing Protocol ("IPP") as the basis for managing print
63 jobs and queues. The Line Printer Daemon ("LPD") Server Message Block
64 ("SMB"), and AppSocket (a.k.a. JetDirect) protocols are also supported
65 with reduced functionality. CUPS adds network printer browsing and
66 PostScript Printer Description ("PPD") based printing options to
67 support real-world printing under UNIX.
70 CUPS dostarcza standardowy poziom drukowania dla systemów uniksowych.
71 CUPS u¿ywa protoko³u IPP - Internet Printint Protocol jako podstawy do
72 zarz±dzania zadaniami i kolejkami druku.
75 O sistema Unix de impressão (CUPS) fornece uma camada de impressão
76 portável para os sistemas operacionais baseados no UNIX®.
79 Summary: Common Unix Printing System Libraries
80 Summary(pl): Biblioteki dla CUPS
81 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
83 Provides: %{name}-libs = %{epoch}:%{version}-%{release}
84 Obsoletes: %{name}-libs
88 Common Unix Printing System Libraries.
90 %description lib -l pl
93 %description lib -l pt_BR
94 Bibliotecas CUPS requeridas pelos clientes CUPS.
97 Summary: Common Unix Printing System Clients
98 Summary(pl): Aplikacje klienckie dla CUPS
99 Group: Applications/Printing
100 Provides: %{name}-clients = %{epoch}:%{version}-%{release}
104 Common Unix Printing System Clients.
106 %description clients -l pl
107 Aplikacje klienckie dla CUPS.
110 Summary: Common Unix Printing System Libraries - images manipulation
111 Summary(pl): Biblioteki dla CUPS - obs³uga formatów graficznych
112 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
114 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
117 %description image-lib
118 Common Unix Printing System Libraries - images manupalation.
120 %description image-lib -l pl
121 Biblioteki dla CUPS - obs³uga formatów graficznych.
123 %description image-lib -l pt_BR
124 Bibliotecas CUPS requeridas pelos clientes CUPS.
127 Summary: Common Unix Printing System development files
128 Summary(pl): Popularny System Druku dla Uniksa, pliki nag³ówkowe
129 Summary(pt_BR): Sistema Unix de Impressão - ambiente de desenvolvimento
130 Group: Development/Libraries
131 Requires: %{name}-image-lib = %{epoch}:%{version}-%{release}
132 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
133 Obsoletes: libcups1-devel
136 Common Unix Printing System development files.
138 %description devel -l pl
139 Popularny System Druku dla Uniksa, pliki nag³ówkowe.
141 %description devel -l pt_BR
142 Este pacote é um adicional que contem um ambiente de desenvolvimento
143 para a criação de suporte a novas impressoras e novos serviços ao
147 Summary: Common Unix Printing System static libraries
148 Summary(pl): Popularny System Druku dla Uniksa, biblioteki statyczne
149 Summary(pt_BR): Common Unix Printing System - bibliotecas estáticas
150 Group: Development/Libraries
151 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
154 Common Unix Printing System static libraries.
156 %description static -l pl
157 Popularny System Druku dla Uniksa, biblioteki statyczne.
159 %description static -l pt_BR
160 Bibliotecas estáticas para desenvolvimento de programas que usam as
163 %package -n perl-cups
164 Summary: Perl module for CUPS
165 Summary(pl): Modu³ Perla CUPS
166 Group: Development/Languages/Perl
167 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
169 %description -n perl-cups
170 Perl module for Common Unix Printing System.
172 %description -n perl-cups -l pl
173 Modu³ Perla do Popularnego Systemu Druku dla Uniksa.
176 Summary: PHP module for CUPS
177 Summary(pl): Modu³ PHP CUPS
178 Group: Development/Languages/PHP
179 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
181 %description -n php-cups
182 PHP module for Common Unix Printing System.
184 %description -n php-cups -l pl
185 Modu³ PHP do Popularnego Systemu Druku dla Uniksa.
188 Summary: USB backend for CUPS
189 Summary(pl): Backend USB dla CUPS-a
190 Group: Applications/Printing
191 Requires: %{name} = %{epoch}:%{version}-%{release}
193 %description backend-usb
194 This package allow CUPS printing on USB printers.
196 %description backend-usb -l pl
197 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach USB.
199 %package backend-serial
200 Summary: Serial port backend for CUPS
201 Summary(pl): Backend obs³uguj±cy porty szeregowe dla CUPS-a
202 Group: Applications/Printing
203 Requires: %{name} = %{epoch}:%{version}-%{release}
205 %description backend-serial
206 This package allow CUPS printing on printers connected by serial
209 %description backend-serial -l pl
210 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
211 pod³±czonych do portów szeregowych.
213 %package backend-parallel
214 Summary: Parallel port backend for CUPS
215 Summary(pl): Backend obs³uguj±cy porty równoleg³e dla CUPS-a
216 Group: Applications/Printing
217 Requires: %{name} = %{epoch}:%{version}-%{release}
219 %description backend-parallel
220 This package allow CUPS printing on printers connected by parallel
223 %description backend-parallel -l pl
224 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
225 pod³±czonych do portów równoleg³ych.
228 %setup -q -n %{name}-%{version}
245 --libdir=%{_ulibdir} \
246 --with-docdir=%{_ulibdir}/%{name}/cgi-bin
249 perl -pi -e 's#-I\.\.\/\.\.#-I../.. -I../../cups#g' scripting/php/Makefile
250 %{?with_php:%{__make} -C scripting/php}
254 %{__perl} -pi -e 's@-lcups@-L../../cups $1@' Makefile.PL
255 %{__perl} Makefile.PL \
257 OPTIMIZE="%{rpmcflags} -I../.."
258 # avoid rpaths generated by MakeMaker
259 perl -pi -e 's@LD_RUN_PATH="\$\(LD_RUN_PATH\)" @@' Makefile
266 rm -rf $RPM_BUILD_ROOT
267 install -d $RPM_BUILD_ROOT/%{_sysconfdir}/{{rc.d/init.d,pam.d,logrotate.d},security} \
268 $RPM_BUILD_ROOT/var/log/{,archiv/}cups
271 BUILDROOT=$RPM_BUILD_ROOT \
275 if [ "%{_lib}" != "lib" ] ; then
276 install -d $RPM_BUILD_ROOT%{_libdir}
277 mv $RPM_BUILD_ROOT%{_ulibdir}/*.so* $RPM_BUILD_ROOT%{_libdir}
278 mv $RPM_BUILD_ROOT%{_ulibdir}/*.a $RPM_BUILD_ROOT%{_libdir}
282 %{__make} -C scripting/php install \
283 PHPDIR="$RPM_BUILD_ROOT`php-config --extension-dir`"
289 DESTDIR=$RPM_BUILD_ROOT
293 install %{SOURCE1} $RPM_BUILD_ROOT/%{_sysconfdir}/rc.d/init.d/%{name}
294 install %{SOURCE2} $RPM_BUILD_ROOT/%{_sysconfdir}/pam.d/%{name}
295 install %{SOURCE3} $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d/%{name}
297 gzip -9nf $RPM_BUILD_ROOT/%{_datadir}/%{name}/model/*.ppd
299 # for internal http browser:
300 cp doc/*.html $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin
301 cp doc/*.css $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin
302 cp doc/images/* $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin/images
304 touch $RPM_BUILD_ROOT/var/log/cups/{access_log,error_log,page_log}
305 touch $RPM_BUILD_ROOT/%{_sysconfdir}/security/blacklist.cups
307 # check-files cleanup
308 rm -rf $RPM_BUILD_ROOT%{_mandir}/{,fr/}cat?
311 rm -rf $RPM_BUILD_ROOT
314 /sbin/chkconfig --add cups
315 if [ -f /var/lock/subsys/cups ]; then
316 /etc/rc.d/init.d/cups restart 1>&2
318 echo "Run \"/etc/rc.d/init.d/cups start\" to start cups daemon."
322 if [ "$1" = "0" ]; then
323 if [ -f /var/lock/subsys/cups ]; then
324 /etc/rc.d/init.d/cups stop 1>&2
326 /sbin/chkconfig --del cups
329 %post lib -p /sbin/ldconfig
330 %postun lib -p /sbin/ldconfig
331 %post image-lib -p /sbin/ldconfig
332 %postun image-lib -p /sbin/ldconfig
335 %defattr(644,root,root,755)
336 #%doc *.gz doc/*.html doc/*.css doc/images
338 %attr(640,root,root) %config %verify(not size mtime md5) /etc/pam.d/*
339 %attr(754,root,root) /etc/rc.d/init.d/cups
340 %dir %{_sysconfdir}/%{name}
341 %attr(640,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/classes.conf
342 %attr(640,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/cupsd.conf
343 %attr(640,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/printers.conf
344 %attr(640,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/*.convs
345 %attr(640,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/*.types
346 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.cups
347 %dir %{_sysconfdir}/%{name}/certs
348 %dir %{_sysconfdir}/%{name}/interfaces
349 %dir %{_sysconfdir}/%{name}/ppd
350 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/logrotate.d/%{name}
351 %attr(4755,lp,root) %{_bindir}/lppasswd
352 %attr(755,root,root) %{_bindir}/cupstestppd
353 %attr(755,root,root) %{_bindir}/disable
354 %attr(755,root,root) %{_bindir}/enable
355 %dir %{_ulibdir}/cups
356 %dir %{_ulibdir}/cups/*
357 %attr(755,root,root) %{_ulibdir}/cups/*/*
358 %exclude %{_ulibdir}/cups/backend/usb
359 %exclude %{_ulibdir}/cups/backend/serial
360 %exclude %{_ulibdir}/cups/backend/parallel
361 %attr(755,root,root) %{_sbindir}/cupsd
363 %{_mandir}/man1/backend.1*
364 %{_mandir}/man1/cupstestppd.1*
365 %{_mandir}/man1/filter.1*
366 %{_mandir}/man1/lppasswd.1*
368 %lang(fr) %{_mandir}/fr/man1/backend.1*
369 %lang(fr) %{_mandir}/fr/man1/cupstestppd.1*
370 %lang(fr) %{_mandir}/fr/man1/filter.1*
371 %lang(fr) %{_mandir}/fr/man1/lppasswd.1*
372 %lang(fr) %{_mandir}/fr/man[58]/*
373 %{_datadir}/locale/C/cups_C
374 %lang(be) %{_datadir}/locale/be/cups_be
375 %lang(cs) %{_datadir}/locale/cs/cups_cs
376 %lang(de) %{_datadir}/locale/de/cups_de
377 %{_datadir}/locale/en/cups_en
378 %lang(en_US) %{_datadir}/locale/en_US/cups_en_US
379 %lang(es) %{_datadir}/locale/es/cups_es
380 %lang(fr) %{_datadir}/locale/fr/cups_fr
381 %lang(he) %{_datadir}/locale/he/cups_he
382 %lang(it) %{_datadir}/locale/it/cups_it
383 %lang(ru) %{_datadir}/locale/ru_RU/cups_ru_RU
384 %lang(sv) %{_datadir}/locale/sv/cups_sv
385 %lang(uk) %{_datadir}/locale/uk/cups_uk
386 %lang(uk) %{_datadir}/locale/uk_UA/cups_uk_UA
387 %lang(zh_CN) %{_datadir}/locale/zh_CN/cups_zh_CN
389 %attr(750,root,root) %dir /var/log/archiv/cups
390 %attr(750,root,root) %dir /var/log/cups
391 %attr(640,root,root) %ghost /var/log/cups/access_log
392 %attr(640,root,root) %ghost /var/log/cups/error_log
393 %attr(640,root,root) %ghost /var/log/cups/page_log
396 %defattr(644,root,root,755)
397 %attr(755,root,root) %{_libdir}/libcups.so.*
400 %defattr(644,root,root,755)
401 %attr(644,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/client.conf
402 %attr(755,root,root) %{_bindir}/cancel
403 %attr(755,root,root) %{_bindir}/lp
404 %attr(755,root,root) %{_bindir}/lpoptions
405 %attr(755,root,root) %{_bindir}/lpq
406 %attr(755,root,root) %{_bindir}/lpr
407 %attr(755,root,root) %{_bindir}/lprm
408 %attr(755,root,root) %{_bindir}/lpstat
409 %attr(755,root,root) %{_sbindir}/accept
410 %attr(755,root,root) %{_sbindir}/cupsaddsmb
411 %attr(755,root,root) %{_sbindir}/lpadmin
412 %attr(755,root,root) %{_sbindir}/lpc
413 %attr(755,root,root) %{_sbindir}/lpinfo
414 %attr(755,root,root) %{_sbindir}/lpmove
415 %attr(755,root,root) %{_sbindir}/reject
416 %{_mandir}/man1/cancel.1*
417 %{_mandir}/man1/lp.1*
418 %{_mandir}/man1/lpoptions.1*
419 %{_mandir}/man1/lpq.1*
420 %{_mandir}/man1/lpr.1*
421 %{_mandir}/man1/lprm.1*
422 %{_mandir}/man1/lpstat.1*
423 %lang(fr) %{_mandir}/fr/man1/cancel.1*
424 %lang(fr) %{_mandir}/fr/man1/lp.1*
425 %lang(fr) %{_mandir}/fr/man1/lpoptions.1*
426 %lang(fr) %{_mandir}/fr/man1/lpq.1*
427 %lang(fr) %{_mandir}/fr/man1/lpr.1*
428 %lang(fr) %{_mandir}/fr/man1/lprm.1*
429 %lang(fr) %{_mandir}/fr/man1/lpstat.1*
432 %defattr(644,root,root,755)
433 %attr(755,root,root) %{_libdir}/libcupsimage.so.*
436 %defattr(644,root,root,755)
437 %attr(755,root,root) %{_bindir}/cups-config
440 %{_mandir}/man1/cups-config*
442 %lang(fr) %{_mandir}/fr/man1/cups-config*
445 %defattr(644,root,root,755)
450 %defattr(644,root,root,755)
451 %{perl_vendorarch}/*.pm
452 %dir %{perl_vendorarch}/auto/CUPS
453 %{perl_vendorarch}/auto/CUPS/*.bs
454 %{perl_vendorarch}/auto/CUPS/autosplit.ix
455 %attr(755,root,root) %{perl_vendorarch}/auto/CUPS/*.so
460 %defattr(644,root,root,755)
461 %attr(755,root,root) %(php-config --extension-dir)/*
465 %defattr(644,root,root,755)
466 %attr(755,root,root) %{_ulibdir}/cups/backend/usb
468 %files backend-serial
469 %defattr(644,root,root,755)
470 %attr(755,root,root) %{_ulibdir}/cups/backend/serial
472 %files backend-parallel
473 %defattr(644,root,root,755)
474 %attr(755,root,root) %{_ulibdir}/cups/backend/parallel