From 8c7c8639fafbc32a86db8ef87cf832ccc2d0e3d2 Mon Sep 17 00:00:00 2001 From: Zdenek Dohnal Date: Wed, 20 Dec 2023 14:38:57 +0100 Subject: [PATCH] RHEL-19201 redhat-lsb unnecessary pulls in cups and avahi dependencies Resolves: RHEL-19201 --- cups-filters.spec | 113 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 78 insertions(+), 35 deletions(-) diff --git a/cups-filters.spec b/cups-filters.spec index 32dda51..033e2b5 100644 --- a/cups-filters.spec +++ b/cups-filters.spec @@ -11,7 +11,7 @@ Summary: OpenPrinting CUPS filters and backends Name: cups-filters Version: 1.28.7 -Release: 13%{?dist} +Release: 14%{?dist} # For a breakdown of the licensing, see COPYING file # GPLv2: filters: commandto*, imagetoraster, pdftops, rasterto*, @@ -42,6 +42,12 @@ Patch03: 0001-libcupsfilters-Fix-page-range-like-10-in-pdftopdf-fi.patch Patch04: beh-cve2023.patch +# split cups-browsed and cups-filters-driverless from main package +# for LSB to have smaller set of brought dependencies +# RHEL-13211 +Conflicts: cups-browsed < 1.28.7-14 +Conflicts: cups-filters-driverless < 1.28.7-14 + # autogen.sh BuildRequires: autoconf BuildRequires: automake @@ -90,7 +96,6 @@ BuildRequires: poppler-cpp-devel BuildRequires: avahi-devel BuildRequires: pkgconfig(avahi-glib) BuildRequires: pkgconfig(glib-2.0) -BuildRequires: systemd # Make sure we get postscriptdriver tags. BuildRequires: python3-cups @@ -98,9 +103,6 @@ BuildRequires: python3-cups # Testing font for test scripts. BuildRequires: dejavu-sans-fonts -# needed for systemd rpm macros in scriptlets -BuildRequires: systemd-rpm-macros - # cups-browsed needs systemd-resolved or nss-mdns for resolving .local addresses of remote print queues # let's not require a specific package and let the user decide what he wants to use. # just recommend nss-mdns for Fedora for now to have working default, but @@ -108,11 +110,6 @@ BuildRequires: systemd-rpm-macros %if 0%{?fedora} Recommends: nss-mdns %endif -# Avahi is needed for device discovery for newer (2012+) devices and its sharing - make it recommended -Recommends: avahi -# ippfind is used in driverless backend, not needed classic PPD based print queue -Recommends: cups-ipptool - %if %{with braille} Recommends: %{name}-braille%{?_isa} = %{version}-%{release} %endif @@ -132,14 +129,6 @@ Requires: liberation-mono-fonts # and for printing banners, for other printers we need gs - ghostscript Requires: poppler-utils -# cups-browsed -# cups-browsed needs to have cups.service to run -Requires: cups -Requires(post): systemd -Requires(preun): systemd -Requires(postun): systemd - - %package libs Summary: OpenPrinting CUPS filters and backends - cupsfilters and fontembed libraries # LGPLv2: libcupsfilters @@ -151,6 +140,40 @@ Summary: OpenPrinting CUPS filters and backends - development environment License: LGPLv2 and MIT Requires: cups-filters-libs%{?_isa} = %{version}-%{release} +%package -n cups-browsed +Summary: Daemon for local auto-installation of remote printers +License: LGPLv2+ +Conflicts: cups-filters < 1.28.7-14 +# needed for systemd rpm macros in scriptlets +BuildRequires: systemd-rpm-macros +# needed if mDNS browsing and sharing is required +Recommends: avahi +# it needs cups.service for running +Requires: cups +# puts files into its dirs +Requires: cups-filesystem +# uses functions from libcupsfilters +Requires: cups-filters-libs%{?_isa} = %{version}-%{release} +# rpm scriptlets for the service file +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd + +%package driverless +Summary: OpenPrinting driverless backends and drivers for CUPS 2.X +License: LGPLv2+ +Conflicts: cups-filters < 1.28.7-14 +# requires avahi and cups-ipptool - it is needed for driverless support, +# but it is useless for older devices and cups servers +Requires: avahi +# puts files into its dirs +Requires: cups-filesystem +# uses ippfind +Requires: cups-ipptool +# uses functions from libcupsfilters +Requires: cups-filters-libs%{?_isa} = %{version}-%{release} + + %if %{with braille} %package braille Summary: OpenPrinting CUPS filters and backends - braille filters and backend @@ -180,6 +203,19 @@ This package provides cupsfilters and fontembed libraries. %description devel This is the development package for OpenPrinting CUPS filters and backends. +%description -n cups-browsed +cups-browsed is a helper daemon, which automatically installs printers +locally, provides load balancing and clustering of print queues. +The daemon installs the printers based on found mDNS records and CUPS +broadcast, or by polling a remote print server. + +%description driverless +Contains backends and drivers for driverless implementation for cups-filters, +which makes driverless printers to be seen when listing printers nearby and gives +a specific generated driver for driverless printer in the local network. They are +tools for backward compatibility with applications which don't handle CUPS temporary +queues. + %if %{with braille} %description braille The package provides filters and cups-brf backend needed for braille printing. @@ -256,7 +292,7 @@ ln -sf %{_cups_serverbin}/filter/foomatic-rip %{buildroot}%{_bindir}/foomatic-ri %check make check -%post +%post -n cups-browsed %systemd_post cups-browsed.service # put UpdateCUPSQueuesMaxPerCall and PauseBetweenCUPSQueueUpdates into cups-browsed.conf @@ -276,10 +312,10 @@ do fi done -%preun +%preun -n cups-browsed %systemd_preun cups-browsed.service -%postun +%postun -n cups-browsed %systemd_postun_with_restart cups-browsed.service %ldconfig_scriptlets libs @@ -291,18 +327,11 @@ done %{_pkgdocdir}/AUTHORS %{_pkgdocdir}/NEWS %{_bindir}/foomatic-rip -%{_bindir}/driverless -%{_bindir}/driverless-fax -%{_sbindir}/cups-browsed %attr(0700,root,root) %{_cups_serverbin}/backend/beh -# implicitclass backend must be run as root -%attr(0700,root,root) %{_cups_serverbin}/backend/implicitclass # all backends needs to be run only as root because of kerberos %attr(0700,root,root) %{_cups_serverbin}/backend/parallel # Serial backend needs to run as root (bug #212577#c4). %attr(0700,root,root) %{_cups_serverbin}/backend/serial -%{_cups_serverbin}/backend/driverless -%{_cups_serverbin}/backend/driverless-fax %attr(0755,root,root) %{_cups_serverbin}/filter/bannertopdf %attr(0755,root,root) %{_cups_serverbin}/filter/commandtoescpx %attr(0755,root,root) %{_cups_serverbin}/filter/commandtopclx @@ -327,8 +356,6 @@ done %attr(0755,root,root) %{_cups_serverbin}/filter/texttopdf %attr(0755,root,root) %{_cups_serverbin}/filter/texttops %attr(0755,root,root) %{_cups_serverbin}/filter/texttotext -%{_cups_serverbin}/driver/driverless -%{_cups_serverbin}/driver/driverless-fax %{_datadir}/cups/banners %{_datadir}/cups/charsets %{_datadir}/cups/data/* @@ -341,11 +368,6 @@ done # this needs to be in the main package because of cupsfilters.drv %{_datadir}/cups/ppdc/pcl.h %{_mandir}/man1/foomatic-rip.1.gz -%{_mandir}/man1/driverless.1.gz -%{_mandir}/man5/cups-browsed.conf.5.gz -%{_mandir}/man8/cups-browsed.8.gz -%config(noreplace) %{_sysconfdir}/cups/cups-browsed.conf -%{_unitdir}/cups-browsed.service %files libs %dir %{_pkgdocdir}/ @@ -364,6 +386,24 @@ done %{_libdir}/pkgconfig/libcupsfilters.pc %{_libdir}/pkgconfig/libfontembed.pc +%files -n cups-browsed +%config(noreplace) %{_sysconfdir}/cups/cups-browsed.conf +# implicitclass backend must be run as root +%attr(0700,root,root) %{_cups_serverbin}/backend/implicitclass +%{_sbindir}/cups-browsed +%{_unitdir}/cups-browsed.service +%{_mandir}/man8/cups-browsed.8.gz +%{_mandir}/man5/cups-browsed.conf.5.gz + +%files driverless +%{_bindir}/driverless +%{_bindir}/driverless-fax +%{_cups_serverbin}/backend/driverless +%{_cups_serverbin}/backend/driverless-fax +%{_cups_serverbin}/driver/driverless +%{_cups_serverbin}/driver/driverless-fax +%{_mandir}/man1/driverless.1.gz + %if %{with braille} %files braille # cups-brf needs to be run as root, otherwise it leaves error messages @@ -408,6 +448,9 @@ done %endif %changelog +* Wed Dec 20 2023 Zdenek Dohnal - 1.28.7-14 +- RHEL-19201 redhat-lsb unnecessary pulls in cups and avahi dependencies + * Tue Aug 08 2023 Zdenek Dohnal - 1.28.7-13 - 2229784 - Add textonly driver back, but as lftocrlf