#
# Conditional build:
-%bcond_with gnutls # use GNU TLS for SSL/TLS support (instead of OpenSSL)
+%bcond_without gnutls # use GNU TLS for SSL/TLS support
%bcond_with dnssd # DNS Service Discovery support via dns_sd API (obsoleted by Avahi patch)
%bcond_without avahi # DNS Service Discovery support via Avahi
-%bcond_without gssapi # do not include GSSAPI support
-%bcond_without python # don't build Python support in web interface
-%bcond_without static_libs # don't build static library
+%bcond_without gssapi # GSSAPI support
+%bcond_with lspp # audit and SELinux label support (lspp patch)
+%bcond_with tcp_wrappers # tcp_wrappers/libwrap support
+%bcond_without python # Python support in web interface
+%bcond_without static_libs # static library
Summary(pl.UTF-8): Ogólny system druku dla Uniksa
Summary(pt_BR.UTF-8): Sistema Unix de Impressão
Name: cups
-Version: 1.7.1
+Version: 2.2.1
Release: 1
Epoch: 1
-License: LGPL v2 (libraries), GPL v2 (the rest) + openssl exception
+License: LGPL v2 (libraries), GPL v2 (the rest)
Group: Applications/Printing
-Source0: http://www.cups.org/software/%{version}/%{name}-%{version}-source.tar.bz2
-# Source0-md5: 55277c40fd4b7183dc3671d39c5c42b7
+Source0: https://github.com/apple/cups/releases/download/v%{version}/%{name}-%{version}-source.tar.gz
+# Source0-md5: a94da2a1e9dbdccb4f3836a38a431931
Source1: %{name}.init
Source2: %{name}.pamd
Source3: %{name}.logrotate
Source5: %{name}-lpd.inetd
Source6: %{name}-modprobe.conf
Source7: %{name}.tmpfiles
-# svn diff http://svn.easysw.com/public/cups/tags/release-1.4.3/ http://svn.easysw.com/public/cups/branches/branch-1.4/ > cups-branch.diff
-# + drop config-scripts/cups-common.m4 change
Patch0: %{name}-config.patch
Patch2: %{name}-options.patch
Patch3: %{name}-man_pages_linking.patch
Patch14: add-ipp-backend-of-cups-1.4.patch
Patch15: reactivate_recommended_driver.patch
Patch16: read-embedded-options-from-incoming-postscript-and-add-to-ipp-attrs.patch
-Patch17: %{name}-use-ipp1.1.patch
Patch18: %{name}-final-content-type.patch
# avahi patches from fedora
Patch100: %{name}-avahi-address.patch
Patch101: %{name}-avahi-no-threaded.patch
+Patch102: cups-banners.patch
+Patch103: cups-pid.patch
+Patch104: cups-eggcups.patch
+Patch105: cups-driverd-timeout.patch
+Patch106: cups-logrotate.patch
+Patch107: cups-res_init.patch
+Patch108: cups-filter-debug.patch
+Patch109: cups-hp-deviceid-oid.patch
+Patch110: cups-dnssd-deviceid.patch
+Patch111: cups-ricoh-deviceid-oid.patch
+Patch112: cups-enum-all.patch
+Patch113: cups-dymo-deviceid.patch
+Patch114: cups-freebind.patch
+Patch115: cups-ipp-multifile.patch
+Patch116: cups-web-devices-timeout.patch
+Patch117: cups-lspp.patch
URL: http://www.cups.org/
BuildRequires: acl-devel
+%{?with_lspp:BuildRequires: audit-libs-devel}
BuildRequires: autoconf >= 2.60
BuildRequires: automake
-%{?with_dnssd:BuildRequires: avahi-compat-libdns_sd-devel}
-%{?with_avahi:BuildRequires: avahi-devel}
+%{?with_dnssd:BuildRequires: avahi-compat-libdns_sd-devel}
+%{?with_avahi:BuildRequires: avahi-devel}
BuildRequires: dbus-devel
BuildRequires: glibc-headers
%{?with_gnutls:BuildRequires: gnutls-devel}
%{?with_gssapi:BuildRequires: heimdal-devel}
-BuildRequires: libjpeg-devel
BuildRequires: libpaper-devel
-BuildRequires: libpng-devel
+%{?with_lspp:BuildRequires: libselinux-devel}
BuildRequires: libstdc++-devel
-BuildRequires: libtiff-devel
BuildRequires: libusb-devel >= 1.0
-%{!?with_gnutls:BuildRequires: openssl-devel}
+%{?with_tcp_wrappers:BuildRequires: libwrap-devel}
BuildRequires: pam-devel
BuildRequires: pkgconfig
BuildRequires: rpmbuild(macros) >= 1.641
Requires(post,preun): /sbin/chkconfig
Requires(post,preun,postun): systemd-units >= 38
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
-Requires: cups-filters
-Requires: openssl-tools
Requires: pam >= 0.77.3
Requires: rc-scripts
Requires: systemd-units >= 38
Suggests: ImageMagick-coder-pdf
+Suggests: cups-filters
Suggests: poppler-progs
Provides: printingdaemon
Obsoletes: printingdaemon
Summary: Common Unix Printing System Libraries
Summary(pl.UTF-8): Biblioteki dla CUPS
Summary(pt_BR.UTF-8): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
-License: LGPL v2 + openssl exception
+License: LGPL v2
Group: Libraries
Provides: %{name}-libs = %{epoch}:%{version}-%{release}
Obsoletes: cups-libs
%package clients
Summary: Common Unix Printing System Clients
Summary(pl.UTF-8): Aplikacje klienckie dla CUPS
-License: GPL v2 + openssl exception
+License: GPL v2
Group: Applications/Printing
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
Provides: printingclient
Summary: Common Unix Printing System Libraries - images manipulation
Summary(pl.UTF-8): Biblioteki dla CUPS - obsługa formatów graficznych
Summary(pt_BR.UTF-8): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
-License: LGPL v2 + openssl exception
+License: LGPL v2
Group: Libraries
Requires: %{name}-lib = %{epoch}:%{version}-%{release}
Obsoletes: libcups1
Summary: Common Unix Printing System development files
Summary(pl.UTF-8): Ogólny system druku dla Uniksa - pliki nagłówkowe
Summary(pt_BR.UTF-8): Sistema Unix de Impressão - ambiente de desenvolvimento
-License: LGPL v2 + openssl exception
+License: LGPL v2
Group: Development/Libraries
Requires: %{name}-image-lib = %{epoch}:%{version}-%{release}
Requires: %{name}-lib = %{epoch}:%{version}-%{release}
# for libcups
-%{?with_gnutls:Requires: gnutls-devel}
-%{?with_gssapi:Requires: heimdal-devel}
-%{!?with_gnutls:Requires: openssl-devel}
+%{?with_gnutls:Requires: gnutls-devel}
+%{?with_gssapi:Requires: heimdal-devel}
Requires: zlib-devel
# for libcupsimage
Requires: libjpeg-devel
Summary: Common Unix Printing System static libraries
Summary(pl.UTF-8): Ogólny system druku dla Uniksa - biblioteki statyczne
Summary(pt_BR.UTF-8): Common Unix Printing System - bibliotecas estáticas
-License: LGPL v2 + openssl exception
+License: LGPL v2
Group: Development/Libraries
Requires: %{name}-devel = %{epoch}:%{version}-%{release}
%package backend-usb
Summary: USB backend for CUPS
Summary(pl.UTF-8): Backend USB dla CUPS-a
-License: GPL v2 + openssl exception
+License: GPL v2
Group: Applications/Printing
Requires: %{name} = %{epoch}:%{version}-%{release}
%package lpd
Summary: LPD compatibility support for CUPS print server
Summary(pl.UTF-8): Wsparcie dla LPD w serwerze wydruków CUPS
-License: GPL v2 + openssl exception
+License: GPL v2
Group: Applications/Printing
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: rc-inetd
%patch14 -p1
%patch15 -p1
%patch16 -p1
-%patch17 -p1
%patch18 -p1
%if %{with avahi}
%patch101 -p1
%endif
+%patch102 -p1
+%patch103 -p1
+%patch104 -p1
+%patch105 -p1
+%patch106 -p1
+%patch107 -p1
+%patch108 -p1
+%patch109 -p1
+%patch110 -p1
+%patch111 -p1
+%patch112 -p1
+%patch113 -p1
+%patch114 -p1
+%patch115 -p1
+%patch116 -p1
+%patch117 -p1
+
%build
%{__aclocal} -I config-scripts
%{__autoconf}
--enable-gssapi%{!?with_gssapi:=no} \
--enable-libpaper \
--enable-libusb \
- --enable-openssl%{?with_gnutls:=no} \
+ %{?with_lspp:--enable-lspp} \
--enable-shared \
--enable-ssl \
%{?with_static_libs:--enable-static} \
+ %{?with_tcp_wrappers:--enable-tcp-wrappers} \
--with-cups-group=lp \
--with-cups-user=lp \
--with-system-groups=sys \
%{?with_dnssd:--with-dnssd-includes=x} \
--with-optim=-Wno-format-y2k \
%{?with_python:--with-python=%{_bindir}/python} \
- --with-systemdsystemunitdir=%{systemdunitdir}
+ --with-systemd=%{systemdunitdir}
%{__make} %{?debug:OPTIONS="-DDEBUG"}
ln -s %{_ulibdir}/cups/backend/dnssd $RPM_BUILD_ROOT%{_ulibdir}/cups/backend/mdns
%endif
-install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
-install %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/%{name}
-install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
-install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/cups/mailto.conf
+cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
+cp -pf %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/%{name}
+cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
+cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/cups/mailto.conf
sed -e 's|__ULIBDIR__|%{_ulibdir}|g' %{SOURCE5} > $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/cups-lpd
-install %{SOURCE6} $RPM_BUILD_ROOT/etc/modprobe.d/cups.conf
-install %{SOURCE7} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
+cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/modprobe.d/cups.conf
+cp -p %{SOURCE7} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
touch $RPM_BUILD_ROOT/var/log/cups/{access_log,error_log,page_log}
touch $RPM_BUILD_ROOT/etc/security/blacklist.cups
cat >$RPM_BUILD_ROOT%{_sysconfdir}/%{name}/client.conf <<'EOF'
# Encryption Always
-# ServerName print.server.ip.or.name
+# ServerName enter.server.IP.or.name
EOF
# windows drivers can be put there.
ln -s accept $RPM_BUILD_ROOT%{_sbindir}/enable
ln -s accept $RPM_BUILD_ROOT%{_sbindir}/disable
-# check-files cleanup
-%{__rm} -r $RPM_BUILD_ROOT/etc/{init.d,rc?.d}
-
-# shipped in cups-filters
-%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/cups/banners
-%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/cups/data/testprint
-
%clean
rm -rf $RPM_BUILD_ROOT
LPDConfigFile\|PageLog\|Printcap\|PrintcapFormat\|\
RemoteRoot\|RequestRoot\|ServerBin\|ServerCertificate\|\
ServerKey\|ServerRoot\|SMBConfigFile\|StateDir\|\
-SystemGroup\|SystemGroupAuthKey\|TempDir\|User\)"
+SystemGroup\|SystemGroupAuthKey\|TempDir\|User\)\b"
if [ -f %{_sysconfdir}/cups/cupsd.conf ] && grep -iq "$_keywords" %{_sysconfdir}/cups/cupsd.conf; then
echo "# Settings automatically moved from cupsd.conf by RPM package:" >> %{_sysconfdir}/cups/cups-files.conf
grep -i "$_keywords" %{_sysconfdir}/cups/cupsd.conf >> %{_sysconfdir}/cups/cups-files.conf || :
/sbin/chkconfig --add cups
%service cups restart "cups daemon"
/sbin/rmmod usblp > /dev/null 2>&1 || :
-%systemd_post cups.service cups.socket cups.path
+%systemd_post org.cups.cupsd.service org.cups.cupd.socket org.cups.cupsd.path
%preun
if [ "$1" = "0" ]; then
%service cups stop
/sbin/chkconfig --del cups
fi
-%systemd_preun cups.service cups.socket cups.path
+%systemd_preun org.cups.cupsd.service org.cups.cupsd.socket org.cups.cupsd.path
%postun
%systemd_reload
%triggerpostun -- cups < 1:1.5.2-1
-%systemd_trigger cups.service cups.socket cups.path
+%systemd_trigger org.cups.cupsd.service org.cups.cupsd.socket org.cups.cupsd.path
%post lib -p /sbin/ldconfig
%postun lib -p /sbin/ldconfig
%service -q rc-inetd reload
%postun lpd
-if [ "$1" = 0 ]; then
+if [ "$1" = "0" ]; then
%service -q rc-inetd reload
fi
%attr(754,root,root) /etc/rc.d/init.d/cups
/etc/dbus-1/system.d/cups.conf
/etc/modprobe.d/cups.conf
-%{systemdunitdir}/cups.service
-%{systemdunitdir}/cups.socket
-%{systemdunitdir}/cups.path
+%{systemdunitdir}/org.cups.cupsd.service
+%{systemdunitdir}/org.cups.cupsd.socket
+%{systemdunitdir}/org.cups.cupsd.path
%{systemdtmpfilesdir}/%{name}.conf
%attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/classes.conf
%attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/cups-files.conf
%attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/snmp.conf
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.cups
%dir %attr(700,root,lp) %{_sysconfdir}/%{name}/ssl
-%dir %{_sysconfdir}/%{name}/interfaces
%dir %attr(755,root,lp) %{_sysconfdir}/%{name}/ppd
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
-%attr(4755,lp,root) %{_bindir}/lppasswd
%attr(755,root,root) %{_bindir}/cupstestppd
%attr(755,root,root) %{_bindir}/cupstestdsc
%attr(755,root,root) %{_bindir}/ppd*
%attr(755,root,root) %{_ulibdir}/cups/cgi-bin/*.cgi
%{_ulibdir}/cups/cgi-bin/*.css
%{_ulibdir}/cups/cgi-bin/*.html
+%{_ulibdir}/cups/cgi-bin/*.png
%{_ulibdir}/cups/cgi-bin/*.txt
-%lang(ca) %{_ulibdir}/cups/cgi-bin/ca
-%lang(cs) %{_ulibdir}/cups/cgi-bin/cs
+%lang(de) %{_ulibdir}/cups/cgi-bin/de
%lang(es) %{_ulibdir}/cups/cgi-bin/es
-%lang(fr) %{_ulibdir}/cups/cgi-bin/fr
-%lang(it) %{_ulibdir}/cups/cgi-bin/it
%lang(ja) %{_ulibdir}/cups/cgi-bin/ja
+%lang(pt_BR) %{_ulibdir}/cups/cgi-bin/pt_BR
%lang(ru) %{_ulibdir}/cups/cgi-bin/ru
%dir %{_ulibdir}/cups/daemon
%attr(755,root,root) %{_ulibdir}/cups/notifier/mailto
%attr(755,root,root) %{_ulibdir}/cups/notifier/rss
+%dir %{_datadir}/cups/banners
%dir %{_datadir}/cups/data
%dir %{_datadir}/cups/drivers
%dir %{_datadir}/cups/drv
%dir %{_datadir}/cups/templates
%{_datadir}/cups/templates/*.tmpl
-%lang(ca) %{_datadir}/cups/templates/ca
-%lang(cs) %{_datadir}/cups/templates/cs
+%lang(de) %{_datadir}/cups/templates/de
%lang(es) %{_datadir}/cups/templates/es
-%lang(fr) %{_datadir}/cups/templates/fr
-%lang(it) %{_datadir}/cups/templates/it
%lang(ja) %{_datadir}/cups/templates/ja
+%lang(pt_BR) %{_datadir}/cups/templates/pt_BR
%lang(ru) %{_datadir}/cups/templates/ru
+%{_mandir}/man1/cups.1*
%{_mandir}/man1/cupstestppd.1*
%{_mandir}/man1/cupstestdsc.1*
-%{_mandir}/man1/lppasswd.1*
%{_mandir}/man1/ppd*.1*
%{_mandir}/man7/backend.7*
%{_mandir}/man7/filter.7*
%{_mandir}/man5/cups-files.conf.5*
%{_mandir}/man5/cups-snmp.conf.5*
%{_mandir}/man5/cupsd.conf.5*
+%{_mandir}/man5/cupsd-logs.5*
%{_mandir}/man5/ipptoolfile.5*
%{_mandir}/man5/mailto.conf.5*
%{_mandir}/man5/mime.convs.5*
%{_mandir}/man5/subscriptions.conf.5*
%{_mandir}/man8/cups-deviced.8*
%{_mandir}/man8/cups-driverd.8*
+%{_mandir}/man8/cups-exec.8*
%{_mandir}/man8/cups-snmp.8*
%{_mandir}/man8/cupsctl.8*
%{_mandir}/man8/cupsd.8*
+%{_mandir}/man8/cupsd-helper.8*
%{_mandir}/man8/cupsfilter.8*
%dir %attr(775,root,lp) /var/cache/cups
%attr(755,root,root) %{_libdir}/libcupsmime.so.*
%attr(755,root,root) %{_libdir}/libcupsppdc.so.*
%dir %{_datadir}/cups
-%lang(ca) %{_datadir}/locale/ca/cups_ca.po
-%lang(cs) %{_datadir}/locale/cs/cups_cs.po
-%lang(es) %{_datadir}/locale/es/cups_es.po
-%lang(fr) %{_datadir}/locale/fr/cups_fr.po
-%lang(it) %{_datadir}/locale/it/cups_it.po
-%lang(ja) %{_datadir}/locale/ja/cups_ja.po
-%lang(ru) %{_datadir}/locale/ru/cups_ru.po
+%lang(ca) %{_localedir}/ca/cups_ca.po
+%lang(cs) %{_localedir}/cs/cups_cs.po
+%lang(de) %{_localedir}/de/cups_de.po
+%lang(es) %{_localedir}/es/cups_es.po
+%lang(fr) %{_localedir}/fr/cups_fr.po
+%lang(it) %{_localedir}/it/cups_it.po
+%lang(ja) %{_localedir}/ja/cups_ja.po
+%lang(pt_BR) %{_localedir}/pt_BR/cups_pt_BR.po
+%lang(ru) %{_localedir}/ru/cups_ru.po
%files clients
%defattr(644,root,root,755)
%defattr(644,root,root,755)
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/cups-lpd
%attr(755,root,root) %{_ulibdir}/cups/daemon/cups-lpd
+%{systemdunitdir}/org.cups.cups-lpd.socket
+%{systemdunitdir}/org.cups.cups-lpd@.service
%{_mandir}/man8/cups-lpd.8*