Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP5:Update
cups154.417
cups154.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File cups154.spec of Package cups154.417
# # spec file for package cups154 # # Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: cups154 # The RPM binary package name for this traditional CUPS 1.5.4 # cannot be also "cups" as used for the SLE12 default CUPS 1.7 # regardless that the SUSE Build Service "just works" when various # versions of a software are built in one same build service project # by using only different build service package names where all # specify the same RPM binary package name in their spec files # because the resulting RPM binary packages differ in their # RPM binary packages file names that contains different versions. # Unfortunately some other SUSE internal stuff does not "just work" # when various build service packages result binary packages # with same binary package name but only different versions. # Those other SUSE internal stuff requires binary package names # to be unique in one same build service project. # Below I use verbatim "cups154" (and not the RPM macro 'name') # to explicitly make it obvious when "cups154" is meant. BuildRequires: dbus-1-devel BuildRequires: fdupes BuildRequires: gcc-c++ # Use krb5-mini-devel to avoid this cycle in the build system: # cups -> krb5 -> python-Jinja2 -> vim -> gtk2 -> cups # Because krb5-mini-devel is not available for SLE11 # krb5-devel must be used for SLE11 builds, see # http://en.opensuse.org/openSUSE:Build_Service_cross_distribution_howto # for the appropriate suse_version value: %if 0%{?suse_version} > 1110 BuildRequires: krb5-mini-devel %else BuildRequires: krb5-devel %endif BuildRequires: libjpeg-devel BuildRequires: libpng-devel BuildRequires: libtiff-devel # Have libtool as explicit buildrequirement to no longer depend # on a "hidden" buildrequirement in the OBS project definition: BuildRequires: libtool BuildRequires: openldap2-devel BuildRequires: openslp-devel BuildRequires: openssl-devel BuildRequires: pam-devel BuildRequires: pkgconfig # The "BuildRequires: poppler-tools" installs /usr/bin/pdftops for the # check in config-scripts/cups-pdf.m4 regarding HAVE_PDFTOPS_WITH_ORIGPAGESIZE # see https://www.cups.org/str.php?L3689 # If the installed /usr/bin/pdftops in the build system is new enough # to support the "-origpagesizes" option it results that the CUPS filter # /usr/lib/cups/filter/pdftops is built so that it uses "-origpagesizes" # when calling /usr/bin/pdftops otherwise it falls back to not use "-origpagesizes" # but those fallback would result wrong PostScript output since poppler > 0.18.0 # see https://bugzilla.novell.com/show_bug.cgi?id=776080 BuildRequires: poppler-tools BuildRequires: tcpd-devel BuildRequires: update-desktop-files BuildRequires: zlib-devel # See http://en.opensuse.org/openSUSE:Systemd_packaging_guidelines # that reads as of this writing (Thu Feb 13 12:20:32 CET 2014) # where here the RPM macro percentage sign is replaced with '@' to be safe: # Starting with openSUSE 12.1, several RPM macros # must be used to package systemd services files # Build Requirement # You should add : # @if 0@{?suse_version} >= 1210 # BuildRequires: systemd # @endif # as Build Requires. # Requires # Add # @{?systemd_requires} # to ensure the needed dependencies are added to your package %if 0%{?suse_version} >= 1210 BuildRequires: systemd %{?systemd_requires} %define have_systemd 1 # _tmpfilesdir is not defined in systemd macros up to openSUSE 12.3 and # in openSUSE 13.1 "rpm --eval @{_tmpfilesdir}" results /usr/lib/tmpfiles.d # (above the RPM macro percentage sign is replaced with '@' to be safe): %{!?_tmpfilesdir: %global _tmpfilesdir /usr/lib/tmpfiles.d } %endif BuildRequires: update-desktop-files BuildRequires: zlib-devel PreReq: coreutils # /usr/sbin/groupadd is called by the "pre" scriptlet: PreReq: /usr/sbin/groupadd PreReq: %insserv_prereq PreReq: %fillup_prereq # sysvinit(syslog) is first provided in openSUSE 11.4: %if 0%{?suse_version} > 1130 PreReq: sysvinit(syslog) %endif Url: http://www.cups.org/ Summary: Common UNIX Printing System Traditional Version 1.5.4 License: SUSE-GPL-2.0-with-openssl-exception and LGPL-2.1 Group: Hardware/Printing Version: 1.5.4 Release: 0 # Source0...Source9 is for sources from upstream: # URL for Source0: http://www.cups.org/software/1.5.4/cups-1.5.4-source.tar.bz2 # MD5 sum for Source0 on http://www.cups.org/software.php de3006e5cf1ee78a9c6145ce62c4e982 # The Source0 URL must be valid, otherwise the factory-auto check script errors out # with "Failed to download ... Source URLs are not valid.": Source0: http://www.cups.org/software/%{version}/cups-%{version}-source.tar.bz2 # Require the exact matching version-release of the cups-libs sub-package because # non-matching CUPS libraries may let CUPS software crash (e.g. segfault) # because all CUPS software is built from the one same CUPS source tar ball # so that there are CUPS-internal dependencies via CUPS private API calls # (which do not happen for third-party software which uses only the CUPS public API). # The exact matching version-release of the cups-libs sub-package is available # on the same package repository where the cups package is because # all are built simulaneously from the same cups source package # and all required packages are provided on the same repository: Requires: cups154-libs = %{version}-%{release} # Require the exact matching version-release of the cups-client sub-package because # because all CUPS software is built from the one same CUPS source tar ball # so that there could be whatever subtle CUPS-internal dependencies. # The exact matching version-release of the cups-client sub-package is available # on the same package repository where the cups package is because # all are built simulaneously from the same cups source package # and all required packages are provided on the same repository: Requires: cups154-client = %{version}-%{release} # Inherited RPM Requires from the past but I (jsmeix@suse.de) do not know the reason for it: Requires: util-linux # Since CUPS 1.6 all all non-Mac filters are dropped in CUPS # (in particular pdftops, imagetops, imagetoraster, and texttops). # Linux-specific printing filters for CUPS are now provided by the cups-filters package. # Additionally the cups-filters package provides the serial and parallel backends # and banner template files (the CUPS testprint is also a CUPS banner type file). # To make it possible to use CUPS 1.5.4 with those filters, backends, and banners from CUPS 1.5.4 # or from the cups-filters package, those filters, backends, and banners from CUPS 1.5.4 # are split into a cups154-filters sub-package so that CUPS 1.5.4 can be installed # without cups154-filters and instead with cups-filters. # Those filters, backends, and banners are not strictly required for CUPS # (e.g. on client systems in the network where the filtering happens on a CUPS server # or on a CUPS server with only "raw" queues) so that a weak Recommends fits better. # Only those filters, backends, and banners from CUPS 1.5.4 are recommended here. # Using those filters, backends, and banners from cups-filters requires manual installation: Recommends: cups154-filters # The Ghostscript device "cups" is needed by several CUPS filters # (in particular the "rasterto..." filters) which might justify a RPM Requires. # But a RPM requirement for ghostscript would cause a build dependency cycle because # cups Requires ghostscript which BuildRequires cups-devel which Requires cups-libs # and cups-libs is a sub-package of cups so that there is an implicit build dependency # cycle between the main-packages cups and ghostscript. # Furthermore Ghostscript is not needed on a system where those CUPS filters are not used # (e.g. on client systems in the network where the filtering hapens on a CUPS server # or on a CUPS server with only "raw" queues) so that a weak Recommends fits better: Recommends: ghostscript # The CUPS filter /usr/lib/cups/filter/pdftops is a wrapper which calls /usr/bin/pdftops # (see the configure setting '--with-pdftops=pdftops') so that this # might justify a RPM Requires but this CUPS filter is not used on all systems # (e.g. on client systems in the network where the filtering hapens on a CUPS server # or on a CUPS server with only "raw" queues) so that a weak Recommends is sufficient: Recommends: /usr/bin/pdftops # Our Source105 PSLEVEL1.PPD.bz2 and Source106 PSLEVEL2.PPD.bz2 need foomatic-rip # but this does not justify a RPM Requires so that a weak Recommends is sufficient: Recommends: foomatic-filters # Our Source105 PSLEVEL1.PPD.bz2 and Source106 PSLEVEL2.PPD.bz2 need foomatic-rip # but this does not justify a RPM Requires so that a weak Recommends is sufficient. # Nowadays foomatic-filters is provided by cups-filters-foomatic-rip. # CUPS 1.5.4 may also need the filters in cups-filters-ghostscript # but cups-filters-ghostscript is already required by cups-filters-foomatic-rip # soe that a Recommends for foomatic-filters pulls in all normally needed filters: Recommends: foomatic-filters # Conflicts with CUPS > 1.5.4 because CUPS 1.6 has major incompatible changes, # see https://bugzilla.novell.com/show_bug.cgi?id=735404 # When users have a working CUPS < 1.6 installation, they should not upgrade. # Users who already use CUPS < 1.6 and like to upgrade, should re-validate # that their particular printing system still works according to their needs. # For SLE12 we provide the last traditional CUPS version 1.5.4 # as "cups154" RPMs in the "legacy" module in parallel with # the default up-to-date CUPS 1.7 as "cups" RPMs. # This way users where CUPS 1.7 does not support their particular needs # (in particular users who need the original CUPS Browsing features) # can still use CUPS 1.5.4 on SLE12 but for those users any kind of (semi)-automated # CUPS version upgrade to a CUPS > 1.5.4 version must be strictly prohibited. # Therefore the package name contains the version and it conflicts with higher versions # to avoid that an installed CUPS 1.5.4 gets accidentally replaced with a higher version. # On the other hand an older installed CUPS version like CUPS 1.3.9 from SLE11 can be # upgraded to CUPS 1.5.4 because CUPS 1.5.4 is reasonably compatible with CUPS < 1.5.4: Conflicts: cups > %{version} # Provide the well known generic name "cups" so that it is easier for users # to find or install the RPM package name "cups154" that actually provides it # e.g. via "zypper search cups" or "zypper install cups": Provides: cups = %{version} # Conflicts with other print spoolers which provide same binaries like /usr/bin/lp and so on # or which may listen on the same port (e.g. cups-lpd versus traditional lpd on port 515): Conflicts: lprng Conflicts: lprold Conflicts: plp # Patch0...Patch9 is for patches from upstream: # Source10...Source99 is for sources from SUSE which are intended for upstream: # Patch10...Patch99 is for patches from SUSE which are intended for upstream: # Patch10 cups-1.2rc1-template.patch adds 'smb://...' URIs to templates/choose-uri.tmpl: Patch10: cups-1.2rc1-template.patch # Patch11 cups-1.4.3-default-webcontent-path.patch changes the default path whereto the # web content is installed from /usr/share/doc/cups to /usr/share/cups/webcontent # because the files of the CUPS web content are no documentation, see CUPS STR #3578 # and http://bugzilla.novell.com/show_bug.cgi?id=546023#c6 and subsequent comments: Patch11: cups-1.4.3-default-webcontent-path.patch # Source100...Source999 is for private sources from SUSE which are not intended for upstream: Source101: cups.init Source102: postscript.ppd.bz2 Source103: cups.sysconfig Source104: cups.xinetd Source105: PSLEVEL1.PPD.bz2 Source106: PSLEVEL2.PPD.bz2 Source108: cups-client.conf Source109: baselibs.conf Source110: cups.service # Patch100...Patch999 is for private patches from Novell/openSUSE which are not intended for upstream: # Patch100 adds conf/pam.suse regarding support for PAM for Novell/openSUSE: Patch100: cups-pam.diff # Patch101 adds 'Allow 127.0.0.2' to cupsd.conf # to allow access for the loopback IP address 127.0.0.2 # which is set for the hostname by Novell/openSUSE in /etc/hosts Patch101: cups-1.3.6-access_conf.patch # Patch102 changes desktop/cups.desktop according to what Novell/openSUSE needs: Patch102: cups-1.3.9-desktop_file.patch # Patch103 reverts the change which was added by Michael Sweet in Jan 2007 # which strips the word "recommended" from NickName in PPDs because # at least yast2-printer in Novell/openSUSE needs it, compare the # 'Why not "recommend" PPDs in the NickName?' and the subsequent # 'RFC: New Driver Rating/Information Attributes' mail thread on cups@easysw.com: Patch103: cups-1.4-do_not_strip_recommended_from_PPDs.patch # Patch104 adds the 'allowallforanybody' policy to cupsd.conf # see https://fate.novell.com/303515 Patch104: cups-1.5-additional_policies.patch # Patch106 fixes option --libs in cups-config script: Patch106: cups-config-libs.patch # Patch108 cups-move-everything-to-run.patch (move pid, socket and lock files to /run) # Explanation that I got via mail from Robert Milasan (quotation): # the changes are due to systemd. Systemd needs /run and in our case # openSUSE we bind /run to /var/run which at boot time can created # issues, meaning /var/run is used before being binded to /run. # All apps should use /run and /run/lock instead of /var/run and /var/lock. # In other distro's they links /run to /var/run and /run/lock # to /var/lock, but we don't, so it's better to move everything # and yes upstream should do the same. Please also check: # http://lists.opensuse.org/opensuse-factory/2013-01/msg00578.html Patch108: cups-move-everything-to-run.patch # Patch109 fixes STR #4190: Send-Document failure ignored # (also applies to client-error-not-authorized) Patch109: str4190.patch # Patch110 avoids any possible busy loop in cups-polld in case of unusual issues # by sleeping interval seconds see https://bugzilla.novell.com/show_bug.cgi?id=828228 Patch110: cups-polld_avoid_busy_loop.patch # Patch113 adds protection against privilege escalation by non-root users # who have been allowed by root to do CUPS configuration changes # (CUPS STR#4223 CVE-2012-5519 Novell/Suse Bugzilla bnc#789566): Patch113: cups-1.5.4-CVE-2012-5519.patch # Patch114 fixes STR #4351: cups-lpd hugh jobs (>2G) fail Patch114: str4351.patch # Patch115 fixes STR #4388: no or malformed output from lpstat in charset other than utf-8 Patch115: cups-1.5.4-strftime.patch # Patch116 fixes that the web interface incorrectly served symlinked files # and files that were not world-readable, potentially leading to # a disclosure of information (CVE-2014-3537 STR #4450 bnc#887240 # plus the subsequent CVE-2014-5029 CVE-2014-5030 CVE-2014-5031 STR #4455): Patch116: str4450.CVE-2014-3537.str4455.CVE-2014-5029.CVE-2014-5030.CVE-2014-5031.CUPS-1.5.4.patch # Patch117 str4551.CVE-2014-9679.CUPS-1.5.4.patch is the upstream patch # https://www.cups.org/strfiles.php/3438/str4551.patch # backported to CUPS-1.5.4 # that fixes a possible buffer overflow in filter/raster.c # (CUPS STR#4551 CVE-2014-9679 bugzilla.suse.com bsc#917799): Patch117: str4551.CVE-2014-9679.CUPS-1.5.4.patch # Install into this non-root directory (required when norootforbuild is used): BuildRoot: %{_tmppath}/%{name}-%{version}-build %description The Common UNIX Printing System (CUPS) is the standards-based, open source printing system. See http://www.cups.org For SLE12 we provide the last traditional CUPS version 1.5.4 as "cups154" RPMs in the "legacy" module in parallel with the default up-to-date CUPS 1.7 as "cups" RPMs. This way users where CUPS 1.7 does not support their particular needs (in particular users who need the original CUPS Browsing features) can still use CUPS 1.5.4 on SLE12. For those users any kind of (semi)-automated CUPS version upgrade to a CUPS > 1.5.4 version is prohibited. Therefore the package name contains the version and it conflicts with higher versions. %package libs # As of this writing (Sep 02 2014) a versioned libraries sub-package name # is not possible with reasonable effort because there would be many files with # identical names in libraries sub-packages of different CUPS versions so that # currently it is not possible to have different CUPS libraries versions # installed at the same time. # The CUPS 1.7 API in the SLE12 CUPS default version is backward compatible # with the CUPS 1.5.4 API (existing function signatures are not changed) # but newer CUPS libraries provide some new (additional) functions. # In openSUSE 13.1 and openSUSE Factory (as of this writing Sep 02 2014) # we still have (intentionally) the traditional CUPS version 1.5.4 # so ensure that applications that are built on openSUSE # work with the traditional CUPS version 1.5.4 libraries, see # http://lists.opensuse.org/opensuse-factory/2013-08/msg00408.html # But there could be third-party applications or applications built on SLE12 # that use newer CUPS library functions via configure magic so that # such applications would require the current CUPS 1.7 libraries. # On SLE12 it is not possible to use CUPS 1.5.4 and such applications. # The traditional CUPS 1.5.4 for SLE12 is intentionally provided # only in the "legacy" module which means CUPS 1.5.4 for SLE12 is # mainly meant to be used for a traditional CUPS print server. # This does not mean CUPS 1.5.4 for SLE12 cannot be used on a desktop system. # It only means CUPS 1.5.4 for SLE12 cannot be used together with applications # that require the current CUPS 1.7 libraries. Summary: Libraries for CUPS Traditional Version 1.5.4 License: SUSE-GPL-2.0-with-openssl-exception and LGPL-2.1 Group: Hardware/Printing # Conflicts with CUPS > 1.5.4 because CUPS 1.6 has major incompatible changes (see above): Conflicts: cups-libs > %{version} # Provide the well known generic name "cups-libs" because some other stuff needs it, # in particular on SLE12 the package patterns-sles-base requires "cups-libs": Provides: cups-libs = %{version} # Prerequire /sbin/ldconfig which is used in the traditional bash scriptlets for post/postun: PreReq: /sbin/ldconfig # https://bugzilla.novell.com/show_bug.cgi?id=437293 %ifarch ppc64 Obsoletes: cups-libs-64bit %endif %description libs The Common UNIX Printing System (CUPS) is the standards-based, open source printing system. See http://www.cups.org For SLE12 we provide the last traditional CUPS version 1.5.4 as "cups154" RPMs in the "legacy" module. This package contains libraries needed by CUPS traditional version 1.5.4 and other packages. %package client Summary: CUPS Traditional Version 1.5.4 Client Programs License: SUSE-GPL-2.0-with-openssl-exception Group: Hardware/Printing # Conflicts with CUPS > 1.5.4 because CUPS 1.6 has major incompatible changes (see above): Conflicts: cups-client > %{version} # Provide the well known generic name "cups-client" so that it is easier for users # to find or install the RPM package name "cups154-client" that actually provides it # e.g. via "zypper search cups-client" or "zypper install cups-client": Provides: cups-client = %{version} # Conflicts with other print spoolers which provide same binaries like /usr/bin/lp and so on: Conflicts: lprng Conflicts: lprold Conflicts: plp # Require the exact matching version-release of the cups-libs sub-package because # non-matching CUPS libraries may let CUPS software crash (e.g. segfault) # because all CUPS software is built from the one same CUPS source tar ball # so that there are CUPS-internal dependencies via CUPS private API calls # (which do not happen for third-party software which uses only the CUPS public API). # The exact matching version-release of the cups-libs sub-package is available # on the same package repository where the cups package is because # all are built simulaneously from the same cups source package # and all required packages are provided on the same repository: Requires: cups154-libs = %{version}-%{release} %description client The Common UNIX Printing System (CUPS) is the standards-based, open source printing system. See http://www.cups.org For SLE12 we provide the last traditional CUPS version 1.5.4 as "cups154" RPMs in the "legacy" module. This package contains all programs needed for running a traditional version 1.5.4 CUPS client, not a server. %package filters Summary: CUPS Traditional Version 1.5.4 Filters, Backends, and Banners License: SUSE-GPL-2.0-with-openssl-exception Group: Hardware/Printing # Conflicts with any version of the cups-filters package (this package is cups154-filters) # because the cups-filters package provides same files (see above): Conflicts: cups-filters # Conflicts with other print spoolers which provide same binaries like /usr/bin/lp and so on: Conflicts: lprng Conflicts: lprold Conflicts: plp # Require the exact matching version-release of the cups-libs sub-package because # non-matching CUPS libraries may let CUPS software crash (e.g. segfault) # because all CUPS software is built from the one same CUPS source tar ball # so that there are CUPS-internal dependencies via CUPS private API calls # (which do not happen for third-party software which uses only the CUPS public API). # The exact matching version-release of the cups-libs sub-package is available # on the same package repository where the cups package is because # all are built simulaneously from the same cups source package # and all required packages are provided on the same repository: Requires: cups154-libs = %{version}-%{release} %description filters The Common UNIX Printing System (CUPS) is the standards-based, open source printing system. See http://www.cups.org For SLE12 we provide the last traditional CUPS version 1.5.4 as "cups154" RPMs in the "legacy" module. This package contains only those CUPS 1.5.4 filters, backends, and banners (the CUPS testprint is also a CUPS banner type file) that have been dropped or unsupported in CUPS since version 1.6 which are now provided by the totally separated cups-filters package from OpenPrinting.org. The other CUPS 1.5.4 filters and backends are still provided by the cups154 main package. To make it possible to use CUPS 1.5.4 either with those filters, backends, and banners from CUPS 1.5.4 or from the cups-filters package, those filters, backends, and banners from CUPS 1.5.4 are split into this cups154-filters sub-package so that CUPS 1.5.4 can be installed without cups154-filters and instead with cups-filters. Those filters, backends, and banners are not strictly required for CUPS (e.g. on client systems in the network where the filtering happens on a CUPS server or on a CUPS server with only "raw" queues) so that the cups154-filters sub-package is only recommended to be installed. Using those filters, backends, and banners from cups-filters requires manual installation. %package devel Summary: Development Environment for CUPS Traditional Version 1.5.4 License: SUSE-GPL-2.0-with-openssl-exception Group: Development/Libraries/C and C++ # Do not require the exact matching version-release of cups-libs # but only a cups-libs package with matching version because # for building third-party software which uses only the CUPS public API # there are no CUPS-internal dependencies via CUPS private API calls # (the latter would require the exact matching cups-libs version-release): Requires: cups154-libs = %{version} Requires: glibc-devel # https://bugzilla.novell.com/show_bug.cgi?id=437293 %ifarch ppc64 Obsoletes: cups-devel-64bit %endif %description devel The Common UNIX Printing System (CUPS) is the standards-based, open source printing system. See http://www.cups.org For SLE12 we provide the last traditional CUPS version 1.5.4 as "cups154" RPMs in the "legacy" module. This is the development package for traditional CUPS version 1.5.4. %package ddk Summary: CUPS Traditional Version 1.5.4 Driver Development Kit License: SUSE-GPL-2.0-with-openssl-exception Group: Hardware/Printing Requires: cups154 = %{version} Requires: cups154-devel = %{version} # Since CUPS 1.4 the CUPS Driver Development Kit (DDK) is bundled with CUPS. # For CUPS 1.2.x and 1.3.x, the DDK was separated software # which we provided (up to openSUSE 11.1 / SLE11) in our cupsddk package: Provides: cupsddk = %{version} Obsoletes: cupsddk < %{version} %description ddk The Common UNIX Printing System (CUPS) is the standards-based, open source printing system. See http://www.cups.org For SLE12 we provide the last traditional CUPS version 1.5.4 as "cups154" RPMs in the "legacy" module. The CUPS traditional version 1.5.4 Driver Development Kit (DDK) provides a suite of standard drivers, a PPD file compiler, and other utilities that can be used to develop printer drivers for CUPS traditional version 1.5.4. %prep # Be quiet when unpacking: %setup -q -n cups-%{version} # Patch0...Patch9 is for patches from upstream: # Patch10...Patch99 is for patches from Novell/openSUSE which are intended for upstream: # Patch10 adds 'smb://...' URIs to templates/choose-uri.tmpl: %patch10 -p1 # Patch11 changes the default path whereto the web content is installed # from /usr/share/doc/cups to /usr/share/cups/webcontent because the # files of the CUPS web content are no documentation, see CUPS STR #3578 # and http://bugzilla.novell.com/show_bug.cgi?id=546023#c6 and subsequent comments: %patch11 # Patch100...Patch999 is for private patches from Novell/openSUSE which are not intended for upstream: # Patch100 adds conf/pam.suse regarding support for PAM for Novell/openSUSE: %patch100 # Patch101 adds 'Allow 127.0.0.2' to cupsd.conf: %patch101 -p1 # Patch102 changes desktop/cups.desktop according to what Novell/openSUSE needs: %patch102 # Patch103 reverts the change which strips the word "recommended" from NickName in PPDs: %patch103 # Patch104 adds the 'allowallforanybody' policy to cupsd.conf: %patch104 # Patch106 fixes option --libs in cups-config script: %patch106 %if %suse_version > 1220 # Patch108 moves everything to /run %patch108 -p1 %endif # Patch109: STR #4190 %patch109 # Patch110 avoids any possible busy loop in cups-polld %patch110 # Patch113 adds protection against privilege escalation by non-root users # who have been allowed by root to do CUPS configuration changes # (CUPS STR#4223 CVE-2012-5519 Novell/Suse Bugzilla bnc#789566): %patch113 # Patch114 fixes STR #4351: cups-lpd hugh jobs (>2G) fail %patch114 # Patch115 fixes STR #4388: no or malformed output from lpstat in charset other than utf-8 %patch115 -p1 # Patch116 fixes that the web interface incorrectly served symlinked files # and files that were not world-readable, potentially leading to # a disclosure of information (CVE-2014-3537 STR #4450 bnc#887240 # plus the subsequent CVE-2014-5029 CVE-2014-5030 CVE-2014-5031 STR #4455): %patch116 # Patch117 str4551.CVE-2014-9679.CUPS-1.5.4.patch is the upstream patch # https://www.cups.org/strfiles.php/3438/str4551.patch # backported to CUPS-1.5.4 # that fixes a possible buffer overflow in filter/raster.c # (CUPS STR#4551 CVE-2014-9679 bugzilla.suse.com bsc#917799): %patch117 %build # Disable SILENT run of make so that make runs verbose as usual: sed -i -e 's/^\.SILENT:/# .SILENT:/' Makedefs.in libtoolize --force aclocal autoconf export CXXFLAGS="$CXXFLAGS $RPM_OPT_FLAGS -O2 -fstack-protector" export CFLAGS="$RPM_OPT_FLAGS -fstack-protector -DLDAP_DEPRECATED" export CXX=g++ # As long as cups-1.4.3-default-webcontent-path.patch is applied # configure --with-docdir=... would be no longer needed # because cups-1.4.3-default-webcontent-path.patch changes the # default with-docdir path whereto the web content is installed # from /usr/share/doc/cups to /usr/share/cups/webcontent because the # files of the CUPS web content are no documentation, see CUPS STR #3578 # and http://bugzilla.novell.com/show_bug.cgi?id=546023#c6 and subsequent comments # so that the new default could be used as is but upstream may accept # cups-1.4.3-default-webcontent-path.patch in general but change its default # so that with-docdir is explicitly set here to be future proof: ./configure \ --mandir=%{_mandir} \ --sysconfdir=%{_sysconfdir} \ --libdir=%{_libdir} \ --datadir=%{_datadir} \ --with-docdir=%{_datadir}/cups/webcontent \ --with-cups-user=lp \ --with-cups-group=lp \ --with-system-groups=root \ --enable-debug \ --enable-relro \ --enable-gssapi \ --disable-static \ --without-rcdir \ --enable-dbus \ --enable-ldap \ --with-java \ --with-php \ --with-python \ --with-cachedir=/var/cache/cups \ --with-pdftops=pdftops \ --prefix=/ make %{?_smp_mflags} CXX=g++ %install make BUILDROOT=%{buildroot} install # Use CUPS' own fonts (i.e. make CUPS work again in compliance with upstream). # In ancient times (see the RPM changelog entry dated "Thu Aug 16 17:05:19 CEST 2001") # there was the general opinion it would be a great idea to deviate from CUPS upstream # and save some disk space and do not install CUPS' own fonts in CUPS' own font directory. # Therefore CUPS' own fonts were removed and the CUPS font directory was replaced # by a symbolic link /usr/share/cups/fonts -> ../ghostscript/fonts # because at that times the Ghostscript fonts had been the same as CUPS' own fonts. # In any case such a link is a fragile non-future-proof interference because when either # the Ghostscript fonts or CUPS' own fonts change, linking them as same is wrong. # Meanwhile (I don't know exactly since when but since a long time) the Ghostscript fonts # do no longer work for CUPS' particular needs (CUPS has its own fonts because it needs them). # Nobody noticed it until 2014 via https://bugzilla.novell.com/show_bug.cgi?id=856731 # But it is not possible with RPM to replace a directory by a symbolic link or vice versa # see https://bugzilla.novell.com/show_bug.cgi?id=856731#c7 # and https://bugzilla.novell.com/show_bug.cgi?id=856731#c8 # This means /usr/share/cups/fonts must stay forever as a symbolic link # and the only way out is to move CUPS' own fonts to an artificial # surrogate directory /usr/share/cups/CUPSfonts and have the # symbolic link /usr/share/cups/fonts -> /usr/share/cups/CUPSfonts: pushd %{buildroot}%{_datadir}/cups/ mv fonts CUPSfonts && ln -s CUPSfonts fonts popd # Source103: cups.sysconfig install -d -m755 %{buildroot}/var/adm/fillup-templates install -m 644 %{SOURCE103} %{buildroot}/var/adm/fillup-templates/sysconfig.cups # Make directory for ssl files: mkdir -p %{buildroot}%{_sysconfdir}/cups/ssl # Add a client.conf as template (Source108: cups-client.conf): install -m644 %{SOURCE108} %{buildroot}%{_sysconfdir}/cups/client.conf %if %suse_version > 1220 sed -i -e 's|/var/run|/run|g' %{buildroot}%{_sysconfdir}/cups/client.conf %endif # Source104: cups.xinetd mkdir -p %{buildroot}%{_sysconfdir}/xinetd.d install -m 644 -D %{SOURCE104} %{buildroot}%{_sysconfdir}/xinetd.d/cups-lpd # Make the libraries accessible also via generic named links: ln -sf libcupsimage.so.2 %{buildroot}%{_libdir}/libcupsimage.so ln -sf libcups.so.2 %{buildroot}%{_libdir}/libcups.so # Add missing usual directories: install -d -m755 %{buildroot}%{_datadir}/cups/drivers install -d -m755 %{buildroot}/var/cache/cups # Add conf/pam.suse regarding support for PAM (see Patch100: cups-pam.diff): install -m 644 -D conf/pam.suse %{buildroot}/etc/pam.d/cups # Add missing usual documentation: install -d -m755 %{buildroot}/%{_defaultdocdir}/cups for f in CHANGES*.txt CREDITS.txt INSTALL.txt LICENSE.txt README.txt do install -m 644 "$f" %{buildroot}%{_defaultdocdir}/cups/ done # Source102: postscript.ppd.bz2 bzip2 -cd < %{SOURCE102} > %{buildroot}%{_datadir}/cups/model/Postscript.ppd # Source105: PSLEVEL1.PPD.bz2 bzip2 -cd < %{SOURCE105} > %{buildroot}%{_datadir}/cups/model/Postscript-level1.ppd # Source106: PSLEVEL2.PPD.bz2 bzip2 -cd < %{SOURCE106} > %{buildroot}%{_datadir}/cups/model/Postscript-level2.ppd find %{buildroot}/usr/share/cups/model -name "*.ppd" | while read FILE do # Change default paper size from Letter to A4 if possible # https://bugzilla.novell.com/show_bug.cgi?id=suse30662 # and delete trailing whitespace: perl -pi -e 's:^(\*Default.*)Letter\s*$:$1A4\n:; \ s:^(\*ImageableArea A4.*\:\s+)"0 0 595 842":$1"24 48 571 818":; \ s:^(\*ImageableArea Letter.*\:\s+)"0 0 612 792":$1"24 48 588 768":; \ s:\s\n:\n:' "$FILE" gzip -9 "$FILE" done # Add files for desktop menu: rm -f %{buildroot}/usr/share/applications/cups.desktop %suse_update_desktop_file -i cups PrintingUtility 2>/dev/null mkdir %{buildroot}/usr/share/pixmaps install -m 644 %{buildroot}/usr/share/icons/hicolor/64x64/apps/cups.png %{buildroot}/usr/share/pixmaps rm -rf %{buildroot}/usr/share/icons # Norwegian is "nb", "zh" is probably "zh_CN": mv %{buildroot}/usr/share/locale/{no,nb} mv %{buildroot}/usr/share/locale/{zh,zh_CN} # Save /etc/cups/cupsd.conf and /etc/cups/cupsd.conf.default from becoming hardlinked # via the fdupes run below, see https://bugzilla.novell.com/show_bug.cgi?id=773971 # by making their content different and at the same time fix the misleading comment. # Intentionally let the build fail if 'grep' does not find what 'sed' should change # because if upstream changed it 'sed' would silently no longer change the files # so that fdupes would make /etc/cups/cupsd.conf and /etc/cups/cupsd.conf.default hardlinked: grep -q '^# Sample configuration ' %{buildroot}/%{_sysconfdir}/cups/cupsd.conf sed -i -e 's/^# Sample configuration /# Configuration /' %{buildroot}/%{_sysconfdir}/cups/cupsd.conf grep -q '^# Sample configuration ' %{buildroot}/%{_sysconfdir}/cups/cupsd.conf.default sed -i -e 's/^# Sample configuration /# Default configuration /' %{buildroot}/%{_sysconfdir}/cups/cupsd.conf.default # Begin how cupsd is launched (via SysVinit or systemd): %if 0%{?have_systemd} # Begin launch cupsd via systemd: # See http://en.opensuse.org/openSUSE:Systemd_packaging_guidelines # that reads as of this writing (Thu Feb 13 12:20:32 CET 2014) # where here the RPM macro percentage sign is replaced with '@' to be safe: # Service files # Service files should always be installed in @_unitdir # (ie /usr/lib/systemd/system) and never in /etc/systemd/system # (so they can be overriden by users without conflicting with packaging). # Install Source110: cups.service install -d -m755 %{buildroot}/%{_unitdir} install -m 644 %{SOURCE110} %{buildroot}/%{_unitdir}/cups.service # Install /usr/lib/tmpfiles.d/cups.conf mkdir -p %{buildroot}%{_tmpfilesdir} cat > %{buildroot}%{_tmpfilesdir}/cups.conf <<EOF # See tmpfiles.d(5) for details d /run/cups 0755 root lp - d /run/cups/certs 0511 lp sys - d /var/spool/cups/tmp - - - 30d EOF # Provide SUSE policy symlink /usr/sbin/rcFOO -> /etc/init.d/FOO # /usr/sbin/service exists only since openSUSE 12.3: %if 0%{?suse_version} > 1220 ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rccups %else ln -s /sbin/service %{buildroot}%{_sbindir}/rccups %endif # End launch cupsd via systemd %else # Begin launch cupsd via SysVinit: install -d -m755 $RPM_BUILD_ROOT/etc/init.d # Source101: cups.init install -m755 %{SOURCE101} %{buildroot}/etc/init.d/cups ln -sf ../../etc/init.d/cups %{buildroot}/usr/sbin/rccups %if %suse_version > 1220 # Adapt init script according to Patch108 that moves everything to /run sed -i -e 's|/var/run|/run|g' %{buildroot}/etc/init.d/cups sed -i -e 's|/var/lock|/run/lock|g' %{buildroot}/etc/init.d/cups %endif # End launch cupsd via SysVinit %endif # End how cupsd is launched (via SysVinit or systemd) # Run fdupes: # The RPM macro fdupes runs /usr/bin/fdupes that links files with identical content. # Never run fdupes carelessly over the whole buildroot directory # because in older openSUSE and SLE11 versions fdupes # links files with different owner, group, or permissions # see https://bugzilla.novell.com/show_bug.cgi?id=784670 # and even in current openSUSE versions fdupes links across sub-package boundaries, # compare https://bugzilla.novell.com/show_bug.cgi?id=784869 # so that fdupes can only run for specific directories where linking files is safe. # Using fdupes -s, which will create symlinks that are easier to grasp for rpm and # rpmlint will give a "dangling symlink" error if the file and link ended up in different packages. # All symlinks created by fdupes are in /usr/share/cups/templates/ # except /usr/share/cups/webcontent/images/cups-icon.png -> /usr/share/cups/webcontent/images/cups.png # but that one must not be a symlink because since CUPS 1.7.4/1.7.5 the cupsd web server does no longer # follow symlink to avoid security issues (see bnc#892587 and bnc#887240 and and the upstream # issues http://www.cups.org/str.php?L4450 and https://www.cups.org/str.php?L4455) # so that fdupes should only create symlinks in /usr/share/cups/templates/: %fdupes -s %{buildroot}/%{_datadir}/cups/templates %pre # Use a real bash script with an explicit "exit 0" at the end to be by default fail safe # an explicit "exit 1" must be use to enforce package install/upgrade/erase failure where needed # see the "Shared_libraries" section in http://en.opensuse.org/openSUSE:Packaging_scriptlet_snippets /usr/sbin/groupadd -g 71 -o -r ntadmin 2>/dev/null || : %if 0%{?have_systemd} # Begin service_add_pre cups.service %service_add_pre cups.service # End service_add_pre cups.service %endif exit 0 %post # Use a real bash script with an explicit "exit 0" at the end to be by default fail safe # an explicit "exit 1" must be use to enforce package install/upgrade/erase failure where needed # see the "Shared_libraries" section in http://en.opensuse.org/openSUSE:Packaging_scriptlet_snippets %if 0%{?have_systemd} # Begin service_add_post cups.service %service_add_post cups.service # End service_add_post cups.service %else # Begin fillup_and_insserv -ny cups cups %{fillup_and_insserv -ny cups cups} # End fillup_and_insserv -ny cups cups %endif exit 0 %preun # Use a real bash script with an explicit "exit 0" at the end to be by default fail safe # an explicit "exit 1" must be use to enforce package install/upgrade/erase failure where needed # see the "Shared_libraries" section in http://en.opensuse.org/openSUSE:Packaging_scriptlet_snippets %if 0%{?have_systemd} # Begin service_del_preun cups.service %service_del_preun cups.service # End service_del_preun cups.service %else # Begin stop_on_removal cups %stop_on_removal cups # End stop_on_removal cups %endif exit 0 %postun # Use a real bash script with an explicit "exit 0" at the end to be by default fail safe # an explicit "exit 1" must be use to enforce package install/upgrade/erase failure where needed # see the "Shared_libraries" section in http://en.opensuse.org/openSUSE:Packaging_scriptlet_snippets %if 0%{?have_systemd} # Begin service_del_postun cups.service %service_del_postun cups.service # End service_del_postun cups.service %else # Begin restart_on_update cups %restart_on_update cups # End restart_on_update cups # Begin insserv_cleanup %{insserv_cleanup} # End insserv_cleanup %endif exit 0 %post libs # Use a real bash script with an explicit "exit 0" at the end to be by default fail safe # an explicit "exit 1" must be use to enforce package install/upgrade/erase failure where needed # see the "Shared_libraries" section in http://en.opensuse.org/openSUSE:Packaging_scriptlet_snippets /sbin/ldconfig exit 0 %postun libs # Use a real bash script with an explicit "exit 0" at the end to be by default fail safe # an explicit "exit 1" must be use to enforce package install/upgrade/erase failure where needed # see the "Shared_libraries" section in http://en.opensuse.org/openSUSE:Packaging_scriptlet_snippets /sbin/ldconfig exit 0 %files # The files sections list all mandatory files explicitly one by one. # In particular all executables are listed explicitly. # This avoids that CUPS' configure magic might silently # not build and install an executable when whatever condition # for configure's automated tests is not fulfilled in the build system, # for example see https://bugzilla.novell.com/show_bug.cgi?id=526847#c9 # When all mandatory files are explicitly listed, # the build fails intentionally if a mandatory file was not built # which ensures that already existing correctly built binary RPMs # are not overwritten by broken RPMs where mandatory files are missing. %defattr(-,root,root) %config(noreplace) %attr(640,root,lp) %{_sysconfdir}/cups/cupsd.conf %{_sysconfdir}/cups/cupsd.conf.default %config(noreplace) %attr(640,root,lp) %{_sysconfdir}/cups/snmp.conf %config(noreplace) %attr(755,lp,lp) %{_sysconfdir}/cups/interfaces %config(noreplace) %{_sysconfdir}/xinetd.d/cups-lpd %config %{_sysconfdir}/pam.d/cups %config %{_sysconfdir}/dbus-1/system.d/cups.conf %dir %attr(700,root,lp) %{_sysconfdir}/cups/ssl %dir %attr(755,root,lp) %{_sysconfdir}/cups/ppd /var/adm/fillup-templates/sysconfig.cups %if 0%{?have_systemd} %{_unitdir}/cups.service %{_tmpfilesdir}/cups.conf %else %config %attr(0755,root,root) %{_sysconfdir}/init.d/cups %endif %{_bindir}/cupstestppd %{_sbindir}/cupsaddsmb %{_sbindir}/cupsctl %{_sbindir}/cupsd %{_sbindir}/cupsfilter %{_sbindir}/rccups %dir /usr/lib/cups %dir /usr/lib/cups/backend /usr/lib/cups/backend/http /usr/lib/cups/backend/https /usr/lib/cups/backend/ipp /usr/lib/cups/backend/ipps /usr/lib/cups/backend/lpd /usr/lib/cups/backend/snmp /usr/lib/cups/backend/socket /usr/lib/cups/backend/usb %dir /usr/lib/cups/cgi-bin /usr/lib/cups/cgi-bin/admin.cgi /usr/lib/cups/cgi-bin/classes.cgi /usr/lib/cups/cgi-bin/help.cgi /usr/lib/cups/cgi-bin/jobs.cgi /usr/lib/cups/cgi-bin/printers.cgi %dir /usr/lib/cups/daemon /usr/lib/cups/daemon/cups-deviced /usr/lib/cups/daemon/cups-driverd /usr/lib/cups/daemon/cups-exec /usr/lib/cups/daemon/cups-lpd /usr/lib/cups/daemon/cups-polld %dir /usr/lib/cups/driver %dir /usr/lib/cups/filter /usr/lib/cups/filter/bannertops /usr/lib/cups/filter/commandtops /usr/lib/cups/filter/gziptoany /usr/lib/cups/filter/pstops /usr/lib/cups/filter/rastertodymo /usr/lib/cups/filter/rastertoepson /usr/lib/cups/filter/rastertohp /usr/lib/cups/filter/rastertolabel /usr/lib/cups/filter/rastertopwg %dir /usr/lib/cups/monitor /usr/lib/cups/monitor/bcp /usr/lib/cups/monitor/tbcp %dir /usr/lib/cups/notifier /usr/lib/cups/notifier/dbus /usr/lib/cups/notifier/mailto /usr/lib/cups/notifier/rss %dir %attr(0775,root,ntadmin) %{_datadir}/cups/drivers %{_datadir}/applications/cups.desktop %{_datadir}/pixmaps/cups.png %doc %{_defaultdocdir}/cups %doc %{_mandir}/man1/cupstestppd.1.gz %doc %{_mandir}/man5/classes.conf.5.gz %doc %{_mandir}/man5/client.conf.5.gz %doc %{_mandir}/man5/cups-snmp.conf.5.gz %doc %{_mandir}/man5/cupsd.conf.5.gz %doc %{_mandir}/man5/mailto.conf.5.gz %doc %{_mandir}/man5/mime.convs.5.gz %doc %{_mandir}/man5/mime.types.5.gz %doc %{_mandir}/man5/printers.conf.5.gz %doc %{_mandir}/man5/subscriptions.conf.5.gz %doc %{_mandir}/man7/backend.7.gz %doc %{_mandir}/man7/filter.7.gz %doc %{_mandir}/man7/notifier.7.gz %doc %{_mandir}/man8/cups-deviced.8.gz %doc %{_mandir}/man8/cups-driverd.8.gz %doc %{_mandir}/man8/cups-lpd.8.gz %doc %{_mandir}/man8/cups-polld.8.gz %doc %{_mandir}/man8/cupsaddsmb.8.gz %doc %{_mandir}/man8/cupsctl.8.gz %doc %{_mandir}/man8/cupsd.8.gz %doc %{_mandir}/man8/cupsfilter.8.gz %{_datadir}/cups/ %exclude %{_datadir}/cups/banners/ %exclude %{_datadir}/cups/data/testprint %exclude %{_datadir}/cups/ppdc/ %files client # Set explicite owner, group, and permissions for lppasswd # to enforce to have the upstream owner, group, and permissions in the RPM # because otherwise our build magic /usr/sbin/Check sets them to lp:lp 2755 # according to /etc/permissions.secure in the build system, # see https://bugzilla.novell.com/show_bug.cgi?id=574336#c12 # and subsequent comments up to comment #17 therein. # Even if /etc/permissions.secure in the openSUSE:Factory build system might be # already fixed, it must also work for build systems for released products. %defattr(-,root,root) %{_bindir}/cancel %{_bindir}/cupstestdsc %{_bindir}/ipptool %{_bindir}/lp %{_bindir}/lpoptions %attr(0555,root,root) %{_bindir}/lppasswd %{_bindir}/lpq %{_bindir}/lpr %{_bindir}/lprm %{_bindir}/lpstat %{_sbindir}/accept %{_sbindir}/cupsaccept %{_sbindir}/cupsdisable %{_sbindir}/cupsenable %{_sbindir}/cupsreject %{_sbindir}/lpadmin %{_sbindir}/lpc %{_sbindir}/lpinfo %{_sbindir}/lpmove %{_sbindir}/reject %doc %{_mandir}/man1/cancel.1.gz %doc %{_mandir}/man1/cupstestdsc.1.gz %doc %{_mandir}/man1/ipptool.1.gz %doc %{_mandir}/man1/lp.1.gz %doc %{_mandir}/man1/lpoptions.1.gz %doc %{_mandir}/man1/lppasswd.1.gz %doc %{_mandir}/man1/lpq.1.gz %doc %{_mandir}/man1/lpr.1.gz %doc %{_mandir}/man1/lprm.1.gz %doc %{_mandir}/man1/lpstat.1.gz %doc %{_mandir}/man5/ipptoolfile.5.gz %doc %{_mandir}/man8/accept.8.gz %doc %{_mandir}/man8/cupsaccept.8.gz %doc %{_mandir}/man8/cupsdisable.8.gz %doc %{_mandir}/man8/cupsenable.8.gz %doc %{_mandir}/man8/cupsreject.8.gz %doc %{_mandir}/man8/lpadmin.8.gz %doc %{_mandir}/man8/lpc.8.gz %doc %{_mandir}/man8/lpinfo.8.gz %doc %{_mandir}/man8/lpmove.8.gz %doc %{_mandir}/man8/reject.8.gz %files filters %defattr(-,root,root) %dir /usr/lib/cups %dir /usr/lib/cups/backend /usr/lib/cups/backend/parallel /usr/lib/cups/backend/serial %dir /usr/lib/cups/filter /usr/lib/cups/filter/commandtoescpx /usr/lib/cups/filter/commandtopclx /usr/lib/cups/filter/imagetops /usr/lib/cups/filter/imagetoraster /usr/lib/cups/filter/pdftops /usr/lib/cups/filter/rastertoescpx /usr/lib/cups/filter/rastertopclx /usr/lib/cups/filter/texttops %dir %{_datadir}/cups/ %{_datadir}/cups/banners/ %dir %{_datadir}/cups/data %{_datadir}/cups/data/testprint %files devel %defattr(-,root,root) %{_includedir}/cups/ %{_libdir}/libcups.so %{_libdir}/libcupsimage.so %{_libdir}/libcupscgi.so %{_libdir}/libcupsdriver.so %{_libdir}/libcupsmime.so %{_libdir}/libcupsppdc.so %{_datadir}/cups/ppdc/ %files ddk %defattr(-,root,root) %{_bindir}/ppdc %{_bindir}/ppdhtml %{_bindir}/ppdi %{_bindir}/ppdmerge %{_bindir}/ppdpo %doc %{_mandir}/man1/ppdc.1.gz %doc %{_mandir}/man1/ppdhtml.1.gz %doc %{_mandir}/man1/ppdi.1.gz %doc %{_mandir}/man1/ppdmerge.1.gz %doc %{_mandir}/man1/ppdpo.1.gz %doc %{_mandir}/man5/ppdcfile.5.gz %files libs %defattr(-,root,root) %config(noreplace) %{_sysconfdir}/cups/client.conf %dir %attr(0710,root,lp) %{_var}/spool/cups %dir %attr(1770,root,lp) %{_var}/spool/cups/tmp %dir %attr(0755,lp,lp) %{_var}/log/cups/ %dir %attr(0775,lp,lp) %{_var}/cache/cups %{_bindir}/cups-config %{_libdir}/libcups.so.* %{_libdir}/libcupscgi.so.* %{_libdir}/libcupsdriver.so.* %{_libdir}/libcupsimage.so.* %{_libdir}/libcupsmime.so.* %{_libdir}/libcupsppdc.so.* %{_datadir}/locale/*/cups_* %doc %{_mandir}/man1/cups-config.1.gz %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor