]> git.pld-linux.org Git - packages/cups.git/blob - cups.spec
- Conflicting types
[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:        4
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 Patch10:        %{name}-rpath.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}
50 Requires(post,preun):   /sbin/chkconfig
51 Requires:       pam >= 0.77.3
52 Conflicts:      ghostscript < 7.05.4
53 Obsoletes:      lpr
54 Obsoletes:      LPRng
55 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
56
57 %define         _ulibdir        %{_prefix}/lib
58
59 %description
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.
70
71 %description -l pl
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.
75
76 %description -l pt_BR
77 O sistema Unix de impressão (CUPS) fornece uma camada de impressão
78 portável para os sistemas operacionais baseados no UNIX®.
79
80 %package lib
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
84 Group:          Libraries
85 Provides:       %{name}-libs = %{epoch}:%{version}-%{release}
86 Obsoletes:      %{name}-libs
87 Obsoletes:      libcups1
88
89 %description lib
90 Common Unix Printing System Libraries.
91
92 %description lib -l pl
93 Biblioteki dla CUPS.
94
95 %description lib -l pt_BR
96 Bibliotecas CUPS requeridas pelos clientes CUPS.
97
98 %package clients
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}
103 Conflicts:      LPRng
104
105 %description clients
106 Common Unix Printing System Clients.
107
108 %description clients -l pl
109 Aplikacje klienckie dla CUPS.
110
111 %package image-lib
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
115 Group:          Libraries
116 Requires:       %{name}-lib = %{epoch}:%{version}-%{release}
117 Obsoletes:      libcups1
118
119 %description image-lib
120 Common Unix Printing System Libraries - images manupalation.
121
122 %description image-lib -l pl
123 Biblioteki dla CUPS - obs³uga formatów graficznych.
124
125 %description image-lib -l pt_BR
126 Bibliotecas CUPS requeridas pelos clientes CUPS.
127
128 %package devel
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}
134 Requires:       %{name}-lib = %{epoch}:%{version}
135 Obsoletes:      libcups1-devel
136
137 %description devel
138 Common Unix Printing System development files.
139
140 %description devel -l pl
141 Popularny System Druku dla Uniksa, pliki nag³ówkowe.
142
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
146 CUPS.
147
148 %package static
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}
154
155 %description static
156 Common Unix Printing System static libraries.
157
158 %description static -l pl
159 Popularny System Druku dla Uniksa, biblioteki statyczne.
160
161 %description static -l pt_BR
162 Bibliotecas estáticas para desenvolvimento de programas que usam as
163 bibliotecas do CUPS.
164
165 %package -n perl-cups
166 Summary:        Perl module for CUPS
167 Summary(pl):    Modu³ Perla CUPS
168 Group:          Development/Languages/Perl
169 Requires:       cups-lib = %{epoch}:%{version}
170
171 %description -n perl-cups
172 Perl module for Common Unix Printing System.
173
174 %description -n perl-cups -l pl
175 Modu³ Perla do Popularnego Systemu Druku dla Uniksa.
176
177 %package -n php-cups
178 Summary:        PHP module for CUPS
179 Summary(pl):    Modu³ PHP CUPS
180 Group:          Development/Languages/PHP
181 Requires:       cups-lib = %{epoch}:%{version}
182
183 %description -n php-cups
184 PHP module for Common Unix Printing System.
185
186 %description -n php-cups -l pl
187 Modu³ PHP do Popularnego Systemu Druku dla Uniksa.
188
189 %package backend-usb
190 Summary:        USB backend for CUPS
191 Summary(pl):    Backend USB dla CUPS-a
192 Group:          Applications/Printing
193 Requires:       cups = %{epoch}:%{version}
194
195 %description backend-usb
196 This package allow CUPS printing on USB printers.
197
198 %description backend-usb -l pl
199 Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach USB.
200
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:       cups = %{epoch}:%{version}
206
207 %description backend-serial
208 This package allow CUPS printing on printers connected by serial
209 ports.
210
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.
214
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:       cups = %{epoch}:%{version}
220
221 %description backend-parallel
222 This package allow CUPS printing on printers connected by parallel
223 ports.
224
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.
228
229 %prep
230 %setup -q -n %{name}-%{version}%{rcver}
231 %patch0 -p1
232 %patch1 -p1
233 # wtf?
234 #%patch2 -p1
235 %patch3 -p1
236 %patch4 -p1
237 %patch5 -p1
238 %patch6 -p1
239 %patch7 -p1
240 %patch8 -p1
241 %patch9 -p1
242 %patch10 -p1
243
244 %build
245 %{__aclocal}
246 %{__autoconf}
247 %configure \
248         --libdir=%{_ulibdir} \
249         --with-docdir=%{_ulibdir}/%{name}/cgi-bin
250 %{__make}
251
252 perl -pi -e 's#-I\.\.\/\.\.#-I../.. -I../../cups#g' scripting/php/Makefile
253 %{?with_php:%{__make} -C scripting/php}
254
255 %if %{with perl}
256 cd scripting/perl
257 %{__perl} -pi -e 's@-lcups@-L../../cups $1@' Makefile.PL
258 %{__perl} Makefile.PL \
259         INSTALLDIRS=vendor \
260         OPTIMIZE="%{rpmcflags} -I../.."
261 # avoid rpaths generated by MakeMaker
262 perl -pi -e 's@LD_RUN_PATH="\$\(LD_RUN_PATH\)" @@' Makefile
263
264 %{__make}
265 cd ../..
266 %endif
267
268 %install
269 rm -rf $RPM_BUILD_ROOT
270 install -d $RPM_BUILD_ROOT/etc/{{rc.d/init.d,pam.d,logrotate.d},security} \
271         $RPM_BUILD_ROOT/var/log/{,archiv/}cups
272
273 %{__make} install \
274         DESTDIR=$RPM_BUILD_ROOT
275
276 if [ "%{_lib}" != "lib" ] ; then
277         install -d $RPM_BUILD_ROOT%{_libdir}
278         mv $RPM_BUILD_ROOT%{_ulibdir}/*.so* $RPM_BUILD_ROOT%{_libdir}
279         mv $RPM_BUILD_ROOT%{_ulibdir}/*.a $RPM_BUILD_ROOT%{_libdir}
280 fi
281
282 %if %{with php}
283 %{__make} -C scripting/php install \
284         PHPDIR="$RPM_BUILD_ROOT`php-config --extension-dir`"
285 %endif
286
287 %if %{with perl}
288 cd scripting/perl
289 %{__make} install \
290         DESTDIR=$RPM_BUILD_ROOT
291 cd ../..
292 %endif
293
294 install %{SOURCE1}      $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
295 install %{SOURCE2}      $RPM_BUILD_ROOT/etc/pam.d/%{name}
296 install %{SOURCE3}      $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
297
298 # for internal http browser:
299 cp doc/*.html   $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin
300 cp doc/*.css    $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin
301 cp doc/images/* $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin/images
302
303 touch $RPM_BUILD_ROOT/var/log/cups/{access_log,error_log,page_log}
304 touch $RPM_BUILD_ROOT/etc/security/blacklist.cups
305
306 # check-files cleanup
307 rm -rf $RPM_BUILD_ROOT%{_mandir}/{,fr/}cat?
308
309 %clean
310 rm -rf $RPM_BUILD_ROOT
311
312 %post
313 /sbin/chkconfig --add cups
314 if [ -f /var/lock/subsys/cups ]; then
315         /etc/rc.d/init.d/cups restart 1>&2
316 else
317         echo "Run \"/etc/rc.d/init.d/cups start\" to start cups daemon."
318 fi
319
320 %preun
321 if [ "$1" = "0" ]; then
322         if [ -f /var/lock/subsys/cups ]; then
323                 /etc/rc.d/init.d/cups stop 1>&2
324         fi
325         /sbin/chkconfig --del cups
326 fi
327
328 %post   lib -p /sbin/ldconfig
329 %postun lib -p /sbin/ldconfig
330 %post   image-lib -p /sbin/ldconfig
331 %postun image-lib -p /sbin/ldconfig
332
333 %files
334 %defattr(644,root,root,755)
335 #%doc *.gz doc/*.html doc/*.css doc/images
336 %doc *.txt
337 %attr(640,root,root) %config %verify(not size mtime md5) /etc/pam.d/*
338 %attr(754,root,root) /etc/rc.d/init.d/cups
339 %dir %{_sysconfdir}/%{name}
340 %attr(640,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/classes.conf
341 %attr(640,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/cupsd.conf
342 %attr(640,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/printers.conf
343 %attr(640,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/*.convs
344 %attr(640,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/*.types
345 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.cups
346 %dir %{_sysconfdir}/%{name}/certs
347 %dir %{_sysconfdir}/%{name}/interfaces
348 %dir %{_sysconfdir}/%{name}/ppd
349 %attr(644,root,root) /etc/logrotate.d/%{name}
350 %attr(4755,lp,root) %{_bindir}/lppasswd
351 %attr(755,root,root) %{_bindir}/cupstestppd
352 %attr(755,root,root) %{_bindir}/disable
353 %attr(755,root,root) %{_bindir}/enable
354 %dir %{_ulibdir}/cups
355 %dir %{_ulibdir}/cups/*
356 %attr(755,root,root) %{_ulibdir}/cups/*/*
357 %exclude %{_ulibdir}/cups/backend/usb
358 %exclude %{_ulibdir}/cups/backend/serial
359 %exclude %{_ulibdir}/cups/backend/parallel
360 %attr(755,root,root) %{_sbindir}/cupsd
361 %{_datadir}/cups
362 %{_mandir}/man1/backend.1*
363 %{_mandir}/man1/cupstestppd.1*
364 %{_mandir}/man1/filter.1*
365 %{_mandir}/man1/lppasswd.1*
366 %{_mandir}/man[58]/*
367 %lang(fr) %{_mandir}/fr/man1/backend.1*
368 %lang(fr) %{_mandir}/fr/man1/cupstestppd.1*
369 %lang(fr) %{_mandir}/fr/man1/filter.1*
370 %lang(fr) %{_mandir}/fr/man1/lppasswd.1*
371 %lang(fr) %{_mandir}/fr/man[58]/*
372 %{_datadir}/locale/C/cups_C
373 %lang(be) %{_datadir}/locale/be/cups_be
374 %lang(cs) %{_datadir}/locale/cs/cups_cs
375 %lang(de) %{_datadir}/locale/de/cups_de
376 %{_datadir}/locale/en/cups_en
377 %lang(en_US) %{_datadir}/locale/en_US/cups_en_US
378 %lang(es) %{_datadir}/locale/es/cups_es
379 %lang(fr) %{_datadir}/locale/fr/cups_fr
380 %lang(he) %{_datadir}/locale/he/cups_he
381 %lang(it) %{_datadir}/locale/it/cups_it
382 %lang(ru) %{_datadir}/locale/ru_RU/cups_ru_RU
383 %lang(sv) %{_datadir}/locale/sv/cups_sv
384 %lang(uk) %{_datadir}/locale/uk/cups_uk
385 %lang(uk) %{_datadir}/locale/uk_UA/cups_uk_UA
386 %lang(zh_CN) %{_datadir}/locale/zh_CN/cups_zh_CN
387 /var/spool/cups
388 %attr(750,root,root) %dir /var/log/archiv/cups
389 %attr(750,root,root) %dir /var/log/cups
390 %attr(640,root,root) %ghost /var/log/cups/access_log
391 %attr(640,root,root) %ghost /var/log/cups/error_log
392 %attr(640,root,root) %ghost /var/log/cups/page_log
393
394 %files lib
395 %defattr(644,root,root,755)
396 %attr(755,root,root) %{_libdir}/libcups.so.*
397
398 %files clients
399 %defattr(644,root,root,755)
400 %attr(644,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/client.conf
401 %attr(755,root,root) %{_bindir}/cancel
402 %attr(755,root,root) %{_bindir}/lp
403 %attr(755,root,root) %{_bindir}/lpoptions
404 %attr(755,root,root) %{_bindir}/lpq
405 %attr(755,root,root) %{_bindir}/lpr
406 %attr(755,root,root) %{_bindir}/lprm
407 %attr(755,root,root) %{_bindir}/lpstat
408 %attr(755,root,root) %{_sbindir}/accept
409 %attr(755,root,root) %{_sbindir}/cupsaddsmb
410 %attr(755,root,root) %{_sbindir}/lpadmin
411 %attr(755,root,root) %{_sbindir}/lpc
412 %attr(755,root,root) %{_sbindir}/lpinfo
413 %attr(755,root,root) %{_sbindir}/lpmove
414 %attr(755,root,root) %{_sbindir}/reject
415 %{_mandir}/man1/cancel.1*
416 %{_mandir}/man1/lp.1*
417 %{_mandir}/man1/lpoptions.1*
418 %{_mandir}/man1/lpq.1*
419 %{_mandir}/man1/lpr.1*
420 %{_mandir}/man1/lprm.1*
421 %{_mandir}/man1/lpstat.1*
422 %lang(fr) %{_mandir}/fr/man1/cancel.1*
423 %lang(fr) %{_mandir}/fr/man1/lp.1*
424 %lang(fr) %{_mandir}/fr/man1/lpoptions.1*
425 %lang(fr) %{_mandir}/fr/man1/lpq.1*
426 %lang(fr) %{_mandir}/fr/man1/lpr.1*
427 %lang(fr) %{_mandir}/fr/man1/lprm.1*
428 %lang(fr) %{_mandir}/fr/man1/lpstat.1*
429
430 %files image-lib
431 %defattr(644,root,root,755)
432 %attr(755,root,root) %{_libdir}/libcupsimage.so.*
433
434 %files devel
435 %defattr(644,root,root,755)
436 %attr(755,root,root) %{_bindir}/cups-config
437 %{_includedir}/cups
438 %{_libdir}/lib*.so
439 %{_mandir}/man3/*
440 %lang(fr) %{_mandir}/fr/man3/*
441
442 %files static
443 %defattr(644,root,root,755)
444 %{_libdir}/*.a
445
446 %if %{with perl}
447 %files -n perl-cups
448 %defattr(644,root,root,755)
449 %{perl_vendorarch}/*.pm
450 %dir %{perl_vendorarch}/auto/CUPS
451 %{perl_vendorarch}/auto/CUPS/*.bs
452 %{perl_vendorarch}/auto/CUPS/autosplit.ix
453 %attr(755,root,root) %{perl_vendorarch}/auto/CUPS/*.so
454 %endif
455
456 %if %{with php}
457 %files -n php-cups
458 %defattr(644,root,root,755)
459 %attr(755,root,root) %(php-config --extension-dir)/*
460 %endif
461
462 %files backend-usb
463 %defattr(644,root,root,755)
464 %attr(755,root,root) %{_ulibdir}/cups/backend/usb
465
466 %files backend-serial
467 %defattr(644,root,root,755)
468 %attr(755,root,root) %{_ulibdir}/cups/backend/serial
469
470 %files backend-parallel
471 %defattr(644,root,root,755)
472 %attr(755,root,root) %{_ulibdir}/cups/backend/parallel
This page took 0.140047 seconds and 3 git commands to generate.