1a6a784faSopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd.
2a6a784faSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3a6a784faSopenharmony_ci# you may not use this file except in compliance with the License.
4a6a784faSopenharmony_ci# You may obtain a copy of the License at
5a6a784faSopenharmony_ci#
6a6a784faSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7a6a784faSopenharmony_ci#
8a6a784faSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9a6a784faSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10a6a784faSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11a6a784faSopenharmony_ci# See the License for the specific language governing permissions and
12a6a784faSopenharmony_ci# limitations under the License.
13a6a784faSopenharmony_ci
14a6a784faSopenharmony_ci%global cups_serverbin %{_exec_prefix}/lib/cups
15a6a784faSopenharmony_ci
16a6a784faSopenharmony_ciName:    cups
17a6a784faSopenharmony_ciEpoch:   1
18a6a784faSopenharmony_ciVersion: 2.4.0
19a6a784faSopenharmony_ciRelease: 11
20a6a784faSopenharmony_ciSummary: CUPS is the standards-based, open source printing system for linux operating systems.
21a6a784faSopenharmony_ciLicense: Apache-2.0 WITH LLVM-exception
22a6a784faSopenharmony_ciUrl:     https://openprinting.github.io/cups/
23a6a784faSopenharmony_ci# Apple stopped uploading the new versions into github, use OpenPrinting fork
24a6a784faSopenharmony_ciSource0: https://github.com/OpenPrinting/cups/releases/download/v%{version}/cups-%{version}-source.tar.gz
25a6a784faSopenharmony_ci
26a6a784faSopenharmony_ciSource1: cupsprinter.png
27a6a784faSopenharmony_ciSource2: macros.cups
28a6a784faSopenharmony_ci
29a6a784faSopenharmony_ciPatch1:  cups-system-auth.patch
30a6a784faSopenharmony_ciPatch2:  cups-multilib.patch
31a6a784faSopenharmony_ciPatch3:  cups-banners.patch
32a6a784faSopenharmony_ciPatch4:  cups-direct-usb.patch
33a6a784faSopenharmony_ciPatch5:  cups-driverd-timeout.patch
34a6a784faSopenharmony_ciPatch6:  cups-usb-paperout.patch
35a6a784faSopenharmony_ciPatch7:  cups-uri-compat.patch
36a6a784faSopenharmony_ciPatch8:  cups-freebind.patch
37a6a784faSopenharmony_ciPatch9:  cups-ipp-multifile.patch
38a6a784faSopenharmony_ciPatch10: cups-web-devices-timeout.patch
39a6a784faSopenharmony_ci
40a6a784faSopenharmony_ciPatch6000: backport-CVE-2022-26691.patch
41a6a784faSopenharmony_ciPatch6001: backport-Remove-legacy-code-for-RIP_MAX_CACHE-environment-variable.patch
42a6a784faSopenharmony_ciPatch6002: backport-Also-fix-cupsfilter.patch
43a6a784faSopenharmony_ciPatch6003: backport-CVE-2023-32324.patch
44a6a784faSopenharmony_ciPatch6004: fix-httpAddrGetList-test-case-fail.patch
45a6a784faSopenharmony_ciPatch6005: backport-CVE-2023-34241.patch
46a6a784faSopenharmony_ciPatch6006: backport-CVE-2023-4504.patch
47a6a784faSopenharmony_ci
48a6a784faSopenharmony_ciBuildRequires: pam-devel pkgconf-pkg-config pkgconfig(gnutls) libacl-devel openldap-devel pkgconfig(libusb-1.0)
49a6a784faSopenharmony_ciBuildRequires: krb5-devel pkgconfig(avahi-client) systemd pkgconfig(libsystemd) pkgconfig(dbus-1) python3-cups
50a6a784faSopenharmony_ciBuildRequires: automake zlib-devel gcc gcc-c++ libselinux-devel audit-libs-devel make
51a6a784faSopenharmony_ciRequires: dbus systemd acl cups-filters /usr/sbin/alternatives 
52a6a784faSopenharmony_ciRequires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
53a6a784faSopenharmony_ciRequires: %{name}-client%{?_isa} = %{epoch}:%{version}-%{release}
54a6a784faSopenharmony_ciRequires: %{name}-filesystem = %{epoch}:%{version}-%{release}
55a6a784faSopenharmony_ci
56a6a784faSopenharmony_ci# Requires working PrivateTmp (bug #807672)
57a6a784faSopenharmony_ciRequires(pre): systemd
58a6a784faSopenharmony_ciRequires(post): systemd
59a6a784faSopenharmony_ciRequires(post): grep, sed
60a6a784faSopenharmony_ciRequires(preun): systemd
61a6a784faSopenharmony_ciRequires(postun): systemd
62a6a784faSopenharmony_ci
63a6a784faSopenharmony_ci%description
64a6a784faSopenharmony_ciCUPS is the standards-based, open source printing system developed by Apple Inc.
65a6a784faSopenharmony_cifor UNIX®-like operating systems. CUPS uses the Internet Printing
66a6a784faSopenharmony_ciProtocol (IPP) to support printing to local and network printers.
67a6a784faSopenharmony_ci
68a6a784faSopenharmony_ci%package client
69a6a784faSopenharmony_ciSummary: CUPS printing system - client programs
70a6a784faSopenharmony_ciLicense: GPLv2
71a6a784faSopenharmony_ciRequires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
72a6a784faSopenharmony_ciProvides: /usr/bin/lpq /usr/bin/lpr /usr/bin/lp /usr/bin/cancel /usr/bin/lprm /usr/bin/lpstat
73a6a784faSopenharmony_ciRequires: /usr/sbin/alternatives
74a6a784faSopenharmony_ciProvides: lpr
75a6a784faSopenharmony_ci
76a6a784faSopenharmony_ci%description client
77a6a784faSopenharmony_ciCUPS printing system provides a portable printing layer for
78a6a784faSopenharmony_ciUNIX® operating systems. This package contains command-line client
79a6a784faSopenharmony_ciprograms.
80a6a784faSopenharmony_ci
81a6a784faSopenharmony_ci%package devel
82a6a784faSopenharmony_ciSummary: CUPS printing system - development environment
83a6a784faSopenharmony_ciLicense: LGPLv2
84a6a784faSopenharmony_ciRequires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
85a6a784faSopenharmony_ciRequires: gnutls-devel krb5-devel zlib-devel
86a6a784faSopenharmony_ci
87a6a784faSopenharmony_ci%description devel
88a6a784faSopenharmony_ciCUPS is the standards-based, open source printing system developed by Apple Inc.
89a6a784faSopenharmony_cifor macOS® and other UNIX®-like operating systems. Developers can use this development
90a6a784faSopenharmony_cipackage to develop other printer drivers.
91a6a784faSopenharmony_ci
92a6a784faSopenharmony_ci%package libs
93a6a784faSopenharmony_ciSummary: CUPS libs
94a6a784faSopenharmony_ciLicense: LGPLv2 and zlib
95a6a784faSopenharmony_ci
96a6a784faSopenharmony_ci%description libs
97a6a784faSopenharmony_ciCUPS printing system provides a portable printing layer for
98a6a784faSopenharmony_ciUNIX® operating systems. It has been developed by Apple Inc.
99a6a784faSopenharmony_cito promote a standard printing solution for all UNIX vendors and users.
100a6a784faSopenharmony_ciCUPS provides the System V and Berkeley command-line interfaces.
101a6a784faSopenharmony_ciThe cups-libs package provides libraries used by applications to use CUPS
102a6a784faSopenharmony_cinatively, without needing the lp/lpr commands.
103a6a784faSopenharmony_ci
104a6a784faSopenharmony_ci%package filesystem
105a6a784faSopenharmony_ciSummary: CUPS printing system - directory layout
106a6a784faSopenharmony_ciBuildArch: noarch
107a6a784faSopenharmony_ci
108a6a784faSopenharmony_ci%description filesystem
109a6a784faSopenharmony_ciCUPS printing system provides a portable printing layer for
110a6a784faSopenharmony_ciUNIX® operating systems. This package provides some directories which are
111a6a784faSopenharmony_cirequired by other packages that add CUPS drivers (i.e. filters, backends etc.).
112a6a784faSopenharmony_ci
113a6a784faSopenharmony_ci%package lpd
114a6a784faSopenharmony_ciSummary: CUPS printing system - lpd emulation
115a6a784faSopenharmony_ciRequires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
116a6a784faSopenharmony_ciRequires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
117a6a784faSopenharmony_ciProvides: lpd
118a6a784faSopenharmony_ci
119a6a784faSopenharmony_ci%description lpd
120a6a784faSopenharmony_ciCUPS printing system provides a portable printing layer for
121a6a784faSopenharmony_ciUNIX® operating systems. This is the package that provides standard
122a6a784faSopenharmony_cilpd emulation.
123a6a784faSopenharmony_ci
124a6a784faSopenharmony_ci%package ipptool
125a6a784faSopenharmony_ciSummary: CUPS printing system - tool for performing IPP requests
126a6a784faSopenharmony_ciRequires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
127a6a784faSopenharmony_ciRequires: avahi
128a6a784faSopenharmony_ci
129a6a784faSopenharmony_ci%description ipptool
130a6a784faSopenharmony_ciSends IPP requests to the specified URI and tests and/or displays the results.
131a6a784faSopenharmony_ci
132a6a784faSopenharmony_ci%package printerapp
133a6a784faSopenharmony_ciSummary: CUPS printing system - tools for printer application
134a6a784faSopenharmony_ciRequires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release}
135a6a784faSopenharmony_ciRequires: avahi
136a6a784faSopenharmony_ci
137a6a784faSopenharmony_ci%description printerapp
138a6a784faSopenharmony_ciProvides IPP everywhere printer application ippeveprinter and tools for printing
139a6a784faSopenharmony_ciPostScript and HP PCL document formats - ippevepcl and ippeveps. The printer
140a6a784faSopenharmony_ciapplication enables older printers for IPP everywhere standard - so if older printer
141a6a784faSopenharmony_ciis installed with a printer application, its print queue acts as IPP everywhere printer
142a6a784faSopenharmony_cito CUPS daemon. This solution will substitute printer drivers and raw queues in the future.
143a6a784faSopenharmony_ci
144a6a784faSopenharmony_ci%package    help
145a6a784faSopenharmony_ciSummary:    Documents for cups
146a6a784faSopenharmony_ciBuildarch:  noarch
147a6a784faSopenharmony_ci
148a6a784faSopenharmony_ci%description    help
149a6a784faSopenharmony_ciMan pages and other related documents.
150a6a784faSopenharmony_ci
151a6a784faSopenharmony_ci%prep
152a6a784faSopenharmony_ci%autosetup -n %{name}-%{version} -p1
153a6a784faSopenharmony_ci
154a6a784faSopenharmony_cised -i -e '1iMaxLogSize 0' conf/cupsd.conf.in
155a6a784faSopenharmony_cised -i -e 's,^ErrorLog .*$,ErrorLog syslog,' -i -e 's,^AccessLog .*$,AccessLog syslog,' -i -e 's,^PageLog .*,PageLog syslog,' conf/cups-files.conf.in
156a6a784faSopenharmony_ciperl -pi -e "s,^.SILENT:,," Makedefs.in
157a6a784faSopenharmony_ci
158a6a784faSopenharmony_ciaclocal -I config-scripts
159a6a784faSopenharmony_ciautoconf -f -I config-scripts
160a6a784faSopenharmony_ci
161a6a784faSopenharmony_ci%build
162a6a784faSopenharmony_ciexport DSOFLAGS="$DSOFLAGS -L../cgi-bin -L../filter -L../ppdc -L../scheduler -Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/generic-hardened-ld -Wl,-z,relro,-z,now -fPIE -pie" 
163a6a784faSopenharmony_ciexport CFLAGS="$RPM_OPT_FLAGS -fstack-protector-all -DLDAP_DEPRECATED=1"
164a6a784faSopenharmony_ci# --enable-debug to avoid stripping binaries
165a6a784faSopenharmony_ci%configure --with-docdir=%{_datadir}/%{name}/www --enable-debug \
166a6a784faSopenharmony_ci    --enable-lspp \
167a6a784faSopenharmony_ci    --with-exe-file-perm=0755 \
168a6a784faSopenharmony_ci    --with-cupsd-file-perm=0755 \
169a6a784faSopenharmony_ci    --with-log-file-perm=0600 \
170a6a784faSopenharmony_ci    --enable-relro \
171a6a784faSopenharmony_ci    --with-dbusdir=%{_sysconfdir}/dbus-1 \
172a6a784faSopenharmony_ci    --enable-avahi \
173a6a784faSopenharmony_ci    --enable-threads \
174a6a784faSopenharmony_ci    --enable-gnutls \
175a6a784faSopenharmony_ci    --enable-webif \
176a6a784faSopenharmony_ci    --with-xinetd=no \
177a6a784faSopenharmony_ci    --with-access-log-level=actions \
178a6a784faSopenharmony_ci    --enable-page-logging \
179a6a784faSopenharmony_ci    --with-rundir=%{_rundir}/cups \
180a6a784faSopenharmony_ci    --enable-sync-on-close \
181a6a784faSopenharmony_ci    localedir=%{_datadir}/locale
182a6a784faSopenharmony_ci
183a6a784faSopenharmony_ci%make_build
184a6a784faSopenharmony_ci
185a6a784faSopenharmony_ci%check
186a6a784faSopenharmony_cimake check
187a6a784faSopenharmony_ci
188a6a784faSopenharmony_ci%install
189a6a784faSopenharmony_cimake BUILDROOT=${RPM_BUILD_ROOT} install
190a6a784faSopenharmony_ci
191a6a784faSopenharmony_cirm -rf  ${RPM_BUILD_ROOT}%{_initddir} ${RPM_BUILD_ROOT}%{_sysconfdir}/{init.d,rc?.d}
192a6a784faSopenharmony_ciinstall -d ${RPM_BUILD_ROOT}%{_unitdir}
193a6a784faSopenharmony_ci
194a6a784faSopenharmony_cifind ${RPM_BUILD_ROOT}%{_datadir}/cups/model -name "*.ppd" |xargs gzip -n9f
195a6a784faSopenharmony_ci
196a6a784faSopenharmony_cipushd ${RPM_BUILD_ROOT}%{_bindir}
197a6a784faSopenharmony_cifor file in cancel lp lpq lpr lprm lpstat; do
198a6a784faSopenharmony_ci    mv $file $file.cups
199a6a784faSopenharmony_cidone
200a6a784faSopenharmony_ci
201a6a784faSopenharmony_cimv ${RPM_BUILD_ROOT}%{_sbindir}/lpc ${RPM_BUILD_ROOT}%{_sbindir}/lpc.cups
202a6a784faSopenharmony_cicd ${RPM_BUILD_ROOT}%{_mandir}/man1
203a6a784faSopenharmony_cifor file in cancel lp lpq lpr lprm lpstat; do
204a6a784faSopenharmony_ci    mv $file.1 $file-cups.1
205a6a784faSopenharmony_cidone
206a6a784faSopenharmony_ci
207a6a784faSopenharmony_cimv ${RPM_BUILD_ROOT}%{_mandir}/man8/lpc.8 ${RPM_BUILD_ROOT}%{_mandir}/man8/lpc-cups.8
208a6a784faSopenharmony_cipopd
209a6a784faSopenharmony_ci
210a6a784faSopenharmony_ciinstall -d ${RPM_BUILD_ROOT}%{_datadir}/pixmaps ${RPM_BUILD_ROOT}%{_sysconfdir}/X11/sysconfig \
211a6a784faSopenharmony_ci           ${RPM_BUILD_ROOT}%{_sysconfdir}/X11/applnk/System \
212a6a784faSopenharmony_ci           ${RPM_BUILD_ROOT}%{_rpmconfigdir}/macros.d
213a6a784faSopenharmony_ciinstall -p -m 644 %{SOURCE1} ${RPM_BUILD_ROOT}%{_datadir}/pixmaps
214a6a784faSopenharmony_ciinstall -m 0644 %{SOURCE2} ${RPM_BUILD_ROOT}%{_rpmconfigdir}/macros.d
215a6a784faSopenharmony_ci
216a6a784faSopenharmony_citouch ${RPM_BUILD_ROOT}%{_sysconfdir}/cups/{printers,classes,client,subscriptions}.conf
217a6a784faSopenharmony_citouch ${RPM_BUILD_ROOT}%{_sysconfdir}/cups/lpoptions
218a6a784faSopenharmony_ci
219a6a784faSopenharmony_ciinstall -d ${RPM_BUILD_ROOT}%{_datadir}/ppd
220a6a784faSopenharmony_ci
221a6a784faSopenharmony_ci# Remove unshipped files.
222a6a784faSopenharmony_cirm -rf %{buildroot}%{_mandir}/cat? %{buildroot}%{_mandir}/*/cat?
223a6a784faSopenharmony_cirm -f %{buildroot}%{_datadir}/applications/cups.desktop
224a6a784faSopenharmony_cirm -rf %{buildroot}%{_datadir}/icons
225a6a784faSopenharmony_ci# there are pdf-banners shipped with cups-filters (#919489)
226a6a784faSopenharmony_cirm -rf %{buildroot}%{_datadir}/cups/banners
227a6a784faSopenharmony_cirm -f %{buildroot}%{_datadir}/cups/data/testprint
228a6a784faSopenharmony_ci
229a6a784faSopenharmony_ciinstall -d ${RPM_BUILD_ROOT}%{_tmpfilesdir}
230a6a784faSopenharmony_cicat > ${RPM_BUILD_ROOT}%{_tmpfilesdir}/cups.conf <<EOF
231a6a784faSopenharmony_cid /run/cups 0755 root lp -
232a6a784faSopenharmony_cid /run/cups/certs 0511 lp sys -
233a6a784faSopenharmony_cid /var/spool/cups/tmp - - - 30d
234a6a784faSopenharmony_ciEOF
235a6a784faSopenharmony_ci
236a6a784faSopenharmony_cicat > ${RPM_BUILD_ROOT}%{_tmpfilesdir}/cups-lp.conf <<EOF
237a6a784faSopenharmony_cic /dev/lp0 0660 root lp - 6:0
238a6a784faSopenharmony_cic /dev/lp1 0660 root lp - 6:1
239a6a784faSopenharmony_cic /dev/lp2 0660 root lp - 6:2
240a6a784faSopenharmony_cic /dev/lp3 0660 root lp - 6:3
241a6a784faSopenharmony_ciEOF
242a6a784faSopenharmony_ci
243a6a784faSopenharmony_cifind ${RPM_BUILD_ROOT} -type f -o -type l | sed '
244a6a784faSopenharmony_cis:.*\('%{_datadir}'/\)\([^/_]\+\)\(.*\.po$\):%lang(\2) \1\2\3:
245a6a784faSopenharmony_ci/^%lang(C)/d
246a6a784faSopenharmony_ci/^\([^%].*\)/d
247a6a784faSopenharmony_ci' > %{name}.lang
248a6a784faSopenharmony_ci
249a6a784faSopenharmony_ci%post
250a6a784faSopenharmony_ci%systemd_post %{name}.path %{name}.socket %{name}.service
251a6a784faSopenharmony_ci
252a6a784faSopenharmony_ciinstall -d ${RPM_BUILD_ROOT}%{_localstatedir}/run/cups/certs
253a6a784faSopenharmony_ci
254a6a784faSopenharmony_ci/bin/sed -i -e "s,^PageLogFormat,#PageLogFormat,i" %{_sysconfdir}/cups/cups-files.conf
255a6a784faSopenharmony_ci
256a6a784faSopenharmony_ci%post client
257a6a784faSopenharmony_ci/usr/sbin/alternatives --install %{_bindir}/lpr print %{_bindir}/lpr.cups 40 \
258a6a784faSopenharmony_ci	 --slave %{_bindir}/lp print-lp %{_bindir}/lp.cups \
259a6a784faSopenharmony_ci	 --slave %{_bindir}/lpq print-lpq %{_bindir}/lpq.cups \
260a6a784faSopenharmony_ci	 --slave %{_bindir}/lprm print-lprm %{_bindir}/lprm.cups \
261a6a784faSopenharmony_ci	 --slave %{_bindir}/lpstat print-lpstat %{_bindir}/lpstat.cups \
262a6a784faSopenharmony_ci	 --slave %{_bindir}/cancel print-cancel %{_bindir}/cancel.cups \
263a6a784faSopenharmony_ci	 --slave %{_sbindir}/lpc print-lpc %{_sbindir}/lpc.cups \
264a6a784faSopenharmony_ci	 --slave %{_mandir}/man1/cancel.1.gz print-cancelman %{_mandir}/man1/cancel-cups.1.gz \
265a6a784faSopenharmony_ci	 --slave %{_mandir}/man1/lp.1.gz print-lpman %{_mandir}/man1/lp-cups.1.gz \
266a6a784faSopenharmony_ci	 --slave %{_mandir}/man8/lpc.8.gz print-lpcman %{_mandir}/man8/lpc-cups.8.gz \
267a6a784faSopenharmony_ci	 --slave %{_mandir}/man1/lpq.1.gz print-lpqman %{_mandir}/man1/lpq-cups.1.gz \
268a6a784faSopenharmony_ci	 --slave %{_mandir}/man1/lpr.1.gz print-lprman %{_mandir}/man1/lpr-cups.1.gz \
269a6a784faSopenharmony_ci	 --slave %{_mandir}/man1/lprm.1.gz print-lprmman %{_mandir}/man1/lprm-cups.1.gz \
270a6a784faSopenharmony_ci	 --slave %{_mandir}/man1/lpstat.1.gz print-lpstatman %{_mandir}/man1/lpstat-cups.1.gz || :
271a6a784faSopenharmony_ci 
272a6a784faSopenharmony_ci%post lpd
273a6a784faSopenharmony_ci%systemd_post cups-lpd.socket
274a6a784faSopenharmony_ci 
275a6a784faSopenharmony_ci%ldconfig_scriptlets libs
276a6a784faSopenharmony_ci 
277a6a784faSopenharmony_ci%preun
278a6a784faSopenharmony_ci%systemd_preun %{name}.path %{name}.socket %{name}.service
279a6a784faSopenharmony_ci 
280a6a784faSopenharmony_ci%preun client
281a6a784faSopenharmony_ciif [ $1 -eq 0 ] ; then
282a6a784faSopenharmony_ci	/usr/sbin/alternatives --remove print %{_bindir}/lpr.cups || :
283a6a784faSopenharmony_cifi
284a6a784faSopenharmony_ci 
285a6a784faSopenharmony_ci%preun lpd
286a6a784faSopenharmony_ci%systemd_preun cups-lpd.socket
287a6a784faSopenharmony_ci
288a6a784faSopenharmony_ci%postun
289a6a784faSopenharmony_ci%systemd_postun_with_restart %{name}.path %{name}.socket %{name}.service
290a6a784faSopenharmony_ci 
291a6a784faSopenharmony_ci%postun lpd
292a6a784faSopenharmony_ci%systemd_postun_with_restart cups-lpd.socket
293a6a784faSopenharmony_ci
294a6a784faSopenharmony_ci%triggerin -- samba-client
295a6a784faSopenharmony_ciln -sf %{_libexecdir}/samba/cups_backend_smb %{_exec_prefix}/lib/cups/backend/smb || :
296a6a784faSopenharmony_ciexit 0
297a6a784faSopenharmony_ci
298a6a784faSopenharmony_ci%triggerun -- samba-client
299a6a784faSopenharmony_ci[ $2 = 0 ] || exit 0
300a6a784faSopenharmony_cirm -f %{_exec_prefix}/lib/cups/backend/smb
301a6a784faSopenharmony_ci
302a6a784faSopenharmony_ci%files -f %{name}.lang
303a6a784faSopenharmony_ci%{_bindir}/cupstestppd
304a6a784faSopenharmony_ci%{_bindir}/ppd*
305a6a784faSopenharmony_ci%{_sbindir}/*
306a6a784faSopenharmony_ci# client subpackage
307a6a784faSopenharmony_ci%exclude %{_sbindir}/lpc.cups
308a6a784faSopenharmony_ci%dir %{cups_serverbin}/daemon
309a6a784faSopenharmony_ci%{cups_serverbin}/daemon/cups-deviced
310a6a784faSopenharmony_ci%{cups_serverbin}/daemon/cups-driverd
311a6a784faSopenharmony_ci%{cups_serverbin}/daemon/cups-exec
312a6a784faSopenharmony_ci%{cups_serverbin}/backend/*
313a6a784faSopenharmony_ci%{cups_serverbin}/cgi-bin
314a6a784faSopenharmony_ci%{cups_serverbin}/filter/*
315a6a784faSopenharmony_ci%{cups_serverbin}/monitor
316a6a784faSopenharmony_ci%{cups_serverbin}/notifier
317a6a784faSopenharmony_ci%{_datadir}/cups/drv/sample.drv
318a6a784faSopenharmony_ci%{_datadir}/cups/examples
319a6a784faSopenharmony_ci%{_datadir}/cups/mime/mime.types
320a6a784faSopenharmony_ci%{_datadir}/cups/mime/mime.convs
321a6a784faSopenharmony_ci%{_datadir}/cups/ppdc/*.defs
322a6a784faSopenharmony_ci%{_datadir}/cups/ppdc/*.h
323a6a784faSopenharmony_ci%dir %{_datadir}/cups/templates
324a6a784faSopenharmony_ci%{_datadir}/cups/templates/*.tmpl
325a6a784faSopenharmony_ci%dir %{_datadir}/cups/templates/de
326a6a784faSopenharmony_ci%{_datadir}/cups/templates/de/*.tmpl
327a6a784faSopenharmony_ci%dir %{_datadir}/cups/templates/da
328a6a784faSopenharmony_ci%{_datadir}/cups/templates/da/*.tmpl
329a6a784faSopenharmony_ci%dir %{_datadir}/cups/templates/es
330a6a784faSopenharmony_ci%{_datadir}/cups/templates/es/*.tmpl
331a6a784faSopenharmony_ci%dir %{_datadir}/cups/templates/fr
332a6a784faSopenharmony_ci%{_datadir}/cups/templates/fr/*.tmpl
333a6a784faSopenharmony_ci%dir %{_datadir}/cups/templates/ja
334a6a784faSopenharmony_ci%{_datadir}/cups/templates/ja/*.tmpl
335a6a784faSopenharmony_ci%dir %{_datadir}/cups/templates/pt_BR
336a6a784faSopenharmony_ci%{_datadir}/cups/templates/pt_BR/*.tmpl
337a6a784faSopenharmony_ci%dir %{_datadir}/cups/templates/ru
338a6a784faSopenharmony_ci%{_datadir}/cups/templates/ru/*.tmpl
339a6a784faSopenharmony_ci%dir %{_datadir}/%{name}/usb
340a6a784faSopenharmony_ci%{_datadir}/%{name}/usb/org.cups.usb-quirks
341a6a784faSopenharmony_ci%dir %{_datadir}/%{name}/www
342a6a784faSopenharmony_ci%{_datadir}/%{name}/www/images
343a6a784faSopenharmony_ci%{_datadir}/%{name}/www/*.css
344a6a784faSopenharmony_ci%dir %{_datadir}/%{name}/www/de
345a6a784faSopenharmony_ci%dir %{_datadir}/%{name}/www/da
346a6a784faSopenharmony_ci%dir %{_datadir}/%{name}/www/es
347a6a784faSopenharmony_ci%dir %{_datadir}/%{name}/www/fr
348a6a784faSopenharmony_ci%dir %{_datadir}/%{name}/www/ja
349a6a784faSopenharmony_ci%dir %{_datadir}/%{name}/www/pt_BR
350a6a784faSopenharmony_ci%dir %{_datadir}/%{name}/www/ru
351a6a784faSopenharmony_ci%{_datadir}/pixmaps/cupsprinter.png
352a6a784faSopenharmony_ci%dir %attr(1770,root,lp) %{_localstatedir}/spool/cups/tmp
353a6a784faSopenharmony_ci%dir %attr(0710,root,lp) %{_localstatedir}/spool/cups
354a6a784faSopenharmony_ci%dir %attr(0755,root,lp) %{_localstatedir}/log/cups
355a6a784faSopenharmony_ci# client subpackage
356a6a784faSopenharmony_ci%exclude %{_mandir}/man1/lp*.1.gz
357a6a784faSopenharmony_ci%exclude %{_mandir}/man1/cancel-cups.1.gz
358a6a784faSopenharmony_ci%exclude %{_mandir}/man8/lpc-cups.8.gz
359a6a784faSopenharmony_ci# devel subpackage
360a6a784faSopenharmony_ci%exclude %{_mandir}/man1/cups-config.1.gz
361a6a784faSopenharmony_ci# ipptool subpackage
362a6a784faSopenharmony_ci%exclude %{_mandir}/man1/ipptool.1.gz
363a6a784faSopenharmony_ci%exclude %{_mandir}/man5/ipptoolfile.5.gz
364a6a784faSopenharmony_ci# lpd subpackage
365a6a784faSopenharmony_ci%exclude %{_mandir}/man8/cups-lpd.8.gz
366a6a784faSopenharmony_ci# printerapp
367a6a784faSopenharmony_ci%exclude %{_mandir}/man1/ippeveprinter.1.gz
368a6a784faSopenharmony_ci%exclude %{_mandir}/man7/ippevepcl.7.gz
369a6a784faSopenharmony_ci%exclude %{_mandir}/man7/ippeveps.7.gz
370a6a784faSopenharmony_ci%dir %attr(0755,root,lp) %{_rundir}/cups
371a6a784faSopenharmony_ci%dir %attr(0511,lp,sys) %{_rundir}/cups/certs
372a6a784faSopenharmony_ci%dir %attr(0755,root,lp) %{_sysconfdir}/cups
373a6a784faSopenharmony_ci%attr(0640,root,lp) %{_sysconfdir}/cups/cupsd.conf.default
374a6a784faSopenharmony_ci%verify(not md5 size mtime) %config(noreplace) %attr(0640,root,lp) %{_sysconfdir}/cups/cupsd.conf
375a6a784faSopenharmony_ci%verify(not md5 size mtime) %config(noreplace) %attr(0640,root,lp) %{_sysconfdir}/cups/cups-files.conf
376a6a784faSopenharmony_ci%attr(0640,root,lp) %{_sysconfdir}/cups/cups-files.conf.default
377a6a784faSopenharmony_ci%verify(not md5 size mtime) %config(noreplace) %attr(0644,root,lp) %{_sysconfdir}/cups/client.conf
378a6a784faSopenharmony_ci%verify(not md5 size mtime) %config(noreplace) %attr(0600,root,lp) %{_sysconfdir}/cups/classes.conf
379a6a784faSopenharmony_ci%verify(not md5 size mtime) %config(noreplace) %attr(0600,root,lp) %{_sysconfdir}/cups/printers.conf
380a6a784faSopenharmony_ci%verify(not md5 size mtime) %config(noreplace) %attr(0644,root,lp) %{_sysconfdir}/cups/snmp.conf
381a6a784faSopenharmony_ci%attr(0640,root,lp) %{_sysconfdir}/cups/snmp.conf.default
382a6a784faSopenharmony_ci%verify(not md5 size mtime) %config(noreplace) %attr(0640,root,lp) %{_sysconfdir}/cups/subscriptions.conf
383a6a784faSopenharmony_ci%verify(not md5 size mtime) %config(noreplace) %attr(0644,root,lp) %{_sysconfdir}/cups/lpoptions
384a6a784faSopenharmony_ci%dir %attr(0755,root,lp) %{_sysconfdir}/cups/ppd
385a6a784faSopenharmony_ci%dir %attr(0700,root,lp) %{_sysconfdir}/cups/ssl
386a6a784faSopenharmony_ci%config(noreplace) %{_sysconfdir}/dbus-1/system.d/cups.conf
387a6a784faSopenharmony_ci%config(noreplace) %{_sysconfdir}/pam.d/cups
388a6a784faSopenharmony_ci%{_tmpfilesdir}/cups.conf
389a6a784faSopenharmony_ci%{_tmpfilesdir}/cups-lp.conf
390a6a784faSopenharmony_ci%attr(0644, root, root)%{_unitdir}/%{name}.service
391a6a784faSopenharmony_ci%attr(0644, root, root)%{_unitdir}/%{name}.socket
392a6a784faSopenharmony_ci%attr(0644, root, root)%{_unitdir}/%{name}.path
393a6a784faSopenharmony_ci 
394a6a784faSopenharmony_ci%files client
395a6a784faSopenharmony_ci%{_bindir}/cancel*
396a6a784faSopenharmony_ci%{_bindir}/lp*
397a6a784faSopenharmony_ci%{_sbindir}/lpc.cups
398a6a784faSopenharmony_ci%{_mandir}/man1/cancel-cups.1.gz
399a6a784faSopenharmony_ci%{_mandir}/man1/lp*.1.gz
400a6a784faSopenharmony_ci%{_mandir}/man8/lpc-cups.8.gz
401a6a784faSopenharmony_ci 
402a6a784faSopenharmony_ci%files libs
403a6a784faSopenharmony_ci%{license} LICENSE
404a6a784faSopenharmony_ci%{license} NOTICE
405a6a784faSopenharmony_ci%{_libdir}/libcups.so.2
406a6a784faSopenharmony_ci%{_libdir}/libcupsimage.so.2
407a6a784faSopenharmony_ci 
408a6a784faSopenharmony_ci%files filesystem
409a6a784faSopenharmony_ci%dir %{cups_serverbin}
410a6a784faSopenharmony_ci%dir %{cups_serverbin}/backend
411a6a784faSopenharmony_ci%dir %{cups_serverbin}/driver
412a6a784faSopenharmony_ci%dir %{cups_serverbin}/filter
413a6a784faSopenharmony_ci%dir %{_datadir}/cups
414a6a784faSopenharmony_ci%dir %{_datadir}/cups/data
415a6a784faSopenharmony_ci%dir %{_datadir}/cups/drv
416a6a784faSopenharmony_ci%dir %{_datadir}/cups/mime
417a6a784faSopenharmony_ci%dir %{_datadir}/cups/model
418a6a784faSopenharmony_ci%dir %{_datadir}/cups/ppdc
419a6a784faSopenharmony_ci%dir %{_datadir}/ppd
420a6a784faSopenharmony_ci 
421a6a784faSopenharmony_ci%files devel
422a6a784faSopenharmony_ci%{_bindir}/cups-config
423a6a784faSopenharmony_ci%{_includedir}/cups
424a6a784faSopenharmony_ci%{_libdir}/*.so
425a6a784faSopenharmony_ci%{_rpmconfigdir}/macros.d/macros.cups
426a6a784faSopenharmony_ci%{_prefix}/lib/pkgconfig/cups.pc
427a6a784faSopenharmony_ci 
428a6a784faSopenharmony_ci%files lpd
429a6a784faSopenharmony_ci%{cups_serverbin}/daemon/cups-lpd
430a6a784faSopenharmony_ci%{_mandir}/man8/cups-lpd.8.gz
431a6a784faSopenharmony_ci%attr(0644, root, root)%{_unitdir}/cups-lpd.socket
432a6a784faSopenharmony_ci%attr(0644, root, root)%{_unitdir}/cups-lpd@.service
433a6a784faSopenharmony_ci 
434a6a784faSopenharmony_ci%files ipptool
435a6a784faSopenharmony_ci%{_bindir}/ippfind
436a6a784faSopenharmony_ci%{_bindir}/ipptool
437a6a784faSopenharmony_ci%dir %{_datadir}/cups/ipptool
438a6a784faSopenharmony_ci%{_datadir}/cups/ipptool/*
439a6a784faSopenharmony_ci%{_mandir}/man1/ipptool.1.gz
440a6a784faSopenharmony_ci%{_mandir}/man5/ipptoolfile.5.gz
441a6a784faSopenharmony_ci 
442a6a784faSopenharmony_ci%files printerapp
443a6a784faSopenharmony_ci%{_bindir}/ippeveprinter
444a6a784faSopenharmony_ci%dir %{cups_serverbin}/command
445a6a784faSopenharmony_ci%{cups_serverbin}/command/ippevepcl
446a6a784faSopenharmony_ci%{cups_serverbin}/command/ippeveps
447a6a784faSopenharmony_ci%{_mandir}/man1/ippeveprinter.1.gz
448a6a784faSopenharmony_ci%{_mandir}/man7/ippevepcl.7.gz
449a6a784faSopenharmony_ci%{_mandir}/man7/ippeveps.7.gz
450a6a784faSopenharmony_ci
451a6a784faSopenharmony_ci%files help
452a6a784faSopenharmony_ci%{_mandir}/man[1578]/*
453a6a784faSopenharmony_ci%{_mandir}/man1/cups-config.1.gz
454a6a784faSopenharmony_ci%doc README.md CREDITS.md CHANGES.md
455a6a784faSopenharmony_ci%doc %{_datadir}/%{name}/www/index.html
456a6a784faSopenharmony_ci%doc %{_datadir}/%{name}/www/help
457a6a784faSopenharmony_ci%doc %{_datadir}/%{name}/www/robots.txt
458a6a784faSopenharmony_ci%doc %{_datadir}/%{name}/www/de/index.html
459a6a784faSopenharmony_ci%doc %{_datadir}/%{name}/www/da/index.html
460a6a784faSopenharmony_ci%doc %{_datadir}/%{name}/www/es/index.html
461a6a784faSopenharmony_ci%doc %{_datadir}/%{name}/www/fr/index.html
462a6a784faSopenharmony_ci%doc %{_datadir}/%{name}/www/ja/index.html
463a6a784faSopenharmony_ci%doc %{_datadir}/%{name}/www/ru/index.html
464a6a784faSopenharmony_ci%doc %{_datadir}/%{name}/www/pt_BR/index.html
465a6a784faSopenharmony_ci%doc %{_datadir}/%{name}/www/apple-touch-icon.png
466a6a784faSopenharmony_ci
467a6a784faSopenharmony_ci%changelog
468a6a784faSopenharmony_ci* Wed Jun 12 2024 baiguo <baiguo@kylinos.cn> - 1:2.4.0-11
469a6a784faSopenharmony_ci- fix CVE-2024-35235
470a6a784faSopenharmony_ci
471a6a784faSopenharmony_ci* Fri Sep 22 2023 zhouwenpei <zhouwenpei1@h-partners.com> - 1:2.4.0-10
472a6a784faSopenharmony_ci- fix CVE-2023-4504
473a6a784faSopenharmony_ci
474a6a784faSopenharmony_ci* Wed Jul 19 2023 haomimi <haomimi@uniontech.com> - 1:2.4.0-9
475a6a784faSopenharmony_ci- DESC:The license is changed to apache 2.0
476a6a784faSopenharmony_ci
477a6a784faSopenharmony_ci* Mon Jun 26 2023 zhouwenpei <zhouwenpei@h-partners.com> - 1:2.4.0-8
478a6a784faSopenharmony_ci- fix CVE-2023-34241
479a6a784faSopenharmony_ci
480a6a784faSopenharmony_ci* Fri Jun 9 2023 zhangpan <zhangpan103@h-partners.com> - 1:2.4.0-7
481a6a784faSopenharmony_ci- fix build error
482a6a784faSopenharmony_ci
483a6a784faSopenharmony_ci* Sat Jun 3 2023 zhouwenpei <zhouwenpei@h-partners.com> - 1:2.4.0-6
484a6a784faSopenharmony_ci- fix CVE-2023-32324
485a6a784faSopenharmony_ci
486a6a784faSopenharmony_ci* Tue Feb 21 2023 zhouwenpei <zhouwenpei@h-partners.com> - 2.4.0-5
487a6a784faSopenharmony_ci- fix update conflict of devel and help
488a6a784faSopenharmony_ci
489a6a784faSopenharmony_ci* Wed Jun 15 2022 hanhui <hanhui15@h-partners.com> - 2.4.0-4
490a6a784faSopenharmony_ci- Remove legacy code for RIP_MAX_CACHE environment variable
491a6a784faSopenharmony_ci
492a6a784faSopenharmony_ci* Thu Jun 9 2022 hanhui <hanhui15@h-partners.com> - 2.4.0-3
493a6a784faSopenharmony_ci- fix CVE-2022-26691
494a6a784faSopenharmony_ci
495a6a784faSopenharmony_ci* Thu May 12 2022 zhanzhimin <zhanzhimin@h-partners.com> - 2.4.0-2
496a6a784faSopenharmony_ci- fix official website address
497a6a784faSopenharmony_ci
498a6a784faSopenharmony_ci* Thu Dec 9 2021 hanhui <hanhui15@huawei.com> - 2.4.0-1
499a6a784faSopenharmony_ci- DESC:update to cups-2.4.0
500a6a784faSopenharmony_ci
501a6a784faSopenharmony_ci* Thu Nov 04 2021 wangkerong <wangkerong@huawei.com> - 2.3.3-8
502a6a784faSopenharmony_ci- Type:bugfix
503a6a784faSopenharmony_ci- ID:NA
504a6a784faSopenharmony_ci- SUG:NA
505a6a784faSopenharmony_ci- DESC:fix cups-devel requires error
506a6a784faSopenharmony_ci
507a6a784faSopenharmony_ci* Fri Sep 24 2021 liuyumeng <liuyumeng5@huawei.com> - 2.3.3-7
508a6a784faSopenharmony_ci- Type:CVE
509a6a784faSopenharmony_ci- ID:CVE-2020-10001
510a6a784faSopenharmony_ci- SUG:NA
511a6a784faSopenharmony_ci- DESC:Fix CVE-2020-10001
512a6a784faSopenharmony_ci
513a6a784faSopenharmony_ci* Tue Jun 08 2021 wangkerong <wangkeorng@huawei.com> - 2.3.3-6
514a6a784faSopenharmony_ci- Type:CVE
515a6a784faSopenharmony_ci- ID:CVE-2021-25317
516a6a784faSopenharmony_ci- SUG:NA
517a6a784faSopenharmony_ci- DESC:Fix CVE-2021-25317
518a6a784faSopenharmony_ci
519a6a784faSopenharmony_ci* Tue May 25 2021 liuyumeng <liuyumeng@huawei.com> - 2.3.3-5
520a6a784faSopenharmony_ci- remove unused ncp backend
521a6a784faSopenharmony_ci
522a6a784faSopenharmony_ci* Mon May 24 2021 liuyumeng <liuyumeng@huawei.com> - 2.3.3-4
523a6a784faSopenharmony_ci- Type:bugfix
524a6a784faSopenharmony_ci- ID:NA
525a6a784faSopenharmony_ci- SUG:NA
526a6a784faSopenharmony_ci- DESC:Compilation optimization
527a6a784faSopenharmony_ci
528a6a784faSopenharmony_ci* Tue Sep 29 2020 hanhui <hanhui15@huawei.com> - 2.3.3-3
529a6a784faSopenharmony_ci- Type:bugfix
530a6a784faSopenharmony_ci- ID:NA
531a6a784faSopenharmony_ci- SUG:NA
532a6a784faSopenharmony_ci- DESC:fix build bug
533a6a784faSopenharmony_ci
534a6a784faSopenharmony_ci* Wed Sep 9 2020 hanhui <hanhui15@huawei.com> - 2.3.3-2
535a6a784faSopenharmony_ci- Type:bugfix
536a6a784faSopenharmony_ci- ID:NA
537a6a784faSopenharmony_ci- SUG:NA
538a6a784faSopenharmony_ci- DESC:modify source url
539a6a784faSopenharmony_ci
540a6a784faSopenharmony_ci* Mon Jul 20 2020 wangye <wang70@huawei.com> - 2.3.3-1
541a6a784faSopenharmony_ci- Type:enhancement
542a6a784faSopenharmony_ci- ID:NA
543a6a784faSopenharmony_ci- SUG:NA
544a6a784faSopenharmony_ci- DESC:upgrade to 2.3.3
545a6a784faSopenharmony_ci
546a6a784faSopenharmony_ci* Fri Jun 12 2020 hanhui <hanhui15@huawei.com> - 2.2.13-1
547a6a784faSopenharmony_ci- Type:enhancement
548a6a784faSopenharmony_ci- ID:NA
549a6a784faSopenharmony_ci- SUG:NA
550a6a784faSopenharmony_ci- DESC:upgrade to 2.2.13
551a6a784faSopenharmony_ci
552a6a784faSopenharmony_ci* Thu Mar 26 2020 gaihuiying <gaihuiying1@huawei.com> - 2.2.8-9
553a6a784faSopenharmony_ci- Type:cves
554a6a784faSopenharmony_ci- ID:CVE-2019-2228
555a6a784faSopenharmony_ci- SUG:restart
556a6a784faSopenharmony_ci- DESC:fix CVE-2019-2228
557a6a784faSopenharmony_ci
558a6a784faSopenharmony_ci* Sat Jan 11 2020 openEuler Buildteam <buildteam@openeuler.org> - 2.2.8-8
559a6a784faSopenharmony_ci- Type:enhancement
560a6a784faSopenharmony_ci- ID:NA
561a6a784faSopenharmony_ci- SUG:NA
562a6a784faSopenharmony_ci- DESC: delete patches
563a6a784faSopenharmony_ci
564a6a784faSopenharmony_ci* Wed Sep 25 2019 gaoguanghui <gaoguanghui1@huawei.com> - 2.2.8-7
565a6a784faSopenharmony_ci- Type:cves
566a6a784faSopenharmony_ci- ID:CVE-2019-8675 CVE-2019-8696
567a6a784faSopenharmony_ci- SUG:restart
568a6a784faSopenharmony_ci- DESC:fix CVE-2019-8675 CVE-2019-8696
569a6a784faSopenharmony_ci
570a6a784faSopenharmony_ci* Wed Sep 18 2019 Guan Yanjie <guanyanjie@huawei.com> - 2.2.8-6
571a6a784faSopenharmony_ci- Package init
572