3 # _without_php don't build php extension
4 # _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
20 Group: Applications/Printing
21 Source0: ftp://ftp.easysw.com/pub/%{name}/%{version}%{rcver}/%{name}-%{version}%{rcver}-source.tar.bz2
22 # Source0-md5: 09d0be2bad1b0617bc0eba6eef81f6e9
25 Source3: %{name}.logrotate
26 Patch0: %{name}-DESTDIR.patch
27 Patch1: %{name}-config.patch
28 Patch2: %{name}-tmpdir.patch
29 Patch3: %{name}-lp-lpr.patch
30 Patch4: %{name}-options.patch
31 Patch5: %{name}-ENCRYPTIONtxt.patch
32 Patch6: %{name}-man_pages_linking.patch
33 Patch7: %{name}-nolibs.patch
34 Patch8: %{name}-chown.patch
35 Patch9: %{name}-nostrip.patch
36 URL: http://www.cups.org/
37 BuildRequires: autoconf
38 BuildRequires: automake
39 BuildRequires: libjpeg-devel
40 BuildRequires: libpng-devel
41 BuildRequires: libtiff-devel
42 BuildRequires: openslp-devel
43 BuildRequires: openssl-devel >= 0.9.7c
44 BuildRequires: pam-devel
45 %{?!_without_php:BuildRequires: php-devel}
46 BuildRequires: pkgconfig
47 BuildRequires: rpm-perlprov
48 PreReq: %{name}-libs = %{epoch}:%{version}
49 Requires(post,preun): /sbin/chkconfig
50 Requires: pam >= 0.77.3
51 Conflicts: ghostscript < 7.05.4
54 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
56 %define _ulibdir %{_prefix}/lib
59 CUPS provides a portable printing layer for UNIX®-based operating
60 systems. It has been developed by Easy Software Products to promote a
61 standard printing solution for all UNIX vendors and users. CUPS
62 provides the System V and Berkeley command-line interfaces. CUPS uses
63 the Internet Printing Protocol ("IPP") as the basis for managing print
64 jobs and queues. The Line Printer Daemon ("LPD") Server Message Block
65 ("SMB"), and AppSocket (a.k.a. JetDirect) protocols are also supported
66 with reduced functionality. CUPS adds network printer browsing and
67 PostScript Printer Description ("PPD") based printing options to
68 support real-world printing under UNIX.
71 CUPS dostarcza standardowy poziom drukowania dla systemów uniksowych.
72 CUPS u¿ywa protoko³u IPP - Internet Printint Protocol jako podstawy do
73 zarz±dzania zadaniami i kolejkami druku.
76 O sistema Unix de impressão (CUPS) fornece uma camada de impressão
77 portável para os sistemas operacionais baseados no UNIX®.
80 Summary: Common Unix Printing System Libraries
81 Summary(pl): Biblioteki dla CUPS
82 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
84 Provides: %{name}-libs = %{epoch}:%{version}-%{release}
85 Obsoletes: %{name}-libs
89 Common Unix Printing System Libraries.
91 %description lib -l pl
94 %description lib -l pt_BR
95 Bibliotecas CUPS requeridas pelos clientes CUPS.
98 Summary: Common Unix Printing System Clients
99 Summary(pl): Aplikacje klienckie dla CUPS
100 Group: Applications/Printing
101 Provides: %{name}-clients = %{epoch}:%{version}-%{release}
105 Common Unix Printing System Clients.
107 %description clients -l pl
108 Aplikacje klienckie dla CUPS.
111 Summary: Common Unix Printing System Libraries - images manipulation
112 Summary(pl): Biblioteki dla CUPS - obs³uga formatów graficznych
113 Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
115 Requires: %{name}-lib = %{epoch}:%{version}-%{release}
118 %description image-lib
119 Common Unix Printing System Libraries - images manupalation.
121 %description image-lib -l pl
122 Biblioteki dla CUPS - obs³uga formatów graficznych.
124 %description image-lib -l pt_BR
125 Bibliotecas CUPS requeridas pelos clientes CUPS.
128 Summary: Common Unix Printing System development files
129 Summary(pl): Popularny System Druku dla Uniksa, pliki nag³ówkowe
130 Summary(pt_BR): Sistema Unix de Impressão - ambiente de desenvolvimento
131 Group: Development/Libraries
132 Requires: %{name}-image-lib = %{epoch}:%{version}
133 Requires: %{name}-lib = %{epoch}:%{version}
134 Obsoletes: libcups1-devel
137 Common Unix Printing System development files.
139 %description devel -l pl
140 Popularny System Druku dla Uniksa, pliki nag³ówkowe.
142 %description devel -l pt_BR
143 Este pacote é um adicional que contem um ambiente de desenvolvimento
144 para a criação de suporte a novas impressoras e novos serviços ao
148 Summary: Common Unix Printing System static libraries
149 Summary(pl): Popularny System Druku dla Uniksa, biblioteki statyczne
150 Summary(pt_BR): Common Unix Printing System - bibliotecas estáticas
151 Group: Development/Libraries
152 Requires: %{name}-devel = %{epoch}:%{version}
155 Common Unix Printing System static libraries.
157 %description static -l pl
158 Popularny System Druku dla Uniksa, biblioteki statyczne.
160 %description static -l pt_BR
161 Bibliotecas estáticas para desenvolvimento de programas que usam as
164 %package -n perl-cups
165 Summary: Perl module for CUPS
166 Summary(pl): Modu³ Perla CUPS
167 Group: Development/Languages/Perl
168 Requires: cups-lib = %{epoch}:%{version}
170 %description -n perl-cups
171 Perl module for Common Unix Printing System.
173 %description -n perl-cups -l pl
174 Modu³ Perla do Popularnego Systemu Druku dla Uniksa.
177 Summary: PHP module for CUPS
178 Summary(pl): Modu³ PHP CUPS
179 Group: Development/Languages/PHP
180 Requires: cups-lib = %{epoch}:%{version}
182 %description -n php-cups
183 PHP module for Common Unix Printing System.
185 %description -n php-cups -l pl
186 Modu³ PHP do Popularnego Systemu Druku dla Uniksa.
189 Summary: USB backend for CUPS
190 Summary(pl): Backend USB dla CUPS-a
191 Group: Applications/Printing
192 Requires: cups = %{epoch}:%{version}
194 %description backend-usb
195 This package allow CUPS printing on USB printers.
197 %description backend-usb -l pl
198 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach USB.
200 %package backend-serial
201 Summary: Serial port backend for CUPS
202 Summary(pl): Backend obs³uguj±cy porty szeregowe dla CUPS-a
203 Group: Applications/Printing
204 Requires: cups = %{epoch}:%{version}
206 %description backend-serial
207 This package allow CUPS printing on printers connected by serial
210 %description backend-serial -l pl
211 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
212 pod³±czonych do portów szeregowych.
214 %package backend-parallel
215 Summary: Parallel port backend for CUPS
216 Summary(pl): Backend obs³uguj±cy porty równoleg³e dla CUPS-a
217 Group: Applications/Printing
218 Requires: cups = %{epoch}:%{version}
220 %description backend-parallel
221 This package allow CUPS printing on printers connected by parallel
224 %description backend-parallel -l pl
225 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
226 pod³±czonych do portów równoleg³ych.
229 %setup -q -n %{name}-%{version}%{rcver}
246 --libdir=%{_ulibdir} \
247 --with-docdir=%{_ulibdir}/%{name}/cgi-bin
250 perl -pi -e 's#-I\.\.\/\.\.#-I../.. -I../../cups#g' scripting/php/Makefile
251 %{?!_without_php:%{__make} -C scripting/php}
253 %if 0%{?!_without_perl:1}
255 %{__perl} -pi -e 's@-lcups@-L../../cups $1@' Makefile.PL
256 %{__perl} Makefile.PL \
258 OPTIMIZE="%{rpmcflags} -I../.."
259 # avoid rpaths generated by MakeMaker
260 perl -pi -e 's@LD_RUN_PATH="\$\(LD_RUN_PATH\)" @@' Makefile
267 rm -rf $RPM_BUILD_ROOT
268 install -d $RPM_BUILD_ROOT/etc/{{rc.d/init.d,pam.d,logrotate.d},security} \
269 $RPM_BUILD_ROOT/var/log/{,archiv/}cups
272 DESTDIR=$RPM_BUILD_ROOT
274 if [ "%{_lib}" != "lib" ] ; then
275 install -d $RPM_BUILD_ROOT%{_libdir}
276 mv $RPM_BUILD_ROOT%{_ulibdir}/*.so* $RPM_BUILD_ROOT%{_libdir}
277 mv $RPM_BUILD_ROOT%{_ulibdir}/*.a $RPM_BUILD_ROOT%{_libdir}
280 %if 0%{?!_without_php:1}
281 %{__make} -C scripting/php install \
282 PHPDIR="$RPM_BUILD_ROOT`php-config --extension-dir`"
285 %if 0%{?!_without_perl:1}
288 DESTDIR=$RPM_BUILD_ROOT
292 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
293 install %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/%{name}
294 install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
296 # for internal http browser:
297 cp doc/*.html $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin
298 cp doc/*.css $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin
299 cp doc/images/* $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin/images
301 touch $RPM_BUILD_ROOT/var/log/cups/{access_log,error_log,page_log}
302 touch $RPM_BUILD_ROOT/etc/security/blacklist.cups
304 # check-files cleanup
305 rm -rf $RPM_BUILD_ROOT%{_mandir}/{,fr/}cat?
308 rm -rf $RPM_BUILD_ROOT
311 /sbin/chkconfig --add cups
312 if [ -f /var/lock/subsys/cups ]; then
313 /etc/rc.d/init.d/cups restart 1>&2
315 echo "Run \"/etc/rc.d/init.d/cups start\" to start cups daemon."
319 if [ "$1" = "0" ]; then
320 if [ -f /var/lock/subsys/cups ]; then
321 /etc/rc.d/init.d/cups stop 1>&2
323 /sbin/chkconfig --del cups
326 %post lib -p /sbin/ldconfig
327 %postun lib -p /sbin/ldconfig
328 %post image-lib -p /sbin/ldconfig
329 %postun image-lib -p /sbin/ldconfig
332 %defattr(644,root,root,755)
333 #%doc *.gz doc/*.html doc/*.css doc/images
335 %attr(640,root,root) %config %verify(not size mtime md5) /etc/pam.d/*
336 %attr(754,root,root) /etc/rc.d/init.d/cups
337 %dir %{_sysconfdir}/%{name}
338 %attr(640,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/classes.conf
339 %attr(640,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/cupsd.conf
340 %attr(640,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/printers.conf
341 %attr(640,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/*.convs
342 %attr(640,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/*.types
343 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.cups
344 %dir %{_sysconfdir}/%{name}/certs
345 %dir %{_sysconfdir}/%{name}/interfaces
346 %dir %{_sysconfdir}/%{name}/ppd
347 %attr(644,root,root) /etc/logrotate.d/%{name}
348 %attr(4755,lp,root) %{_bindir}/lppasswd
349 %attr(755,root,root) %{_bindir}/cupstestppd
350 %attr(755,root,root) %{_bindir}/disable
351 %attr(755,root,root) %{_bindir}/enable
352 %dir %{_ulibdir}/cups
353 %dir %{_ulibdir}/cups/*
354 %attr(755,root,root) %{_ulibdir}/cups/*/*
355 %exclude %{_ulibdir}/cups/backend/usb
356 %exclude %{_ulibdir}/cups/backend/serial
357 %exclude %{_ulibdir}/cups/backend/parallel
358 %attr(755,root,root) %{_sbindir}/cupsd
360 %{_mandir}/man1/backend.1*
361 %{_mandir}/man1/cupstestppd.1*
362 %{_mandir}/man1/filter.1*
363 %{_mandir}/man1/lppasswd.1*
365 %lang(fr) %{_mandir}/fr/man1/backend.1*
366 %lang(fr) %{_mandir}/fr/man1/cupstestppd.1*
367 %lang(fr) %{_mandir}/fr/man1/filter.1*
368 %lang(fr) %{_mandir}/fr/man1/lppasswd.1*
369 %lang(fr) %{_mandir}/fr/man[58]/*
370 %{_datadir}/locale/C/cups_C
371 %lang(be) %{_datadir}/locale/be/cups_be
372 %lang(cs) %{_datadir}/locale/cs/cups_cs
373 %lang(de) %{_datadir}/locale/de/cups_de
374 %{_datadir}/locale/en/cups_en
375 %lang(en_US) %{_datadir}/locale/en_US/cups_en_US
376 %lang(es) %{_datadir}/locale/es/cups_es
377 %lang(fr) %{_datadir}/locale/fr/cups_fr
378 %lang(he) %{_datadir}/locale/he/cups_he
379 %lang(it) %{_datadir}/locale/it/cups_it
380 %lang(ru) %{_datadir}/locale/ru_RU/cups_ru_RU
381 %lang(sv) %{_datadir}/locale/sv/cups_sv
382 %lang(uk) %{_datadir}/locale/uk/cups_uk
383 %lang(uk) %{_datadir}/locale/uk_UA/cups_uk_UA
384 %lang(zh_CN) %{_datadir}/locale/zh_CN/cups_zh_CN
386 %attr(750,root,root) %dir /var/log/archiv/cups
387 %attr(750,root,root) %dir /var/log/cups
388 %attr(640,root,root) %ghost /var/log/cups/access_log
389 %attr(640,root,root) %ghost /var/log/cups/error_log
390 %attr(640,root,root) %ghost /var/log/cups/page_log
393 %defattr(644,root,root,755)
394 %attr(755,root,root) %{_libdir}/libcups.so.*
397 %defattr(644,root,root,755)
398 %attr(644,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/client.conf
399 %attr(755,root,root) %{_bindir}/cancel
400 %attr(755,root,root) %{_bindir}/lp
401 %attr(755,root,root) %{_bindir}/lpoptions
402 %attr(755,root,root) %{_bindir}/lpq
403 %attr(755,root,root) %{_bindir}/lpr
404 %attr(755,root,root) %{_bindir}/lprm
405 %attr(755,root,root) %{_bindir}/lpstat
406 %attr(755,root,root) %{_sbindir}/accept
407 %attr(755,root,root) %{_sbindir}/cupsaddsmb
408 %attr(755,root,root) %{_sbindir}/lpadmin
409 %attr(755,root,root) %{_sbindir}/lpc
410 %attr(755,root,root) %{_sbindir}/lpinfo
411 %attr(755,root,root) %{_sbindir}/lpmove
412 %attr(755,root,root) %{_sbindir}/reject
413 %{_mandir}/man1/cancel.1*
414 %{_mandir}/man1/lp.1*
415 %{_mandir}/man1/lpoptions.1*
416 %{_mandir}/man1/lpq.1*
417 %{_mandir}/man1/lpr.1*
418 %{_mandir}/man1/lprm.1*
419 %{_mandir}/man1/lpstat.1*
420 %lang(fr) %{_mandir}/fr/man1/cancel.1*
421 %lang(fr) %{_mandir}/fr/man1/lp.1*
422 %lang(fr) %{_mandir}/fr/man1/lpoptions.1*
423 %lang(fr) %{_mandir}/fr/man1/lpq.1*
424 %lang(fr) %{_mandir}/fr/man1/lpr.1*
425 %lang(fr) %{_mandir}/fr/man1/lprm.1*
426 %lang(fr) %{_mandir}/fr/man1/lpstat.1*
429 %defattr(644,root,root,755)
430 %attr(755,root,root) %{_libdir}/libcupsimage.so.*
433 %defattr(644,root,root,755)
434 %attr(755,root,root) %{_bindir}/cups-config
438 %lang(fr) %{_mandir}/fr/man3/*
441 %defattr(644,root,root,755)
444 %if 0%{?!_without_perl:1}
446 %defattr(644,root,root,755)
447 %{perl_vendorarch}/*.pm
448 %dir %{perl_vendorarch}/auto/CUPS
449 %{perl_vendorarch}/auto/CUPS/*.bs
450 %{perl_vendorarch}/auto/CUPS/autosplit.ix
451 %attr(755,root,root) %{perl_vendorarch}/auto/CUPS/*.so
454 %if 0%{?!_without_php:1}
456 %defattr(644,root,root,755)
457 %attr(755,root,root) %(php-config --extension-dir)/*
461 %defattr(644,root,root,755)
462 %attr(755,root,root) %{_ulibdir}/cups/backend/usb
464 %files backend-serial
465 %defattr(644,root,root,755)
466 %attr(755,root,root) %{_ulibdir}/cups/backend/serial
468 %files backend-parallel
469 %defattr(644,root,root,755)
470 %attr(755,root,root) %{_ulibdir}/cups/backend/parallel