#
# Conditional build:
%bcond_with gnutls # use GNU TLS for SSL/TLS support (instead of OpenSSL)
-%bcond_with dnssd # DNS Service Discovery support (obsoleted by Avahi patch)
+%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 ldap # do not include LDAP support
%bcond_without gssapi # do not include GSSAPI support
%bcond_without python # don't build Python support in web interface
-%bcond_without slp # do not include SLP support
%bcond_without static_libs # don't build static library
-%define pdir CUPS
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.0
-Release: 0.1
+Release: 4
Epoch: 1
License: LGPL v2 (libraries), GPL v2 (the rest) + openssl exception
Group: Applications/Printing
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
+Patch19: %{name}-jobhistory.patch
+Patch20: %{name}-stringpool-rdar15382819.patch
# avahi patches from fedora
Patch100: %{name}-avahi-address.patch
Patch101: %{name}-avahi-no-threaded.patch
BuildRequires: libstdc++-devel
BuildRequires: libtiff-devel
BuildRequires: libusb-devel >= 1.0
-%{?with_ldap:BuildRequires: openldap-devel}
-%{?with_slp:BuildRequires: openslp-devel}
%{!?with_gnutls:BuildRequires: openssl-devel}
BuildRequires: pam-devel
BuildRequires: pkgconfig
BuildRequires: rpmbuild(macros) >= 1.641
BuildRequires: systemd-devel
+BuildRequires: zlib-devel
Requires(post,preun): /sbin/chkconfig
Requires(post,preun,postun): systemd-units >= 38
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
Requires: rc-scripts
Requires: systemd-units >= 38
Suggests: ImageMagick-coder-pdf
-Suggests: cups-filter-pstoraster
Suggests: poppler-progs
Provides: printingdaemon
-Obsoletes: backend-parallel
-Obsoletes: backend-serial
-Obsoletes: perl-cups
-Obsoletes: php-cups
Obsoletes: printingdaemon
Conflicts: ghostscript < 7.05.4
+Conflicts: hplip < 3.13.11
Conflicts: logrotate < 3.7-4
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%patch15 -p1
%patch16 -p1
%patch17 -p1
+%patch18 -p1
+%patch19 -p1
+%patch20 -p1
%if %{with avahi}
%patch100 -p1
%{__autoconf}
%configure \
--libdir=%{_ulibdir} \
+ --enable-acl \
+ --enable-avahi%{!?with_avahi:=no} \
--disable-cdsassl \
+ --enable-dbus \
+ %{?debug:--enable-debug} \
+ --enable-dnssd%{!?with_dnssd:=no} \
+ --enable-gnutls%{!?with_gnutls:=no} \
+ --enable-gssapi%{!?with_gssapi:=no} \
--enable-libpaper \
--enable-libusb \
- --enable-acl \
- --enable-dbus \
- --enable-image \
- --enable-bannertops \
- --enable-texttops \
+ --enable-openssl%{?with_gnutls:=no} \
--enable-shared \
--enable-ssl \
- %{?debug:--enable-debug} \
- --%{!?with_avahi:dis}%{?with_avahi:en}able-avahi \
- --%{!?with_dnssd:dis}%{?with_dnssd:en}able-dnssd \
- --%{!?with_ldap:dis}%{?with_ldap:en}able-ldap \
- --%{!?with_gssapi:dis}%{?with_gssapi:en}able-gssapi \
- --%{!?with_gnutls:dis}%{?with_gnutls:en}able-gnutls \
- --%{?with_gnutls:dis}%{!?with_gnutls:en}able-openssl \
- --%{!?with_slp:dis}%{?with_slp:en}able-slp \
%{?with_static_libs:--enable-static} \
- --with-cups-user=lp \
--with-cups-group=lp \
+ --with-cups-user=lp \
--with-system-groups=sys \
- --with-printcap=/etc/printcap \
- --with-dbusdir=/etc/dbus-1 \
- --with-docdir=%{_ulibdir}/%{name}/cgi-bin \
--with-config-file-perm=0640 \
--with-log-file-perm=0640 \
- --with-optim=-Wno-format-y2k \
+ --with-dbusdir=/etc/dbus-1 \
+ --with-docdir=%{_ulibdir}/%{name}/cgi-bin \
+ --with-printcap=/etc/printcap \
%{?with_dnssd:--with-dnssd-libs=x} \
%{?with_dnssd:--with-dnssd-includes=x} \
+ --with-optim=-Wno-format-y2k \
%{?with_python:--with-python=%{_bindir}/python} \
--with-systemdsystemunitdir=%{systemdunitdir}
touch $RPM_BUILD_ROOT/var/log/cups/{access_log,error_log,page_log}
touch $RPM_BUILD_ROOT/etc/security/blacklist.cups
-touch $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{classes,printers,client}.conf
+touch $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{classes,printers}.conf
+
+cat >$RPM_BUILD_ROOT%{_sysconfdir}/%{name}/client.conf <<'EOF'
+# Encryption Always
+# ServerName print.server.ip.or.name
+EOF
# windows drivers can be put there.
install -d $RPM_BUILD_ROOT%{_datadir}/cups/drivers
# 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
%post
+# Deal with config migration due to CVE-2012-5519 (STR #4223)
+_keywords="^\(AccessLog\|CacheDir\|ConfigFilePerm\|\
+DataDir\|DocumentRoot\|ErrorLog\|FatalErrors\|\
+FileDevice\|FontPath\|Group\|LogFilePerm\|\
+LPDConfigFile\|PageLog\|Printcap\|PrintcapFormat\|\
+RemoteRoot\|RequestRoot\|ServerBin\|ServerCertificate\|\
+ServerKey\|ServerRoot\|SMBConfigFile\|StateDir\|\
+SystemGroup\|SystemGroupAuthKey\|TempDir\|User\)"
+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 || :
+ %{__sed} -i -e "s,$_keywords,#&,ig" %{_sysconfdir}/cups/cupsd.conf || :
+fi
/sbin/chkconfig --add cups
%service cups restart "cups daemon"
/sbin/rmmod usblp > /dev/null 2>&1 || :
%postun
%systemd_reload
-%triggerpostun -- cups < 1.5.2-1
+%triggerpostun -- cups < 1:1.5.2-1
%systemd_trigger cups.service cups.socket cups.path
%post lib -p /sbin/ldconfig
%files
%defattr(644,root,root,755)
%doc *.txt
-%attr(640,root,root) %config %verify(not md5 mtime size) /etc/pam.d/*
+%attr(640,root,root) %config %verify(not md5 mtime size) /etc/pam.d/cups
%attr(754,root,root) /etc/rc.d/init.d/cups
/etc/dbus-1/system.d/cups.conf
/etc/modprobe.d/cups.conf
%attr(755,root,root) %{_sbindir}/cupsfilter
%dir %{_ulibdir}/cups
-%dir %{_ulibdir}/cups/*
+%dir %{_ulibdir}/cups/backend
+%if %{with avahi}
+%attr(755,root,root) %{_ulibdir}/cups/backend/dnssd
+%attr(755,root,root) %{_ulibdir}/cups/backend/mdns
+%endif
+%attr(755,root,root) %{_ulibdir}/cups/backend/http
+%attr(755,root,root) %{_ulibdir}/cups/backend/https
+%attr(755,root,root) %{_ulibdir}/cups/backend/ipp
+%attr(755,root,root) %{_ulibdir}/cups/backend/ipp14
+%attr(755,root,root) %{_ulibdir}/cups/backend/ipps
+%attr(755,root,root) %{_ulibdir}/cups/backend/lpd
+%attr(755,root,root) %{_ulibdir}/cups/backend/snmp
+%attr(755,root,root) %{_ulibdir}/cups/backend/socket
+
+%dir %{_ulibdir}/cups/cgi-bin
%{_ulibdir}/cups/cgi-bin/help
%{_ulibdir}/cups/cgi-bin/images
%attr(755,root,root) %{_ulibdir}/cups/cgi-bin/*.cgi
%lang(ja) %{_ulibdir}/cups/cgi-bin/ja
%lang(ru) %{_ulibdir}/cups/cgi-bin/ru
-%if %{with avahi}
-%attr(755,root,root) %{_ulibdir}/cups/backend/dnssd
-%attr(755,root,root) %{_ulibdir}/cups/backend/mdns
-%endif
-%attr(755,root,root) %{_ulibdir}/cups/backend/http
-%attr(755,root,root) %{_ulibdir}/cups/backend/https
-%attr(755,root,root) %{_ulibdir}/cups/backend/ipp
-%attr(755,root,root) %{_ulibdir}/cups/backend/ipp14
-%attr(755,root,root) %{_ulibdir}/cups/backend/ipps
-%attr(755,root,root) %{_ulibdir}/cups/backend/lpd
-%attr(755,root,root) %{_ulibdir}/cups/backend/snmp
-%attr(755,root,root) %{_ulibdir}/cups/backend/socket
+%dir %{_ulibdir}/cups/daemon
%attr(755,root,root) %{_ulibdir}/cups/daemon/cups-deviced
%attr(755,root,root) %{_ulibdir}/cups/daemon/cups-driverd
%attr(755,root,root) %{_ulibdir}/cups/daemon/cups-exec
-%attr(755,root,root) %{_ulibdir}/cups/filter/*
-%attr(755,root,root) %{_ulibdir}/cups/monitor/*
-%attr(755,root,root) %{_ulibdir}/cups/notifier/*
-
-%{_datadir}/cups/data
-%{_datadir}/cups/drivers
-%{_datadir}/cups/drv
-%{_datadir}/cups/examples
-%{_datadir}/cups/mime
+%dir %{_ulibdir}/cups/filter
+%attr(755,root,root) %{_ulibdir}/cups/filter/commandtops
+%attr(755,root,root) %{_ulibdir}/cups/filter/gziptoany
+%attr(755,root,root) %{_ulibdir}/cups/filter/pstops
+%attr(755,root,root) %{_ulibdir}/cups/filter/rastertodymo
+%attr(755,root,root) %{_ulibdir}/cups/filter/rastertoepson
+%attr(755,root,root) %{_ulibdir}/cups/filter/rastertohp
+%attr(755,root,root) %{_ulibdir}/cups/filter/rastertolabel
+%attr(755,root,root) %{_ulibdir}/cups/filter/rastertopwg
+%dir %{_ulibdir}/cups/monitor
+%attr(755,root,root) %{_ulibdir}/cups/monitor/bcp
+%attr(755,root,root) %{_ulibdir}/cups/monitor/tbcp
+%dir %{_ulibdir}/cups/notifier
+%attr(755,root,root) %{_ulibdir}/cups/notifier/dbus
+%attr(755,root,root) %{_ulibdir}/cups/notifier/mailto
+%attr(755,root,root) %{_ulibdir}/cups/notifier/rss
+
+%dir %{_datadir}/cups/data
+%dir %{_datadir}/cups/drivers
+%dir %{_datadir}/cups/drv
+%{_datadir}/cups/drv/sample.drv
+%dir %{_datadir}/cups/examples
+%{_datadir}/cups/examples/*.drv
+%dir %{_datadir}/cups/mime
+%{_datadir}/cups/mime/mime.convs
+%{_datadir}/cups/mime/mime.types
%dir %{_datadir}/cups/model
# dirs for gimp-print-cups-4.2.7-1
%dir %{_datadir}/cups/model/C
%lang(pl) %dir %{_datadir}/cups/model/pl
%lang(sv) %dir %{_datadir}/cups/model/sv
-%{_datadir}/cups/ppdc
+%dir %{_datadir}/cups/ppdc
+%{_datadir}/cups/ppdc/epson.h
+%{_datadir}/cups/ppdc/hp.h
+%{_datadir}/cups/ppdc/label.h
+%{_datadir}/cups/ppdc/font.defs
+%{_datadir}/cups/ppdc/media.defs
+%{_datadir}/cups/ppdc/raster.defs
%dir %{_datadir}/cups/templates
%{_datadir}/cups/templates/*.tmpl
%{_mandir}/man7/backend.7*
%{_mandir}/man7/filter.7*
%{_mandir}/man7/notifier.7*
-%{_mandir}/man5/*
-%{_mandir}/man8/accept.8*
+%{_mandir}/man5/classes.conf.5*
+%{_mandir}/man5/cups-files.conf.5*
+%{_mandir}/man5/cups-snmp.conf.5*
+%{_mandir}/man5/cupsd.conf.5*
+%{_mandir}/man5/ipptoolfile.5*
+%{_mandir}/man5/mailto.conf.5*
+%{_mandir}/man5/mime.convs.5*
+%{_mandir}/man5/mime.types.5*
+%{_mandir}/man5/ppdcfile.5*
+%{_mandir}/man5/printers.conf.5*
+%{_mandir}/man5/subscriptions.conf.5*
%{_mandir}/man8/cups-deviced.8*
%{_mandir}/man8/cups-driverd.8*
%{_mandir}/man8/cups-snmp.8*
-%{_mandir}/man8/cupsaddsmb.8*
%{_mandir}/man8/cupsctl.8*
%{_mandir}/man8/cupsd.8*
-%{_mandir}/man8/cupsenable.8*
%{_mandir}/man8/cupsfilter.8*
-%{_mandir}/man8/lp*
%dir %attr(775,root,lp) /var/cache/cups
%dir %attr(755,root,lp) /var/lib/cups
%{_mandir}/man1/lpr.1*
%{_mandir}/man1/lprm.1*
%{_mandir}/man1/lpstat.1*
+%{_mandir}/man5/client.conf.5*
+%{_mandir}/man8/accept.8*
%{_mandir}/man8/cupsaccept.8*
+%{_mandir}/man8/cupsaddsmb.8*
+%{_mandir}/man8/cupsenable.8*
%{_mandir}/man8/cupsdisable.8*
%{_mandir}/man8/cupsreject.8*
+%{_mandir}/man8/lpadmin.8*
+%{_mandir}/man8/lpc.8*
+%{_mandir}/man8/lpinfo.8*
+%{_mandir}/man8/lpmove.8*
%{_mandir}/man8/reject.8*
%files image-lib
%files lpd
%defattr(644,root,root,755)
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/*
+%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
%{_mandir}/man8/cups-lpd.8*