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