blob: 82d803e65393221185d15d46097d79457c3b18f0 [file] [log] [blame]
Haibo Huang265f7572019-12-13 16:47:52 -08001#
2# RPM "spec" file for CUPS.
3#
4# Original version by Jason McMullan <jmcc@ontv.com>.
5#
6# Copyright © 2007-2019 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
41Summary: CUPS
42Name: cups
Haibo Huang4d38dcb2020-10-28 22:24:51 -070043Version: 2.3.3
Haibo Huang265f7572019-12-13 16:47:52 -080044Release: 0
45Epoch: 1
46License: GPL
47Group: System Environment/Daemons
Haibo Huang4d38dcb2020-10-28 22:24:51 -070048Source: https://github.com/apple/cups/releases/download/v2.3.3/cups-2.3.3-source.tar.gz
Haibo Huang265f7572019-12-13 16:47:52 -080049Url: http://www.cups.org
50Packager: Anonymous <anonymous@example.com>
51Vendor: Example Corp
52
53# Package names are as defined for Red Hat (and clone) distributions
54BuildRequires: gnutls-devel, pam-devel
55
56%if %{?_with_dbus:1}%{!?_with_dbus:0}
57BuildRequires: dbus-devel
58%endif
59
60%if %{?_with_dnssd:1}%{!?_with_dnssd:0}
61BuildRequires: avahi-devel
62%endif
63
64%if %{?_with_libusb1:1}%{!?_with_libusb1:0}
65BuildRequires: libusb-devel >= 1.0
66%endif
67
68%if %{?_with_systemd:1}%{!?_with_systemd:0}
69BuildRequires: systemd-devel
70%endif
71
72# Use buildroot so as not to disturb the version already installed
73BuildRoot: /tmp/%{name}-root
74
75# Dependencies...
76Requires: %{name}-libs = %{epoch}:%{version}
77Obsoletes: lpd, lpr, LPRng
78Provides: lpd, lpr, LPRng
79Obsoletes: cups-da, cups-de, cups-es, cups-et, cups-fi, cups-fr, cups-he
80Obsoletes: cups-id, cups-it, cups-ja, cups-ko, cups-nl, cups-no, cups-pl
81Obsoletes: cups-pt, cups-ru, cups-sv, cups-zh
82
83%package devel
84Summary: CUPS - development environment
85Group: Development/Libraries
86Requires: %{name}-libs = %{epoch}:%{version}
87
88%package libs
89Summary: CUPS - shared libraries
90Group: System Environment/Libraries
91Provides: libcups1
92
93%package lpd
94Summary: CUPS - LPD support
95Group: System Environment/Daemons
96Requires: %{name} = %{epoch}:%{version} xinetd
97
98%description
99CUPS is the standards-based, open source printing system developed by
100Apple Inc. for macOS® and other UNIX®-like operating systems.
101
102%description devel
103This package provides the CUPS headers and development environment.
104
105%description libs
106This package provides the CUPS shared libraries.
107
108%description lpd
109This package provides LPD client support.
110
111%prep
112%setup
113
114%build
115CFLAGS="$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.
118make
119
120%install
121# Make sure the RPM_BUILD_ROOT directory exists.
122rm -rf $RPM_BUILD_ROOT
123
124make BUILDROOT=$RPM_BUILD_ROOT install
125rm -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
131if test $1 -ge 1; then
132 /bin/systemctl stop org.cups.cupsd.service
133 /bin/systemctl start org.cups.cupsd.service
134fi
135
136%else
137/sbin/chkconfig --add cups
138/sbin/chkconfig cups on
139
140# Restart cupsd if we are upgrading...
141if test $1 -gt 1; then
142 /sbin/service cups stop
143 /sbin/service cups start
144fi
145%endif
146
147%post libs
148/sbin/ldconfig
149
150%preun
151%if %{?_with_systemd:1}%{!?_with_systemd:0}
152if test $1 -ge 1; then
153 /bin/systemctl stop org.cups.cupsd.service
154 /bin/systemctl disable org.cups.cupsd.service
155fi
156
157%else
158if test $1 = 0; then
159 /sbin/service cups stop
160 /sbin/chkconfig --del cups
161fi
162%endif
163
164%postun
165%if %{?_with_systemd:1}%{!?_with_systemd:0}
166if test $1 -ge 1; then
167 /bin/systemctl stop org.cups.cupsd.service
168 /bin/systemctl start org.cups.cupsd.service
169fi
170
171%else
172if test $1 -ge 1; then
173 /sbin/service cups stop
174 /sbin/service cups start
175fi
176%endif
177
178%postun libs
179/sbin/ldconfig
180
181%clean
182rm -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/ippeveprinter
220/usr/bin/ipptool
221/usr/bin/lp*
222%dir /usr/lib/cups
223%dir /usr/lib/cups/backend
224%if %{?_with_dnssd:1}%{!?_with_dnssd:0}
225# DNS-SD
226/usr/bin/ippfind
227/usr/lib/cups/backend/dnssd
228%endif
229/usr/lib/cups/backend/http
230/usr/lib/cups/backend/https
231%attr(0700,root,root) /usr/lib/cups/backend/ipp
232/usr/lib/cups/backend/ipps
233%attr(0700,root,root) /usr/lib/cups/backend/lpd
234/usr/lib/cups/backend/snmp
235/usr/lib/cups/backend/socket
236/usr/lib/cups/backend/usb
237%dir /usr/lib/cups/cgi-bin
238/usr/lib/cups/cgi-bin/*
239%dir /usr/lib/cups/command
240/usr/lib/cups/command/*
241%dir /usr/lib/cups/daemon
242/usr/lib/cups/daemon/cups-deviced
243/usr/lib/cups/daemon/cups-driverd
244/usr/lib/cups/daemon/cups-exec
245%dir /usr/lib/cups/driver
246%dir /usr/lib/cups/filter
247/usr/lib/cups/filter/*
248%dir /usr/lib/cups/monitor
249/usr/lib/cups/monitor/*
250%dir /usr/lib/cups/notifier
251/usr/lib/cups/notifier/*
252
253/usr/sbin/*
254%dir /usr/share/cups
255%dir /usr/share/cups/drv
256/usr/share/cups/drv/*
257%dir /usr/share/cups/ipptool
258/usr/share/cups/ipptool/*
259%dir /usr/share/cups/mime
260/usr/share/cups/mime/*
261%dir /usr/share/cups/model
262%dir /usr/share/cups/ppdc
263/usr/share/cups/ppdc/*
264%dir /usr/share/cups/templates
265/usr/share/cups/templates/*
266%if %{?_with_libusb1:1}%{!?_with_libusb1:0}
267# LIBUSB quirks files
268%dir /usr/share/cups/usb
269/usr/share/cups/usb/*
270%endif
271
272%dir /usr/share/doc/cups
273/usr/share/doc/cups/*.*
274%dir /usr/share/doc/cups/help
275/usr/share/doc/cups/help/accounting.html
276/usr/share/doc/cups/help/admin.html
277/usr/share/doc/cups/help/cgi.html
278/usr/share/doc/cups/help/encryption.html
279/usr/share/doc/cups/help/firewalls.html
280/usr/share/doc/cups/help/glossary.html
281/usr/share/doc/cups/help/kerberos.html
282/usr/share/doc/cups/help/license.html
283/usr/share/doc/cups/help/man-*.html
284/usr/share/doc/cups/help/network.html
285/usr/share/doc/cups/help/options.html
286/usr/share/doc/cups/help/overview.html
287/usr/share/doc/cups/help/policies.html
288/usr/share/doc/cups/help/ref-*.html
289/usr/share/doc/cups/help/security.html
290/usr/share/doc/cups/help/sharing.html
291/usr/share/doc/cups/help/translation.html
292%dir /usr/share/doc/cups/images
293/usr/share/doc/cups/images/*
294
295#%dir /usr/share/doc/cups/ca
296#/usr/share/doc/cups/ca/*
297#%dir /usr/share/doc/cups/cs
298#/usr/share/doc/cups/cs/*
299%dir /usr/share/doc/cups/de
300/usr/share/doc/cups/de/*
301%dir /usr/share/doc/cups/es
302/usr/share/doc/cups/es/*
303#%dir /usr/share/doc/cups/fr
304#/usr/share/doc/cups/fr/*
305%dir /usr/share/doc/cups/ja
306/usr/share/doc/cups/ja/*
307%dir /usr/share/doc/cups/pt_BR
308/usr/share/doc/cups/pt_BR/*
309%dir /usr/share/doc/cups/ru
310/usr/share/doc/cups/ru/*
311
312%dir /usr/share/locale/ca
313/usr/share/locale/ca/cups_ca.po
314%dir /usr/share/locale/cs
315/usr/share/locale/cs/cups_cs.po
316%dir /usr/share/locale/de
317/usr/share/locale/de/cups_de.po
318%dir /usr/share/locale/en
319/usr/share/locale/en/cups_en.po
320%dir /usr/share/locale/es
321/usr/share/locale/es/cups_es.po
322%dir /usr/share/locale/fr
323/usr/share/locale/fr/cups_fr.po
324%dir /usr/share/locale/it
325/usr/share/locale/it/cups_it.po
326%dir /usr/share/locale/ja
327/usr/share/locale/ja/cups_ja.po
328%dir /usr/share/locale/pt_BR
329/usr/share/locale/pt_BR/cups_pt_BR.po
330%dir /usr/share/locale/ru
331/usr/share/locale/ru/cups_ru.po
332%dir /usr/share/locale/zh_CN
333/usr/share/locale/zh_CN/cups_zh_CN.po
334
335%dir /usr/share/man/man1
336/usr/share/man/man1/cancel.1.gz
337/usr/share/man/man1/cups.1.gz
338/usr/share/man/man1/cupstestppd.1.gz
339/usr/share/man/man1/ippeveprinter.1.gz
340%if %{?_with_dnssd:1}%{!?_with_dnssd:0}
341# DNS-SD
342/usr/share/man/man1/ippfind.1.gz
343%endif
344/usr/share/man/man1/ipptool.1.gz
345/usr/share/man/man1/lp.1.gz
346/usr/share/man/man1/lpoptions.1.gz
347/usr/share/man/man1/lpq.1.gz
348/usr/share/man/man1/lpr.1.gz
349/usr/share/man/man1/lprm.1.gz
350/usr/share/man/man1/lpstat.1.gz
351%dir /usr/share/man/man5
352/usr/share/man/man5/*.conf.5.gz
353/usr/share/man/man5/cupsd-logs.5.gz
354/usr/share/man/man5/ipptoolfile.5.gz
355/usr/share/man/man5/mime.*.5.gz
356%dir /usr/share/man/man7
357/usr/share/man/man7/ippevepcl.7.gz
358/usr/share/man/man7/ippeveps.7.gz
359%dir /usr/share/man/man8
360/usr/share/man/man8/cups-deviced.8.gz
361/usr/share/man/man8/cups-driverd.8.gz
362/usr/share/man/man8/cups-exec.8.gz
363/usr/share/man/man8/cups-snmp.8.gz
364/usr/share/man/man8/cupsaccept.8.gz
365/usr/share/man/man8/cupsctl.8.gz
366/usr/share/man/man8/cupsfilter.8.gz
367/usr/share/man/man8/cupsd.8.gz
368/usr/share/man/man8/cupsd-helper.8.gz
369/usr/share/man/man8/cupsdisable.8.gz
370/usr/share/man/man8/cupsenable.8.gz
371/usr/share/man/man8/cupsreject.8.gz
372/usr/share/man/man8/lpadmin.8.gz
373/usr/share/man/man8/lpc.8.gz
374/usr/share/man/man8/lpinfo.8.gz
375/usr/share/man/man8/lpmove.8.gz
376
377%dir /var/cache/cups
378%attr(0775,root,sys) %dir /var/cache/cups/rss
379%dir /var/log/cups
380%dir /var/run/cups
381%attr(0711,lp,sys) %dir /var/run/cups/certs
382%attr(0710,lp,sys) %dir /var/spool/cups
383%attr(1770,lp,sys) %dir /var/spool/cups/tmp
384
385# Desktop files
386/usr/share/applications/*
387/usr/share/icons/*
388
389%files devel
390%defattr(-,root,root)
391%dir /usr/share/cups/examples
392/usr/share/cups/examples/*
393%dir /usr/share/man/man1
394/usr/share/man/man1/cups-config.1.gz
395/usr/share/man/man1/ppd*.1.gz
396%dir /usr/share/man/man5
397/usr/share/man/man5/ppdcfile.5.gz
398/usr/share/man/man7/backend.7.gz
399/usr/share/man/man7/filter.7.gz
400/usr/share/man/man7/notifier.7.gz
401
402/usr/bin/cups-config
403/usr/bin/ppd*
404%dir /usr/include/cups
405/usr/include/cups/*
406/usr/lib*/*.so
407
408%if %{?_with_static:1}%{!?_with_static:0}
409/usr/lib*/*.a
410%endif
411
412%dir /usr/share/doc/cups/help
413/usr/share/doc/cups/help/api*.html
414/usr/share/doc/cups/help/cupspm.*
415/usr/share/doc/cups/help/postscript-driver.html
416/usr/share/doc/cups/help/ppd-compiler.html
417/usr/share/doc/cups/help/raster-driver.html
418/usr/share/doc/cups/help/spec*.html
419
420%files libs
421%defattr(-,root,root)
422/usr/lib*/*.so.*
423
424%files lpd
425%defattr(-,root,root)
426%if %{?_with_systemd:1}%{!?_with_systemd:0}
427# SystemD
428/usr/lib/systemd/system/org.cups.cups-lpd*
429%else
430# Legacy xinetd
431/etc/xinetd.d/cups-lpd
432%endif
433
434%dir /usr/lib/cups
435%dir /usr/lib/cups/daemon
436/usr/lib/cups/daemon/cups-lpd
437%dir /usr/share/man/man8
438/usr/share/man/man8/cups-lpd.8.gz