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