]> git.pld-linux.org Git - packages/cups.git/blob - cups.spec
- new style bcond
[packages/cups.git] / cups.spec
1 #
2 # Conditional build:
3 %bcond_without php      # don't build php extension
4 %bcond_without perl     # don't build perl extension
5 #
6 # TODO:
7 # - register php module
8 # - build/install java ext ?
9 # - perl BRs
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
14 Name:           cups
15 %define rcver   %{nil}
16 Version:        1.1.20
17 Release:        2.1
18 Epoch:          1
19 License:        GPL/LGPL
20 Group:          Applications/Printing
21 Source0:        ftp://ftp.easysw.com/pub/%{name}/%{version}%{rcver}/%{name}-%{version}%{rcver}-source.tar.bz2
22 # Source0-md5:  09d0be2bad1b0617bc0eba6eef81f6e9
23 Source1:        %{name}.init
24 Source2:        %{name}.pamd
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
52 Obsoletes:      lpr
53 Obsoletes:      LPRng
54 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
55
56 %define         _ulibdir        %{_prefix}/lib
57
58 %description
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.
69
70 %description -l pl
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.
74
75 %description -l pt_BR
76 O sistema Unix de impressão (CUPS) fornece uma camada de impressão
77 portável para os sistemas operacionais baseados no UNIX®.
78
79 %package lib
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
83 Group:          Libraries
84 Provides:       %{name}-libs = %{epoch}:%{version}-%{release}
85 Obsoletes:      %{name}-libs
86 Obsoletes:      libcups1
87
88 %description lib
89 Common Unix Printing System Libraries.
90
91 %description lib -l pl
92 Biblioteki dla CUPS.
93
94 %description lib -l pt_BR
95 Bibliotecas CUPS requeridas pelos clientes CUPS.
96
97 %package clients
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}
102 Conflicts:      LPRng
103
104 %description clients
105 Common Unix Printing System Clients.
106
107 %description clients -l pl
108 Aplikacje klienckie dla CUPS.
109
110 %package image-lib
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
114 Group:          Libraries
115 Requires:       %{name}-lib = %{epoch}:%{version}-%{release}
116 Obsoletes:      libcups1
117
118 %description image-lib
119 Common Unix Printing System Libraries - images manupalation.
120
121 %description image-lib -l pl
122 Biblioteki dla CUPS - obs³uga formatów graficznych.
123
124 %description image-lib -l pt_BR
125 Bibliotecas CUPS requeridas pelos clientes CUPS.
126
127 %package devel
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
135
136 %description devel
137 Common Unix Printing System development files.
138
139 %description devel -l pl
140 Popularny System Druku dla Uniksa, pliki nag³ówkowe.
141
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
145 CUPS.
146
147 %package static
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}
153
154 %description static
155 Common Unix Printing System static libraries.
156
157 %description static -l pl
158 Popularny System Druku dla Uniksa, biblioteki statyczne.
159
160 %description static -l pt_BR
161 Bibliotecas estáticas para desenvolvimento de programas que usam as
162 bibliotecas do CUPS.
163
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}
169
170 %description -n perl-cups
171 Perl module for Common Unix Printing System.
172
173 %description -n perl-cups -l pl
174 Modu³ Perla do Popularnego Systemu Druku dla Uniksa.
175
176 %package -n php-cups
177 Summary:        PHP module for CUPS
178 Summary(pl):    Modu³ PHP CUPS
179 Group:          Development/Languages/PHP
180 Requires:       cups-lib = %{epoch}:%{version}
181
182 %description -n php-cups
183 PHP module for Common Unix Printing System.
184
185 %description -n php-cups -l pl
186 Modu³ PHP do Popularnego Systemu Druku dla Uniksa.
187
188 %package backend-usb
189 Summary:        USB backend for CUPS
190 Summary(pl):    Backend USB dla CUPS-a
191 Group:          Applications/Printing
192 Requires:       cups = %{epoch}:%{version}
193
194 %description backend-usb
195 This package allow CUPS printing on USB printers.
196
197 %description backend-usb -l pl
198 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach USB.
199
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}
205
206 %description backend-serial
207 This package allow CUPS printing on printers connected by serial
208 ports.
209
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.
213
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}
219
220 %description backend-parallel
221 This package allow CUPS printing on printers connected by parallel
222 ports.
223
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.
227
228 %prep
229 %setup -q -n %{name}-%{version}%{rcver}
230 %patch0 -p1
231 %patch1 -p1
232 # wtf?
233 #%patch2 -p1
234 %patch3 -p1
235 %patch4 -p1
236 %patch5 -p1
237 %patch6 -p1
238 %patch7 -p1
239 %patch8 -p1
240 %patch9 -p1
241
242 %build
243 %{__aclocal}
244 %{__autoconf}
245 %configure \
246         --libdir=%{_ulibdir} \
247         --with-docdir=%{_ulibdir}/%{name}/cgi-bin
248 %{__make}
249
250 perl -pi -e 's#-I\.\.\/\.\.#-I../.. -I../../cups#g' scripting/php/Makefile
251 %{?!_without_php:%{__make} -C scripting/php}
252
253 %if 0%{?!_without_perl:1}
254 cd scripting/perl
255 %{__perl} -pi -e 's@-lcups@-L../../cups $1@' Makefile.PL
256 %{__perl} Makefile.PL \
257         INSTALLDIRS=vendor \
258         OPTIMIZE="%{rpmcflags} -I../.."
259 # avoid rpaths generated by MakeMaker
260 perl -pi -e 's@LD_RUN_PATH="\$\(LD_RUN_PATH\)" @@' Makefile
261
262 %{__make}
263 cd ../..
264 %endif
265
266 %install
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
270
271 %{__make} install \
272         DESTDIR=$RPM_BUILD_ROOT
273
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}
278 fi
279
280 %if 0%{?!_without_php:1}
281 %{__make} -C scripting/php install \
282         PHPDIR="$RPM_BUILD_ROOT`php-config --extension-dir`"
283 %endif
284
285 %if 0%{?!_without_perl:1}
286 cd scripting/perl
287 %{__make} install \
288         DESTDIR=$RPM_BUILD_ROOT
289 cd ../..
290 %endif
291
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}
295
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
300
301 touch $RPM_BUILD_ROOT/var/log/cups/{access_log,error_log,page_log}
302 touch $RPM_BUILD_ROOT/etc/security/blacklist.cups
303
304 # check-files cleanup
305 rm -rf $RPM_BUILD_ROOT%{_mandir}/{,fr/}cat?
306
307 %clean
308 rm -rf $RPM_BUILD_ROOT
309
310 %post
311 /sbin/chkconfig --add cups
312 if [ -f /var/lock/subsys/cups ]; then
313         /etc/rc.d/init.d/cups restart 1>&2
314 else
315         echo "Run \"/etc/rc.d/init.d/cups start\" to start cups daemon."
316 fi
317
318 %preun
319 if [ "$1" = "0" ]; then
320         if [ -f /var/lock/subsys/cups ]; then
321                 /etc/rc.d/init.d/cups stop 1>&2
322         fi
323         /sbin/chkconfig --del cups
324 fi
325
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
330
331 %files
332 %defattr(644,root,root,755)
333 #%doc *.gz doc/*.html doc/*.css doc/images
334 %doc *.txt
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
359 %{_datadir}/cups
360 %{_mandir}/man1/backend.1*
361 %{_mandir}/man1/cupstestppd.1*
362 %{_mandir}/man1/filter.1*
363 %{_mandir}/man1/lppasswd.1*
364 %{_mandir}/man[58]/*
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
385 /var/spool/cups
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
391
392 %files lib
393 %defattr(644,root,root,755)
394 %attr(755,root,root) %{_libdir}/libcups.so.*
395
396 %files clients
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*
427
428 %files image-lib
429 %defattr(644,root,root,755)
430 %attr(755,root,root) %{_libdir}/libcupsimage.so.*
431
432 %files devel
433 %defattr(644,root,root,755)
434 %attr(755,root,root) %{_bindir}/cups-config
435 %{_includedir}/cups
436 %{_libdir}/lib*.so
437 %{_mandir}/man3/*
438 %lang(fr) %{_mandir}/fr/man3/*
439
440 %files static
441 %defattr(644,root,root,755)
442 %{_libdir}/*.a
443
444 %if 0%{?!_without_perl:1}
445 %files -n perl-cups
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
452 %endif
453
454 %if 0%{?!_without_php:1}
455 %files -n php-cups
456 %defattr(644,root,root,755)
457 %attr(755,root,root) %(php-config --extension-dir)/*
458 %endif
459
460 %files backend-usb
461 %defattr(644,root,root,755)
462 %attr(755,root,root) %{_ulibdir}/cups/backend/usb
463
464 %files backend-serial
465 %defattr(644,root,root,755)
466 %attr(755,root,root) %{_ulibdir}/cups/backend/serial
467
468 %files backend-parallel
469 %defattr(644,root,root,755)
470 %attr(755,root,root) %{_ulibdir}/cups/backend/parallel
This page took 0.065734 seconds and 4 git commands to generate.