]> git.ipfire.org Git - thirdparty/cups.git/blob - packaging/cups.spec.in
Bring back RPM test script, tweak makesrcdist to work.
[thirdparty/cups.git] / packaging / cups.spec.in
1 #
2 # RPM "spec" file for CUPS.
3 #
4 # Original version by Jason McMullan <jmcc@ontv.com>.
5 #
6 # Copyright 2007-2017 by Apple Inc.
7 # Copyright 1999-2007 by Easy Software Products, all rights reserved.
8 #
9 # These coded instructions, statements, and computer programs are the
10 # property of Apple Inc. and are protected by Federal copyright
11 # law. Distribution and use rights are outlined in the file "LICENSE.txt"
12 # which should have been included with this file. If this file is
13 # file is missing or damaged, see the license at "http://www.cups.org/".
14 #
15
16 # Conditional build options (--with name/--without name):
17 #
18 # dbus - Enable/disable DBUS support (default = enable)
19 # dnssd - Enable/disable DNS-SD support (default = enable)
20 # libusb1 - Enable/disable LIBUSB 1.0 support (default = enable)
21 # static - Enable/disable static libraries (default = enable)
22 # systemd - Enable/disable systemd support (default = enable)
23
24 %{!?_with_dbus: %{!?_without_dbus: %define _with_dbus --with-dbus}}
25 %{?_with_dbus: %define _dbus --enable-dbus}
26 %{!?_with_dbus: %define _dbus --disable-dbus}
27
28 %{!?_with_dnssd: %{!?_without_dnssd: %define _with_dnssd --with-dnssd}}
29 %{?_with_dnssd: %define _dnssd --enable-dnssd}
30 %{!?_with_dnssd: %define _dnssd --disable-dnssd}
31
32 %{!?_with_libusb1: %{!?_without_libusb1: %define _with_libusb1 --with-libusb1}}
33 %{?_with_libusb1: %define _libusb1 --enable-libusb}
34 %{!?_with_libusb1: %define _libusb1 --disable-libusb}
35
36 %{!?_with_static: %{!?_without_static: %define _without_static --without-static}}
37 %{?_with_static: %define _static --enable-static}
38 %{!?_with_static: %define _static --disable-static}
39
40 %{!?_with_systemd: %{!?_without_systemd: %define _with_systemd --with-systemd}}
41 %{?_with_systemd: %define _systemd --enable-systemd}
42 %{!?_with_systemd: %define _systemd --disable-systemd}
43
44 Summary: CUPS
45 Name: cups
46 Version: @CUPS_VERSION@
47 Release: 0
48 Epoch: 1
49 License: GPL
50 Group: System Environment/Daemons
51 Source: http://ftp.cups.org/pub/cups/%{version}/cups-%{version}-source.tar.bz2
52 Url: http://www.cups.org
53 Packager: Anonymous <anonymous@foo.com>
54 Vendor: Apple Inc.
55
56 # Package names are as defined for Red Hat (and clone) distributions
57 BuildRequires: gnutls-devel, pam-devel
58
59 %if %{?_with_dbus:1}%{!?_with_dbus:0}
60 BuildRequires: dbus-devel
61 %endif
62
63 %if %{?_with_dnssd:1}%{!?_with_dnssd:0}
64 BuildRequires: avahi-devel
65 %endif
66
67 %if %{?_with_libusb1:1}%{!?_with_libusb1:0}
68 BuildRequires: libusb-devel >= 1.0
69 %endif
70
71 %if %{?_with_systemd:1}%{!?_with_systemd:0}
72 BuildRequires: systemd-devel
73 %endif
74
75 # Use buildroot so as not to disturb the version already installed
76 BuildRoot: /tmp/%{name}-root
77
78 # Dependencies...
79 Requires: %{name}-libs = %{epoch}:%{version}
80 Obsoletes: lpd, lpr, LPRng
81 Provides: lpd, lpr, LPRng
82 Obsoletes: cups-da, cups-de, cups-es, cups-et, cups-fi, cups-fr, cups-he
83 Obsoletes: cups-id, cups-it, cups-ja, cups-ko, cups-nl, cups-no, cups-pl
84 Obsoletes: cups-pt, cups-ru, cups-sv, cups-zh
85
86 %package devel
87 Summary: CUPS - development environment
88 Group: Development/Libraries
89 Requires: %{name}-libs = %{epoch}:%{version}
90
91 %package libs
92 Summary: CUPS - shared libraries
93 Group: System Environment/Libraries
94 Provides: libcups1
95
96 %package lpd
97 Summary: CUPS - LPD support
98 Group: System Environment/Daemons
99 Requires: %{name} = %{epoch}:%{version} xinetd
100
101 %description
102 CUPS is the standards-based, open source printing system developed by
103 Apple Inc. for macOS® and other UNIX®-like operating systems.
104
105 %description devel
106 This package provides the CUPS headers and development environment.
107
108 %description libs
109 This package provides the CUPS shared libraries.
110
111 %description lpd
112 This package provides LPD client support.
113
114 %prep
115 %setup
116
117 %build
118 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" LDFLAGS="$RPM_OPT_FLAGS" \
119 ./configure %{_dbus} %{_dnssd} %{_libusb1} %{_static}
120 # If we got this far, all prerequisite libraries must be here.
121 make
122
123 %install
124 # Make sure the RPM_BUILD_ROOT directory exists.
125 rm -rf $RPM_BUILD_ROOT
126
127 make BUILDROOT=$RPM_BUILD_ROOT install
128 rm -rf $RPM_BUILD_ROOT/usr/share/cups/banners $RPM_BUILD_ROOT/usr/share/cups/data
129
130 %post
131 /sbin/chkconfig --add cups
132 /sbin/chkconfig cups on
133
134 # Restart cupsd if we are upgrading...
135 if test $1 -gt 1; then
136 /sbin/service cups stop
137 /sbin/service cups start
138 fi
139
140 %post libs
141 /sbin/ldconfig
142
143 %preun
144 if test $1 = 0; then
145 /sbin/service cups stop
146 /sbin/chkconfig --del cups
147 fi
148
149 %postun
150 if test $1 -ge 1; then
151 /sbin/service cups stop
152 /sbin/service cups start
153 fi
154
155 %postun libs
156 /sbin/ldconfig
157
158 %clean
159 rm -rf $RPM_BUILD_ROOT
160
161 %files
162 %docdir /usr/share/doc/cups
163 %defattr(-,root,root)
164 %dir /etc/cups
165 %config(noreplace) /etc/cups/*.conf
166 /etc/cups/cups-files.conf.default
167 /etc/cups/cupsd.conf.default
168 /etc/cups/snmp.conf.default
169 %dir /etc/cups/ppd
170 %attr(0700,root,root) %dir /etc/cups/ssl
171
172 %if %{?_with_dbus:1}%{!?_with_dbus:0}
173 # DBUS
174 /etc/dbus-1/system.d/*
175 %endif
176
177 # PAM
178 %dir /etc/pam.d
179 /etc/pam.d/*
180
181 %if %{?_with_systemd:1}%{!?_with_systemd:0}
182 # SystemD
183 /usr/lib/systemd/system/org.cups.cupsd.*
184
185 %else
186 # Legacy init support on Linux
187 /etc/init.d/*
188 /etc/rc0.d/*
189 /etc/rc2.d/*
190 /etc/rc3.d/*
191 /etc/rc5.d/*
192 %endif
193
194 /usr/bin/cancel
195 /usr/bin/cupstestdsc
196 /usr/bin/cupstestppd
197 /usr/bin/ippfind
198 /usr/bin/ipptool
199 /usr/bin/lp*
200 %dir /usr/lib/cups
201 %dir /usr/lib/cups/backend
202 %if %{?_with_dnssd:1}%{!?_with_dnssd:0}
203 # DNS-SD
204 /usr/lib/cups/backend/dnssd
205 %endif
206 /usr/lib/cups/backend/http
207 /usr/lib/cups/backend/https
208 %attr(0700,root,root) /usr/lib/cups/backend/ipp
209 /usr/lib/cups/backend/ipps
210 %attr(0700,root,root) /usr/lib/cups/backend/lpd
211 /usr/lib/cups/backend/snmp
212 /usr/lib/cups/backend/socket
213 /usr/lib/cups/backend/usb
214 %dir /usr/lib/cups/cgi-bin
215 /usr/lib/cups/cgi-bin/*
216 %dir /usr/lib/cups/daemon
217 /usr/lib/cups/daemon/cups-deviced
218 /usr/lib/cups/daemon/cups-driverd
219 /usr/lib/cups/daemon/cups-exec
220 %dir /usr/lib/cups/driver
221 %dir /usr/lib/cups/filter
222 /usr/lib/cups/filter/*
223 %dir /usr/lib/cups/monitor
224 /usr/lib/cups/monitor/*
225 %dir /usr/lib/cups/notifier
226 /usr/lib/cups/notifier/*
227
228 /usr/sbin/*
229 %dir /usr/share/cups
230 %dir /usr/share/cups/drv
231 /usr/share/cups/drv/*
232 %dir /usr/share/cups/ipptool
233 /usr/share/cups/ipptool/*
234 %dir /usr/share/cups/mime
235 /usr/share/cups/mime/*
236 %dir /usr/share/cups/model
237 %dir /usr/share/cups/ppdc
238 /usr/share/cups/ppdc/*
239 %dir /usr/share/cups/templates
240 /usr/share/cups/templates/*
241 %if %{?_with_libusb1:1}%{!?_with_libusb1:0}
242 # LIBUSB quirks files
243 %dir /usr/share/cups/usb
244 /usr/share/cups/usb/*
245 %endif
246
247 %dir /usr/share/doc/cups
248 /usr/share/doc/cups/*.*
249 %dir /usr/share/doc/cups/help
250 /usr/share/doc/cups/help/accounting.html
251 /usr/share/doc/cups/help/cgi.html
252 /usr/share/doc/cups/help/encryption.html
253 /usr/share/doc/cups/help/glossary.html
254 /usr/share/doc/cups/help/kerberos.html
255 /usr/share/doc/cups/help/license.html
256 /usr/share/doc/cups/help/man-*.html
257 /usr/share/doc/cups/help/network.html
258 /usr/share/doc/cups/help/options.html
259 /usr/share/doc/cups/help/overview.html
260 /usr/share/doc/cups/help/policies.html
261 /usr/share/doc/cups/help/ref-*.html
262 /usr/share/doc/cups/help/security.html
263 /usr/share/doc/cups/help/sharing.html
264 /usr/share/doc/cups/help/translation.html
265 %dir /usr/share/doc/cups/images
266 /usr/share/doc/cups/images/*
267
268 #%dir /usr/share/doc/cups/ca
269 #/usr/share/doc/cups/ca/*
270 #%dir /usr/share/doc/cups/cs
271 #/usr/share/doc/cups/cs/*
272 %dir /usr/share/doc/cups/de
273 /usr/share/doc/cups/de/*
274 %dir /usr/share/doc/cups/es
275 /usr/share/doc/cups/es/*
276 #%dir /usr/share/doc/cups/fr
277 #/usr/share/doc/cups/fr/*
278 %dir /usr/share/doc/cups/ja
279 /usr/share/doc/cups/ja/*
280 %dir /usr/share/doc/cups/pt_BR
281 /usr/share/doc/cups/pt_BR/*
282 %dir /usr/share/doc/cups/ru
283 /usr/share/doc/cups/ru/*
284
285 %dir /usr/share/locale/ca
286 /usr/share/locale/ca/cups_ca.po
287 %dir /usr/share/locale/cs
288 /usr/share/locale/cs/cups_cs.po
289 %dir /usr/share/locale/de
290 /usr/share/locale/de/cups_de.po
291 %dir /usr/share/locale/es
292 /usr/share/locale/es/cups_es.po
293 %dir /usr/share/locale/fr
294 /usr/share/locale/fr/cups_fr.po
295 %dir /usr/share/locale/it
296 /usr/share/locale/it/cups_it.po
297 %dir /usr/share/locale/ja
298 /usr/share/locale/ja/cups_ja.po
299 %dir /usr/share/locale/pt_BR
300 /usr/share/locale/ru/cups_pt_BR.po
301 %dir /usr/share/locale/ru
302 /usr/share/locale/ru/cups_ru.po
303
304 %dir /usr/share/man/man1
305 /usr/share/man/man1/cancel.1.gz
306 /usr/share/man/man1/cups.1.gz
307 /usr/share/man/man1/cupstestdsc.1.gz
308 /usr/share/man/man1/cupstestppd.1.gz
309 /usr/share/man/man1/ippfind.1.gz
310 /usr/share/man/man1/ipptool.1.gz
311 /usr/share/man/man1/lp.1.gz
312 /usr/share/man/man1/lpoptions.1.gz
313 /usr/share/man/man1/lpq.1.gz
314 /usr/share/man/man1/lpr.1.gz
315 /usr/share/man/man1/lprm.1.gz
316 /usr/share/man/man1/lpstat.1.gz
317 %dir /usr/share/man/man5
318 /usr/share/man/man5/*.conf.5.gz
319 /usr/share/man/man5/cupsd-logs.5.gz
320 /usr/share/man/man5/ipptoolfile.5.gz
321 /usr/share/man/man5/mime.*.5.gz
322 %dir /usr/share/man/man8
323 /usr/share/man/man8/accept.8.gz
324 /usr/share/man/man8/cups-deviced.8.gz
325 /usr/share/man/man8/cups-driverd.8.gz
326 /usr/share/man/man8/cups-exec.8.gz
327 /usr/share/man/man8/cups-snmp.8.gz
328 /usr/share/man/man8/cupsaddsmb.8.gz
329 /usr/share/man/man8/cupsaccept.8.gz
330 /usr/share/man/man8/cupsctl.8.gz
331 /usr/share/man/man8/cupsfilter.8.gz
332 /usr/share/man/man8/cupsd.8.gz
333 /usr/share/man/man8/cupsd-helper.8.gz
334 /usr/share/man/man8/cupsdisable.8.gz
335 /usr/share/man/man8/cupsenable.8.gz
336 /usr/share/man/man8/cupsreject.8.gz
337 /usr/share/man/man8/lpadmin.8.gz
338 /usr/share/man/man8/lpc.8.gz
339 /usr/share/man/man8/lpinfo.8.gz
340 /usr/share/man/man8/lpmove.8.gz
341 /usr/share/man/man8/reject.8.gz
342
343 %dir /var/cache/cups
344 %attr(0775,root,sys) %dir /var/cache/cups/rss
345 %dir /var/log/cups
346 %dir /var/run/cups
347 %attr(0711,lp,sys) %dir /var/run/cups/certs
348 %attr(0710,lp,sys) %dir /var/spool/cups
349 %attr(1770,lp,sys) %dir /var/spool/cups/tmp
350
351 # Desktop files
352 /usr/share/applications/*
353 /usr/share/icons/*
354
355 %files devel
356 %defattr(-,root,root)
357 %dir /usr/share/cups/examples
358 /usr/share/cups/examples/*
359 %dir /usr/share/man/man1
360 /usr/share/man/man1/cups-config.1.gz
361 /usr/share/man/man1/ppd*.1.gz
362 %dir /usr/share/man/man5
363 /usr/share/man/man5/ppdcfile.5.gz
364 /usr/share/man/man7/backend.7.gz
365 /usr/share/man/man7/filter.7.gz
366 /usr/share/man/man7/notifier.7.gz
367
368 /usr/bin/cups-config
369 /usr/bin/ppd*
370 %dir /usr/include/cups
371 /usr/include/cups/*
372 /usr/lib*/*.so
373
374 %if %{?_with_static:1}%{!?_with_static:0}
375 /usr/lib*/*.a
376 %endif
377
378 %dir /usr/share/doc/cups/help
379 /usr/share/doc/cups/help/api*.html
380 /usr/share/doc/cups/help/postscript-driver.html
381 /usr/share/doc/cups/help/ppd-compiler.html
382 /usr/share/doc/cups/help/raster-driver.html
383 /usr/share/doc/cups/help/spec*.html
384
385 %files libs
386 %defattr(-,root,root)
387 /usr/lib*/*.so.*
388
389 %files lpd
390 %defattr(-,root,root)
391 %if %{?_with_systemd:1}%{!?_with_systemd:0}
392 # SystemD
393 /usr/lib/systemd/system/org.cups.cups-lpd*
394 %else
395 # Legacy xinetd
396 /etc/xinetd.d/cups-lpd
397 %endif
398
399 %dir /usr/lib/cups
400 %dir /usr/lib/cups/daemon
401 /usr/lib/cups/daemon/cups-lpd
402 %dir /usr/share/man/man8
403 /usr/share/man/man8/cups-lpd.8.gz