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