-# TODO:
-# - build/install java ext ?
-# - perl BRs
-# - remove obsolete /etc/cups/certs (trigger?)
#
# Conditional build:
-%bcond_with gnutls # use GNU TLS for SSL/TLS support (instead of OpenSSL)
-%bcond_without dnssd
-%bcond_without php # don't build PHP extension
-%bcond_without perl # don't build Perl extension
-%bcond_without java
-%bcond_without python
-%bcond_without static_libs # don't build static library
-#
-%include /usr/lib/rpm/macros.perl
-%define pdir CUPS
-Summary: Common Unix Printing System
+%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 # 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.3.0
+Version: 2.2.4
Release: 1
Epoch: 1
-License: GPL/LGPL
+License: LGPL v2 (libraries), GPL v2 (the rest)
Group: Applications/Printing
-Source0: http://dl.sourceforge.net/cups/%{name}-%{version}-source.tar.bz2
-# Source0-md5: ae2855d5d1ab5b5fcbb8a2613cefec14
+Source0: https://github.com/apple/cups/releases/download/v%{version}/%{name}-%{version}-source.tar.gz
+# Source0-md5: d26e5a0a574a69fe1d01079b2931fc49
Source1: %{name}.init
Source2: %{name}.pamd
Source3: %{name}.logrotate
Source4: %{name}.mailto.conf
+Source5: %{name}-lpd.inetd
+Source6: %{name}-modprobe.conf
+Source7: %{name}.tmpfiles
Patch0: %{name}-config.patch
-Patch1: %{name}-lp-lpr.patch
Patch2: %{name}-options.patch
Patch3: %{name}-man_pages_linking.patch
Patch4: %{name}-nostrip.patch
-Patch5: %{name}-templates.patch
-Patch6: %{name}-certs_FHS.patch
-Patch7: %{name}-direct_usb.patch
+Patch5: %{name}-certs_FHS.patch
+Patch6: %{name}-direct_usb.patch
+Patch7: %{name}-no-polluted-krb5config.patch
+Patch9: %{name}-verbose-compilation.patch
+Patch10: %{name}-peercred.patch
+Patch11: %{name}-usb.patch
+Patch12: %{name}-desktop.patch
+Patch13: %{name}-systemd-socket.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
+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
+
+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
-BuildRequires: autoconf
+%{?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}
BuildRequires: dbus-devel
BuildRequires: glibc-headers
%{?with_gnutls:BuildRequires: gnutls-devel}
-BuildRequires: krb5-devel
-BuildRequires: libjpeg-devel
-BuildRequires: libpng-devel
+%{?with_gssapi:BuildRequires: heimdal-devel}
+BuildRequires: libpaper-devel
+%{?with_lspp:BuildRequires: libselinux-devel}
BuildRequires: libstdc++-devel
-BuildRequires: libtiff-devel
-BuildRequires: openldap-devel
-BuildRequires: openslp-devel
-%{!?with_gnutls:BuildRequires: openssl-devel}
+BuildRequires: libusb-devel >= 1.0
+%{?with_tcp_wrappers:BuildRequires: libwrap-devel}
BuildRequires: pam-devel
-%{?with_php:BuildRequires: php-devel >= 4:5.0.0}
BuildRequires: pkgconfig
-BuildRequires: rpm-perlprov
-BuildRequires: rpmbuild(macros) >= 1.344
+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: pam >= 0.77.3
Requires: rc-scripts
-Obsoletes: printingdaemon
+Requires: systemd-units >= 38
+Suggests: ImageMagick-coder-pdf
+Suggests: cups-filters
+Suggests: poppler-progs
Provides: printingdaemon
+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)
%define _ulibdir %{_prefix}/lib
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
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
Group: Applications/Printing
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
-Obsoletes: printingclient
Provides: printingclient
+Obsoletes: printingclient
%description clients
Common Unix Printing System Clients.
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
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
Group: Development/Libraries
Requires: %{name}-image-lib = %{epoch}:%{version}-%{release}
Requires: %{name}-lib = %{epoch}:%{version}-%{release}
-%{?with_gnutls:Requires: gnutls-devel}
-%{!?with_gnutls:Requires: openssl-devel}
+# for libcups
+%{?with_gnutls:Requires: gnutls-devel}
+%{?with_gssapi:Requires: heimdal-devel}
Requires: zlib-devel
+# for libcupsimage
+Requires: libjpeg-devel
+Requires: libpng-devel
+Requires: libtiff-devel
Obsoletes: libcups1-devel
%description 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
Group: Development/Libraries
Requires: %{name}-devel = %{epoch}:%{version}-%{release}
Bibliotecas estáticas para desenvolvimento de programas que usam as
bibliotecas do CUPS.
-%package -n perl-cups
-Summary: Perl module for CUPS
-Summary(pl.UTF-8): Moduł Perla CUPS
-Group: Development/Languages/Perl
-Requires: %{name}-lib = %{epoch}:%{version}-%{release}
-
-%description -n perl-cups
-Perl module for Common Unix Printing System.
-
-%description -n perl-cups -l pl.UTF-8
-Moduł Perla do ogólnego systemu druku dla Uniksa.
-
-%package -n php-cups
-Summary: PHP module for CUPS
-Summary(pl.UTF-8): Moduł PHP CUPS
-Group: Development/Languages/PHP
-Requires: %{name}-lib = %{epoch}:%{version}-%{release}
-%{?requires_php_extension}
-Requires: /etc/php/conf.d
-Requires: php-common >= 4:5.0.0
-
-%description -n php-cups
-PHP module for Common Unix Printing System.
-
-%description -n php-cups -l pl.UTF-8
-Moduł PHP do ogólnego systemu druku dla Uniksa.
-
%package backend-usb
Summary: USB backend for CUPS
Summary(pl.UTF-8): Backend USB dla CUPS-a
+License: GPL v2
Group: Applications/Printing
Requires: %{name} = %{epoch}:%{version}-%{release}
%description backend-usb -l pl.UTF-8
Ten pakiet umożliwia drukowanie z poziomu CUPS-a na drukarkach USB.
-%package backend-serial
-Summary: Serial port backend for CUPS
-Summary(pl.UTF-8): Backend obsługujący porty szeregowe dla CUPS-a
+%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
Group: Applications/Printing
Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: rc-inetd
-%description backend-serial
-This package allow CUPS printing on printers connected by serial
-ports.
-
-%description backend-serial -l pl.UTF-8
-Ten pakiet umożliwia drukowanie z poziomu CUPS-a na drukarkach
-podłączonych do portów szeregowych.
+%description lpd
+LPD compatibility support for CUPS print server.
-%package backend-parallel
-Summary: Parallel port backend for CUPS
-Summary(pl.UTF-8): Backend obsługujący porty równoległe dla CUPS-a
-Group: Applications/Printing
-Requires: %{name} = %{epoch}:%{version}-%{release}
-
-%description backend-parallel
-This package allow CUPS printing on printers connected by parallel
-ports.
-
-%description backend-parallel -l pl.UTF-8
-Ten pakiet umożliwia drukowanie z poziomu CUPS-a na drukarkach
-podłączonych do portów równoległych.
+%description lpd -l pl.UTF-8
+Wsparcie dla LPD w serwerze wydruków CUPS.
%prep
%setup -q
%patch0 -p1
-%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
-%patch6 -p1
+# why it hasn't been merged for so long (and why no other distro uses it)
+#%patch6 -p1
%patch7 -p1
+%patch9 -p1
+%patch10 -p1
+# why it hasn't been merged for so long (and why no other distro uses it)
+#%patch11 -p1
+%patch12 -p1
+%patch13 -p1
+%patch14 -p1
+%patch15 -p1
+%patch16 -p1
+%patch18 -p1
+
+%if %{with avahi}
+%patch100 -p1
+%patch101 -p1
+%endif
+
+%patch102 -p1
+%patch103 -p1
+%patch104 -p1
+%patch105 -p1
+%patch106 -p1
+%patch107 -p1
+%patch108 -p1
+%patch109 -p1
+%patch110 -p1
+%patch111 -p1
+
+%patch113 -p1
+%patch114 -p1
+%patch115 -p1
+%patch116 -p1
+%patch117 -p1
%build
%{__aclocal} -I config-scripts
%{__autoconf}
%configure \
--libdir=%{_ulibdir} \
- --enable-shared \
- --with-cups-user=lp \
- --with-cups-group=sys \
- --with-system-groups=sys \
- --with-printcap=/etc/printcap \
- %{?with_static_libs:--enable-static} \
- --enable-ssl \
- --%{?with_gnutls:dis}%{!?with_gnutls:en}able-openssl \
- --%{!?with_gnutls:dis}%{?with_gnutls:en}able-gnutls \
- --%{!?with_dnssd:dis}%{?with_dnssd:en}able-dnssd \
+ --enable-acl \
+ --enable-avahi%{!?with_avahi:=no} \
--disable-cdsassl \
--enable-dbus \
%{?debug:--enable-debug} \
- --with-docdir=%{_ulibdir}/%{name}/cgi-bin \
+ --enable-dnssd%{!?with_dnssd:=no} \
+ --enable-gnutls%{!?with_gnutls:=no} \
+ --enable-gssapi%{!?with_gssapi:=no} \
+ --enable-libpaper \
+ --enable-libusb \
+ %{?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-config-file-perm=0640 \
--with-log-file-perm=0640 \
+ --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_php:--with-php} \
- %{?with_perl:--with-perl} \
- %{?with_java:--with-java} \
- %{?with_php:--with-python}
-
-%{__make}
-
-%{__perl} -pi -e 's#-I\.\.\/\.\.#-I../.. -I../../cups#g' scripting/php/Makefile
-%{?with_php:%{__make} -C scripting/php PHPCONFIG=%{_bindir}/php-config}
-
-%if %{with perl}
-cd scripting/perl
-%{__perl} -pi -e 's@-lcups@-L../../cups $1@' Makefile.PL
-%{__perl} Makefile.PL \
- INSTALLDIRS=vendor \
- OPTIMIZE="%{rpmcflags} -I../.."
-# avoid rpaths generated by MakeMaker
-%{__perl} -pi -e 's@LD_RUN_PATH="\$\(LD_RUN_PATH\)" @@' Makefile
-
-%{__make}
-cd ../..
-%endif
+ --with-optim=-Wno-format-y2k \
+ %{?with_python:--with-python=%{_bindir}/python} \
+ --with-systemd=%{systemdunitdir}
+
+%{__make} %{?debug:OPTIONS="-DDEBUG"}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,pam.d,logrotate.d,security} \
+install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,pam.d,logrotate.d,modprobe.d,security,sysconfig/rc-inetd} \
$RPM_BUILD_ROOT/var/run/cups \
- $RPM_BUILD_ROOT/var/log/{,archive/}cups
+ $RPM_BUILD_ROOT/var/log/{,archive/}cups \
+ $RPM_BUILD_ROOT{%{systemdunitdir},%{systemdtmpfilesdir}}
%{__make} install \
BUILDROOT=$RPM_BUILD_ROOT \
if [ "%{_lib}" != "lib" ] ; then
install -d $RPM_BUILD_ROOT%{_libdir}
mv $RPM_BUILD_ROOT%{_ulibdir}/*.so* $RPM_BUILD_ROOT%{_libdir}
+%if %{with static_libs}
mv $RPM_BUILD_ROOT%{_ulibdir}/*.a $RPM_BUILD_ROOT%{_libdir}
-fi
-
-%if %{with php}
-%{__make} -C scripting/php install \
- PHPDIR=$RPM_BUILD_ROOT%{php_extensiondir}
-install -d $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d
-cat > $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/phpcups.ini << EOF
-; Enable phpcups extension module
-extension=phpcups.so
-EOF
%endif
+fi
-%if %{with perl}
-%{__make} -C scripting/perl install \
- DESTDIR=$RPM_BUILD_ROOT
+%if %{with avahi}
+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/etc/cups/mailto.conf
-
-gzip -9nf $RPM_BUILD_ROOT%{_datadir}/%{name}/model/*.ppd
+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
+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
-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 enter.server.IP.or.name
+EOF
# windows drivers can be put there.
install -d $RPM_BUILD_ROOT%{_datadir}/cups/drivers
ln -s accept $RPM_BUILD_ROOT%{_sbindir}/enable
ln -s accept $RPM_BUILD_ROOT%{_sbindir}/disable
-# check-files cleanup
-rm -rf $RPM_BUILD_ROOT%{_mandir}/{,es/,fr/}cat?
-rm -rf $RPM_BUILD_ROOT/''etc/{init.d,rc?.d}/*
-rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/cupsd.conf.default
-
%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\)\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 || :
+ %{__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 || :
+%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 org.cups.cupsd.service org.cups.cupsd.socket org.cups.cupsd.path
+
+%postun
+%systemd_reload
+
+%triggerpostun -- cups < 1:1.5.2-1
+%systemd_trigger org.cups.cupsd.service org.cups.cupsd.socket org.cups.cupsd.path
%post lib -p /sbin/ldconfig
%postun lib -p /sbin/ldconfig
%post image-lib -p /sbin/ldconfig
%postun image-lib -p /sbin/ldconfig
-%post -n php-cups
-%php_webserver_restart
+%post lpd
+%service -q rc-inetd reload
-%postun -n php-cups
-if [ "$1" = 0 ]; then
- %php_webserver_restart
+%postun lpd
+if [ "$1" = "0" ]; then
+ %service -q rc-inetd reload
fi
%files
%defattr(644,root,root,755)
-#%doc *.gz doc/*.html doc/*.css doc/images
%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
+%{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(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/cupsd.conf
+%attr(640,root,lp) %{_sysconfdir}/%{name}/cupsd.conf.default
%attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/printers.conf
%attr(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/mailto.conf
-%attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.convs
-%attr(640,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.types
+%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) %{_sbindir}/cupsctl
%attr(755,root,root) %{_sbindir}/cupsd
%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
%{_ulibdir}/cups/cgi-bin/*.css
%{_ulibdir}/cups/cgi-bin/*.html
-%{_ulibdir}/cups/cgi-bin/*.ico
+%{_ulibdir}/cups/cgi-bin/*.png
%{_ulibdir}/cups/cgi-bin/*.txt
%lang(de) %{_ulibdir}/cups/cgi-bin/de
%lang(es) %{_ulibdir}/cups/cgi-bin/es
-%lang(et) %{_ulibdir}/cups/cgi-bin/et
-%lang(fr) %{_ulibdir}/cups/cgi-bin/fr
-%lang(he) %{_ulibdir}/cups/cgi-bin/he
-%lang(it) %{_ulibdir}/cups/cgi-bin/it
%lang(ja) %{_ulibdir}/cups/cgi-bin/ja
-%lang(pl) %{_ulibdir}/cups/cgi-bin/pl
-%lang(sv) %{_ulibdir}/cups/cgi-bin/sv
-%lang(zh_TW) %{_ulibdir}/cups/cgi-bin/zh_TW
-
-%exclude %{_ulibdir}/cups/backend/usb
-%exclude %{_ulibdir}/cups/backend/serial
-%exclude %{_ulibdir}/cups/backend/parallel
-%attr(755,root,root) %{_ulibdir}/cups/backend/*
-%attr(755,root,root) %{_ulibdir}/cups/daemon/*
-%attr(755,root,root) %{_ulibdir}/cups/filter/*
-%attr(755,root,root) %{_ulibdir}/cups/monitor/*
-%attr(755,root,root) %{_ulibdir}/cups/notifier/*
-
-%dir %{_datadir}/cups
-%{_datadir}/cups/banners
-%{_datadir}/cups/charmaps
-%{_datadir}/cups/charsets
-%{_datadir}/cups/data
-%{_datadir}/cups/drivers
-%{_datadir}/cups/fonts
+%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/daemon/cups-deviced
+%attr(755,root,root) %{_ulibdir}/cups/daemon/cups-driverd
+%attr(755,root,root) %{_ulibdir}/cups/daemon/cups-exec
+%dir %{_ulibdir}/cups/driver
+%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/banners
+%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
-%{_datadir}/cups/model/*.ppd.gz
# dirs for gimp-print-cups-4.2.7-1
%dir %{_datadir}/cups/model/C
%lang(da) %dir %{_datadir}/cups/model/da
%lang(pl) %dir %{_datadir}/cups/model/pl
%lang(sv) %dir %{_datadir}/cups/model/sv
+%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
%lang(de) %{_datadir}/cups/templates/de
%lang(es) %{_datadir}/cups/templates/es
-%lang(et) %{_datadir}/cups/templates/et
-%lang(fr) %{_datadir}/cups/templates/fr
-%lang(he) %{_datadir}/cups/templates/he
-%lang(it) %{_datadir}/cups/templates/it
%lang(ja) %{_datadir}/cups/templates/ja
-%lang(pl) %{_datadir}/cups/templates/pl
-%lang(sv) %{_datadir}/cups/templates/sv
-%lang(zh_TW) %{_datadir}/cups/templates/zh_TW
-%{_mandir}/man7/backend.7*
+%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/ppd*.1*
+%{_mandir}/man7/backend.7*
%{_mandir}/man7/filter.7*
-%{_mandir}/man1/lppasswd.1*
-%{_mandir}/man[58]/*
-%lang(da) %{_datadir}/locale/da/cups_da.po
-%lang(de) %{_datadir}/locale/de/cups_de.po
-%lang(es) %{_datadir}/locale/es/cups_es.po
-%lang(et) %{_datadir}/locale/et/cups_et.po
-%lang(fi) %{_datadir}/locale/fi/cups_fi.po
-%lang(fr) %{_datadir}/locale/fr/cups_fr.po
-%lang(he) %{_datadir}/locale/he/cups_he.po
-%lang(it) %{_datadir}/locale/it/cups_it.po
-%lang(ko) %{_datadir}/locale/ko/cups_ko.po
-%lang(ja) %{_datadir}/locale/ja/cups_ja.po
-%lang(nl) %{_datadir}/locale/nl/cups_nl.po
-#%lang(no) %{_datadir}/locale/no/cups_no.po
-%lang(pl) %{_datadir}/locale/pl/cups_pl.po
-%lang(pt) %{_datadir}/locale/pt/cups_pt.po
-%lang(pt_BR) %{_datadir}/locale/pt_BR/cups_pt_BR.po
-#%lang(pt_PT) %{_datadir}/locale/pt_PT/cups_pt_PT.po
-%lang(ru) %{_datadir}/locale/ru/cups_ru.po
-%lang(sv) %{_datadir}/locale/sv/cups_sv.po
-#%lang(zh) %{_datadir}/locale/zh/cups_zh.po
-%lang(zh_TW) %{_datadir}/locale/zh_TW/cups_zh_TW.po
+%{_mandir}/man7/notifier.7*
+%{_mandir}/man5/classes.conf.5*
+%{_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/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-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
%dir %attr(755,root,lp) /var/lib/cups
%defattr(644,root,root,755)
%dir %attr(755,root,lp) %{_sysconfdir}/%{name}
%attr(755,root,root) %{_libdir}/libcups.so.*
+%attr(755,root,root) %{_libdir}/libcupscgi.so.*
+%attr(755,root,root) %{_libdir}/libcupsmime.so.*
+%attr(755,root,root) %{_libdir}/libcupsppdc.so.*
+%dir %{_datadir}/cups
+%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
+%lang(zh_CN) %{_localedir}/zh_CN/cups_zh_CN.po
%files clients
%defattr(644,root,root,755)
%attr(644,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/client.conf
%attr(755,root,root) %{_bindir}/cancel
+%attr(755,root,root) %{_bindir}/ippfind
+%attr(755,root,root) %{_bindir}/ipptool
%attr(755,root,root) %{_bindir}/lp
%attr(755,root,root) %{_bindir}/lpoptions
%attr(755,root,root) %{_bindir}/lpq
%attr(755,root,root) %{_bindir}/lprm
%attr(755,root,root) %{_bindir}/lpstat
%attr(755,root,root) %{_sbindir}/accept
+%attr(755,root,root) %{_sbindir}/cupsaccept
%attr(755,root,root) %{_sbindir}/cupsaddsmb
%attr(755,root,root) %{_sbindir}/cupsenable
%attr(755,root,root) %{_sbindir}/cupsdisable
+%attr(755,root,root) %{_sbindir}/cupsreject
%attr(755,root,root) %{_sbindir}/disable
%attr(755,root,root) %{_sbindir}/enable
%attr(755,root,root) %{_sbindir}/lpadmin
%attr(755,root,root) %{_sbindir}/lpinfo
%attr(755,root,root) %{_sbindir}/lpmove
%attr(755,root,root) %{_sbindir}/reject
+%{_datadir}/cups/ipptool
+%{_desktopdir}/cups.desktop
+%{_iconsdir}/hicolor/*/apps/cups.png
%{_mandir}/man1/cancel.1*
+%{_mandir}/man1/ippfind.1*
+%{_mandir}/man1/ipptool.1*
%{_mandir}/man1/lp.1*
%{_mandir}/man1/lpoptions.1*
%{_mandir}/man1/lpq.1*
%{_mandir}/man1/lpr.1*
%{_mandir}/man1/lprm.1*
%{_mandir}/man1/lpstat.1*
-#%lang(fr) %{_mandir}/fr/man1/cancel.1*
-#%lang(fr) %{_mandir}/fr/man1/lp.1*
-#%lang(fr) %{_mandir}/fr/man1/lpoptions.1*
-#%lang(fr) %{_mandir}/fr/man1/lpq.1*
-#%lang(fr) %{_mandir}/fr/man1/lpr.1*
-#%lang(fr) %{_mandir}/fr/man1/lprm.1*
-#%lang(fr) %{_mandir}/fr/man1/lpstat.1*
-#%lang(es) %{_mandir}/es/man1/lp.1*
-#%lang(es) %{_mandir}/es/man1/lpoptions.1*
-#%lang(es) %{_mandir}/es/man1/lpq.1*
-#%lang(es) %{_mandir}/es/man1/lpr.1*
-#%lang(es) %{_mandir}/es/man1/lprm.1*
-#%lang(es) %{_mandir}/es/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
%defattr(644,root,root,755)
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/cups-config
+%attr(755,root,root) %{_libdir}/libcups.so
+%attr(755,root,root) %{_libdir}/libcupscgi.so
+%attr(755,root,root) %{_libdir}/libcupsimage.so
+%attr(755,root,root) %{_libdir}/libcupsmime.so
+%attr(755,root,root) %{_libdir}/libcupsppdc.so
%{_includedir}/cups
-%{_libdir}/lib*.so
-%{_mandir}/man1/cups-config*
-%{_mandir}/man3/*
-#%lang(fr) %{_mandir}/fr/man1/cups-config*
-#%lang(es) %{_mandir}/es/man1/cups-config*
+%{_mandir}/man1/cups-config.1*
%if %{with static_libs}
%files static
%defattr(644,root,root,755)
-%{_libdir}/*.a
-%endif
-
-%if %{with perl}
-%files -n perl-cups
-%defattr(644,root,root,755)
-%{perl_vendorarch}/*.pm
-%dir %{perl_vendorarch}/auto/CUPS
-%{perl_vendorarch}/auto/CUPS/*.bs
-%{perl_vendorarch}/auto/CUPS/autosplit.ix
-%attr(755,root,root) %{perl_vendorarch}/auto/CUPS/*.so
-%endif
-
-%if %{with php}
-%files -n php-cups
-%defattr(644,root,root,755)
-%doc scripting/php/README
-%attr(755,root,root) %{php_extensiondir}/*
-%config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/phpcups.ini
+%{_libdir}/libcups.a
+%{_libdir}/libcupscgi.a
+%{_libdir}/libcupsimage.a
+%{_libdir}/libcupsmime.a
+%{_libdir}/libcupsppdc.a
%endif
%files backend-usb
%defattr(644,root,root,755)
%attr(755,root,root) %{_ulibdir}/cups/backend/usb
+%dir %{_datadir}/cups/usb
+%{_datadir}/cups/usb/org.cups.usb-quirks
-%files backend-serial
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_ulibdir}/cups/backend/serial
-
-%files backend-parallel
+%files lpd
%defattr(644,root,root,755)
-%attr(755,root,root) %{_ulibdir}/cups/backend/parallel
+%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*