#
# Conditional build:
-%bcond_without php # don't build php extension
-%bcond_without perl # don't build perl extension
+%bcond_with gnutls # use GNU TLS for SSL/TLS support (instead of OpenSSL)
+%bcond_without dnssd
+%bcond_without php # don't build PHP extension/support in web interface
+%bcond_without perl # don't build Perl extension/support in web interface
+%bcond_without java # don't build Java extension/support in web interface
+%bcond_without python # don't build Python support in web interface
+%bcond_without static_libs # don't build static library
#
-# TODO:
-# - register php module
-# - build/install java ext ?
-# - perl BRs
%include /usr/lib/rpm/macros.perl
+%include /usr/lib/rpm/macros.java
+%define pdir CUPS
+
+%ifarch i386 i486 ppc
+%undefine with_java
+%endif
+
Summary: Common Unix Printing System
-Summary(pl): Popularny system druku dla Uniksa
-Summary(pt_BR): Sistema Unix de Impressão
+Summary(pl.UTF-8): Ogólny system druku dla Uniksa
+Summary(pt_BR.UTF-8): Sistema Unix de Impressão
Name: cups
-%define rcver rc1
-Version: 1.1.21
-Release: 0.%{rcver}.1
+Version: 1.3.5
+Release: 2
Epoch: 1
License: GPL/LGPL
Group: Applications/Printing
-Source0: ftp://ftp.easysw.com/pub/%{name}/%{?rcver:test}%{!?rcver:%{version}}/%{name}-%{version}%{rcver}-source.tar.bz2
-# Source0-md5: 3cf609727cbf8d8c097d16100be58a28
+Source0: http://ftp.easysw.com/pub/cups/%{version}/%{name}-%{version}-source.tar.bz2
+# Source0-md5: 355705c528e9a8d0d439da15454d79a6
Source1: %{name}.init
Source2: %{name}.pamd
Source3: %{name}.logrotate
-Patch0: %{name}-DESTDIR.patch
-Patch1: %{name}-config.patch
-Patch2: %{name}-tmpdir.patch
-Patch3: %{name}-lp-lpr.patch
-Patch4: %{name}-options.patch
-Patch5: %{name}-ENCRYPTIONtxt.patch
-Patch6: %{name}-man_pages_linking.patch
-Patch7: %{name}-nolibs.patch
-Patch8: %{name}-chown.patch
-Patch9: %{name}-nostrip.patch
-Patch10: %{name}-rpath.patch
-Patch11: %{name}-gcc34.patch
+Source4: %{name}.mailto.conf
+Source5: %{name}-lpd.inetd
+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
+Patch8: %{name}-satisfy-any.patch
+Patch9: %{name}-no-polluted-krb5config.patch
URL: http://www.cups.org/
+BuildRequires: acl-devel
BuildRequires: autoconf
BuildRequires: automake
+%{?with_dnssd:BuildRequires: avahi-compat-libdns_sd-devel}
+BuildRequires: dbus-devel
+BuildRequires: glibc-headers
+%{?with_gnutls:BuildRequires: gnutls-devel}
+%{?with_java:BuildRequires: jar}
+%{?with_java:BuildRequires: jdk}
+%{?with_java:BuildRequires: jpackage-utils}
+BuildRequires: krb5-devel
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
+BuildRequires: libstdc++-devel
BuildRequires: libtiff-devel
+BuildRequires: openldap-devel >= 2.4.6
BuildRequires: openslp-devel
-BuildRequires: openssl-devel >= 0.9.7d
+%{!?with_gnutls:BuildRequires: openssl-devel}
BuildRequires: pam-devel
-%{?with_php:BuildRequires: php-devel}
+%{?with_php:BuildRequires: php-devel >= 4:5.0.0}
BuildRequires: pkgconfig
+%{?with_java:BuildRequires: rpm-javaprov}
BuildRequires: rpm-perlprov
-PreReq: %{name}-libs = %{epoch}:%{version}
+BuildRequires: rpmbuild(macros) >= 1.344
Requires(post,preun): /sbin/chkconfig
+Requires: %{name}-libs = %{epoch}:%{version}-%{release}
Requires: pam >= 0.77.3
+Requires: rc-scripts
+Provides: printingdaemon
+Obsoletes: printingdaemon
Conflicts: ghostscript < 7.05.4
-Obsoletes: lpr
-Obsoletes: LPRng
+Conflicts: logrotate < 3.7-4
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _ulibdir %{_prefix}/lib
%description
-CUPS provides a portable printing layer for UNIX®-based operating
+CUPS provides a portable printing layer for UNIX-based operating
systems. It has been developed by Easy Software Products to promote a
standard printing solution for all UNIX vendors and users. CUPS
provides the System V and Berkeley command-line interfaces. CUPS uses
PostScript Printer Description ("PPD") based printing options to
support real-world printing under UNIX.
-%description -l pl
-CUPS dostarcza standardowy poziom drukowania dla systemów uniksowych.
-CUPS u¿ywa protoko³u IPP - Internet Printint Protocol jako podstawy do
-zarz±dzania zadaniami i kolejkami druku.
+%description -l pl.UTF-8
+CUPS dostarcza standardowy poziom drukowania dla systemów uniksowych.
+CUPS używa protokołu IPP - Internet Printint Protocol jako podstawy do
+zarządzania zadaniami i kolejkami druku. W ograniczonym zakresie
+obsługiwane są także protokoły LPD (Line Printer Daemon), SMB (Server
+Message Block) i AppSocket (znany także jako JetDirect). CUPS
+udostępnia przeglądanie drukarek sieciowych i opcje drukowania oparte
+na PPD (PostScript Printer Description) do obsługi rzeczywistych
+drukarek.
-%description -l pt_BR
-O sistema Unix de impressão (CUPS) fornece uma camada de impressão
-portável para os sistemas operacionais baseados no UNIX®.
+%description -l pt_BR.UTF-8
+O sistema Unix de impressão (CUPS) fornece uma camada de impressão
+portável para os sistemas operacionais baseados no UNIX®.
%package lib
Summary: Common Unix Printing System Libraries
-Summary(pl): Biblioteki dla CUPS
-Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
+Summary(pl.UTF-8): Biblioteki dla CUPS
+Summary(pt_BR.UTF-8): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
Group: Libraries
Provides: %{name}-libs = %{epoch}:%{version}-%{release}
-Obsoletes: %{name}-libs
+Obsoletes: cups-libs
Obsoletes: libcups1
%description lib
Common Unix Printing System Libraries.
-%description lib -l pl
+%description lib -l pl.UTF-8
Biblioteki dla CUPS.
-%description lib -l pt_BR
+%description lib -l pt_BR.UTF-8
Bibliotecas CUPS requeridas pelos clientes CUPS.
%package clients
Summary: Common Unix Printing System Clients
-Summary(pl): Aplikacje klienckie dla CUPS
+Summary(pl.UTF-8): Aplikacje klienckie dla CUPS
Group: Applications/Printing
-Provides: %{name}-clients = %{epoch}:%{version}-%{release}
-Conflicts: LPRng
+Requires: %{name}-libs = %{epoch}:%{version}-%{release}
+Provides: printingclient
+Obsoletes: printingclient
%description clients
Common Unix Printing System Clients.
-%description clients -l pl
+%description clients -l pl.UTF-8
Aplikacje klienckie dla CUPS.
%package image-lib
Summary: Common Unix Printing System Libraries - images manipulation
-Summary(pl): Biblioteki dla CUPS - obs³uga formatów graficznych
-Summary(pt_BR): Sistema Unix de Impressão - bibliotecas para uso em clientes cups
+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
Group: Libraries
Requires: %{name}-lib = %{epoch}:%{version}-%{release}
Obsoletes: libcups1
%description image-lib
-Common Unix Printing System Libraries - images manupalation.
+Common Unix Printing System Libraries - images manipalation.
-%description image-lib -l pl
-Biblioteki dla CUPS - obs³uga formatów graficznych.
+%description image-lib -l pl.UTF-8
+Biblioteki dla CUPS - obsługa formatów graficznych.
-%description image-lib -l pt_BR
+%description image-lib -l pt_BR.UTF-8
Bibliotecas CUPS requeridas pelos clientes CUPS.
%package devel
Summary: Common Unix Printing System development files
-Summary(pl): Popularny System Druku dla Uniksa, pliki nag³ówkowe
-Summary(pt_BR): Sistema Unix de Impressão - ambiente de desenvolvimento
+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
Group: Development/Libraries
-Requires: %{name}-image-lib = %{epoch}:%{version}
-Requires: %{name}-lib = %{epoch}:%{version}
+Requires: %{name}-image-lib = %{epoch}:%{version}-%{release}
+Requires: %{name}-lib = %{epoch}:%{version}-%{release}
+# for libcups
+%{?with_gnutls:Requires: gnutls-devel}
+Requires: krb5-devel
+%{!?with_gnutls:Requires: openssl-devel}
+Requires: zlib-devel
+# for libcupsimage
+Requires: libjpeg-devel
+Requires: libpng-devel
+Requires: libtiff-devel
Obsoletes: libcups1-devel
%description devel
Common Unix Printing System development files.
-%description devel -l pl
-Popularny System Druku dla Uniksa, pliki nag³ówkowe.
+%description devel -l pl.UTF-8
+Ogólny system druku dla Uniksa - pliki nagłówkowe.
-%description devel -l pt_BR
-Este pacote é um adicional que contem um ambiente de desenvolvimento
-para a criação de suporte a novas impressoras e novos serviços ao
+%description devel -l pt_BR.UTF-8
+Este pacote é um adicional que contem um ambiente de desenvolvimento
+para a criação de suporte a novas impressoras e novos serviços ao
CUPS.
%package static
Summary: Common Unix Printing System static libraries
-Summary(pl): Popularny System Druku dla Uniksa, biblioteki statyczne
-Summary(pt_BR): Common Unix Printing System - bibliotecas estáticas
+Summary(pl.UTF-8): Ogólny system druku dla Uniksa - biblioteki statyczne
+Summary(pt_BR.UTF-8): Common Unix Printing System - bibliotecas estáticas
Group: Development/Libraries
-Requires: %{name}-devel = %{epoch}:%{version}
+Requires: %{name}-devel = %{epoch}:%{version}-%{release}
%description static
Common Unix Printing System static libraries.
-%description static -l pl
-Popularny System Druku dla Uniksa, biblioteki statyczne.
+%description static -l pl.UTF-8
+Ogólny system druku dla Uniksa - biblioteki statyczne.
-%description static -l pt_BR
-Bibliotecas estáticas para desenvolvimento de programas que usam as
+%description static -l pt_BR.UTF-8
+Bibliotecas estáticas para desenvolvimento de programas que usam as
bibliotecas do CUPS.
%package -n perl-cups
Summary: Perl module for CUPS
-Summary(pl): Modu³ Perla CUPS
+Summary(pl.UTF-8): Moduł Perla CUPS
Group: Development/Languages/Perl
-Requires: cups-lib = %{epoch}:%{version}
+Requires: %{name}-lib = %{epoch}:%{version}-%{release}
%description -n perl-cups
Perl module for Common Unix Printing System.
-%description -n perl-cups -l pl
-Modu³ Perla do Popularnego Systemu Druku dla Uniksa.
+%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): Modu³ PHP CUPS
+Summary(pl.UTF-8): Moduł PHP CUPS
Group: Development/Languages/PHP
-Requires: cups-lib = %{epoch}:%{version}
+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
-Modu³ PHP do Popularnego Systemu Druku dla Uniksa.
+%description -n php-cups -l pl.UTF-8
+Moduł PHP do ogólnego systemu druku dla Uniksa.
+
+%package -n java-cups
+Summary: CUPS java classes
+Summary(pl.UTF-8): Klasy javy CUPS
+Group: Development/Languages/Java
+Requires: jpackage-utils
+
+%description -n java-cups
+Common Unix Printing System Java classes.
+
+%description -n java-cups -l pl.UTF-8
+Klasy javy do ogólnego systemu druku dla Uniksa.
+
+%package -n java-cups-javadoc
+Summary: Online manual for %{name}
+Summary(pl.UTF-8): Dokumentacja online do %{name}
+Group: Documentation
+Requires: jpackage-utils
+
+%description -n java-cups-javadoc
+Documentation for %{name}.
+
+%description -n java-cups-javadoc -l pl.UTF-8
+Dokumentacja do %{name}.
+
+%description -n java-cups-javadoc -l fr.UTF-8
+Javadoc pour %{name}.
%package backend-usb
Summary: USB backend for CUPS
-Summary(pl): Backend USB dla CUPS-a
+Summary(pl.UTF-8): Backend USB dla CUPS-a
Group: Applications/Printing
-Requires: cups = %{epoch}:%{version}
+Requires: %{name} = %{epoch}:%{version}-%{release}
%description backend-usb
This package allow CUPS printing on USB printers.
-%description backend-usb -l pl
-Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach USB.
+%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): Backend obs³uguj±cy porty szeregowe dla CUPS-a
+Summary(pl.UTF-8): Backend obsługujący porty szeregowe dla CUPS-a
Group: Applications/Printing
-Requires: cups = %{epoch}:%{version}
+Requires: %{name} = %{epoch}:%{version}-%{release}
%description backend-serial
This package allow CUPS printing on printers connected by serial
ports.
-%description backend-serial -l pl
-Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
-pod³±czonych do portów szeregowych.
+%description backend-serial -l pl.UTF-8
+Ten pakiet umożliwia drukowanie z poziomu CUPS-a na drukarkach
+podłączonych do portów szeregowych.
%package backend-parallel
Summary: Parallel port backend for CUPS
-Summary(pl): Backend obs³uguj±cy porty równoleg³e dla CUPS-a
+Summary(pl.UTF-8): Backend obsługujący porty równoległe dla CUPS-a
Group: Applications/Printing
-Requires: cups = %{epoch}:%{version}
+Requires: %{name} = %{epoch}:%{version}-%{release}
%description backend-parallel
This package allow CUPS printing on printers connected by parallel
ports.
-%description backend-parallel -l pl
-Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach
-pod³±czonych do portów równoleg³ych.
+%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.
+
+%package lpd
+Summary: LPD compatibility support for CUPS print server
+Summary(pl.UTF-8): Wsparcie dla LPD w serwerze wydruków CUPS
+Group: Applications/Printing
+Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: rc-inetd
+
+%description lpd
+LPD compatibility support for CUPS print server.
+
+%description lpd -l pl.UTF-8
+Wsparcie dla LPD w serwerze wydruków CUPS.
%prep
-%setup -q -n %{name}-%{version}%{rcver}
+%setup -q
%patch0 -p1
%patch1 -p1
-# wtf?
-#%patch2 -p1
+%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
-%patch10 -p1
-%patch11 -p1
%build
-%{__aclocal}
+%{__aclocal} -I config-scripts
%{__autoconf}
%configure \
--libdir=%{_ulibdir} \
- --with-docdir=%{_ulibdir}/%{name}/cgi-bin
+ --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 \
+ --disable-cdsassl \
+ --enable-dbus \
+ %{?debug:--enable-debug} \
+ --with-docdir=%{_ulibdir}/%{name}/cgi-bin \
+ --with-config-file-perm=0640 \
+ --with-log-file-perm=0640 \
+ %{?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_python:--with-python}
+
%{__make}
-perl -pi -e 's#-I\.\.\/\.\.#-I../.. -I../../cups#g' scripting/php/Makefile
-%{?with_php:%{__make} -C scripting/php}
+%{__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
INSTALLDIRS=vendor \
OPTIMIZE="%{rpmcflags} -I../.."
# avoid rpaths generated by MakeMaker
-perl -pi -e 's@LD_RUN_PATH="\$\(LD_RUN_PATH\)" @@' Makefile
+%{__perl} -pi -e 's@LD_RUN_PATH="\$\(LD_RUN_PATH\)" @@' Makefile
%{__make}
cd ../..
%endif
+%if %{with java}
+cd scripting/java
+rm -rf classes/* cups.jar
+%javac -d classes src/com/easysw/cups/*.java
+cd classes
+%jar cvf ../cups.jar com/easysw/cups
+cd ../../..
+%endif
+
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/etc/{{rc.d/init.d,pam.d,logrotate.d},security} \
- $RPM_BUILD_ROOT/var/log/{,archiv/}cups
+install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,pam.d,logrotate.d,security,sysconfig/rc-inetd} \
+ $RPM_BUILD_ROOT/var/run/cups \
+ $RPM_BUILD_ROOT/var/log/{,archive/}cups
%{__make} install \
- DESTDIR=$RPM_BUILD_ROOT
+ BUILDROOT=$RPM_BUILD_ROOT \
+ CUPS_USER=$(id -u) \
+ CUPS_GROUP=$(id -g)
if [ "%{_lib}" != "lib" ] ; then
install -d $RPM_BUILD_ROOT%{_libdir}
%if %{with php}
%{__make} -C scripting/php install \
- PHPDIR="$RPM_BUILD_ROOT`php-config --extension-dir`"
+ 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
%if %{with perl}
-cd scripting/perl
-%{__make} install \
+%{__make} -C scripting/perl install \
DESTDIR=$RPM_BUILD_ROOT
-cd ../..
+%endif
+
+%if %{with java}
+install -d $RPM_BUILD_ROOT{%{_datadir}/java,%{_examplesdir}/java-cups-%{version}}
+# jars
+cp -a scripting/java/cups.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
+ln -s %{name}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}.jar
+# examples
+cp -a scripting/java/{CUPSPrinter.java,example} $RPM_BUILD_ROOT%{_examplesdir}/java-cups-%{version}
+# javadoc
+install -d $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
+cp -a scripting/java/docs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
+ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} # ghost symlink
%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
+sed -e 's|__ULIBDIR__|%{_ulibdir}|g' %{SOURCE5} > $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/cups-lpd
-# for internal http browser:
-cp doc/*.html $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin
-cp doc/*.css $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin
-cp doc/images/* $RPM_BUILD_ROOT%{_ulibdir}/%{name}/cgi-bin/images
+gzip -9nf $RPM_BUILD_ROOT%{_datadir}/%{name}/model/*.ppd
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
+
+# windows drivers can be put there.
+install -d $RPM_BUILD_ROOT%{_datadir}/cups/drivers
+
+# dirs for gimp-print-cups-4.2.7-1
+install -d $RPM_BUILD_ROOT%{_datadir}/cups/model/{C,da,en_GB,fr,nb,pl,sv}
+
+touch $RPM_BUILD_ROOT/var/cache/cups/help.index
+touch $RPM_BUILD_ROOT/var/cache/cups/{job,remote}.cache
+touch $RPM_BUILD_ROOT/var/cache/cups/ppds.dat
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/cups/ssl
+
+# links to enable/disable (compatibility!)
+ln -s accept $RPM_BUILD_ROOT%{_sbindir}/enable
+ln -s accept $RPM_BUILD_ROOT%{_sbindir}/disable
+
+# fix/update locale names
+install -d $RPM_BUILD_ROOT%{_datadir}/locale/{nb,zh_CN}
+mv -f $RPM_BUILD_ROOT%{_datadir}/locale/{no/cups_no.po,nb/cups_nb.po}
+mv -f $RPM_BUILD_ROOT%{_datadir}/locale/{zh/cups_zh.po,zh_CN/cups_zh_CN.po}
# check-files cleanup
-rm -rf $RPM_BUILD_ROOT%{_mandir}/{,fr/}cat?
+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
/sbin/chkconfig --add cups
-if [ -f /var/lock/subsys/cups ]; then
- /etc/rc.d/init.d/cups restart 1>&2
-else
- echo "Run \"/etc/rc.d/init.d/cups start\" to start cups daemon."
-fi
+%service cups restart "cups daemon"
%preun
if [ "$1" = "0" ]; then
- if [ -f /var/lock/subsys/cups ]; then
- /etc/rc.d/init.d/cups stop 1>&2
- fi
+ %service cups stop
/sbin/chkconfig --del cups
fi
%post image-lib -p /sbin/ldconfig
%postun image-lib -p /sbin/ldconfig
+%post -n php-cups
+%php_webserver_restart
+
+%postun -n php-cups
+if [ "$1" = 0 ]; then
+ %php_webserver_restart
+fi
+
+%post -n java-cups-javadoc
+ln -nfs %{name}-%{version} %{_javadocdir}/%{name}
+
+%post lpd
+%service -q rc-inetd reload
+
+%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 size mtime md5) /etc/pam.d/*
+%attr(640,root,root) %config %verify(not md5 mtime size) /etc/pam.d/*
%attr(754,root,root) /etc/rc.d/init.d/cups
-%dir %{_sysconfdir}/%{name}
-%attr(640,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/classes.conf
-%attr(640,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/cupsd.conf
-%attr(640,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/printers.conf
-%attr(640,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/*.convs
-%attr(640,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/*.types
+/etc/dbus-1/system.d/cups.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}/cupsd.conf
+%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(600,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/snmp.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(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.cups
-%dir %{_sysconfdir}/%{name}/certs
+%dir %attr(700,root,lp) %{_sysconfdir}/%{name}/ssl
%dir %{_sysconfdir}/%{name}/interfaces
-%dir %{_sysconfdir}/%{name}/ppd
-%attr(644,root,root) /etc/logrotate.d/%{name}
+%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}/disable
-%attr(755,root,root) %{_bindir}/enable
+%attr(755,root,root) %{_bindir}/cupstestdsc
+%attr(755,root,root) %{_sbindir}/cupsctl
+%attr(755,root,root) %{_sbindir}/cupsd
+%attr(755,root,root) %{_sbindir}/cupsfilter
+
%dir %{_ulibdir}/cups
%dir %{_ulibdir}/cups/*
-%attr(755,root,root) %{_ulibdir}/cups/*/*
+%{_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/*.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) %{_sbindir}/cupsd
-%{_datadir}/cups
-%{_mandir}/man1/backend.1*
+%attr(755,root,root) %{_ulibdir}/cups/backend/*
+%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-polld
+%attr(755,root,root) %{_ulibdir}/cups/filter/*
+%attr(755,root,root) %{_ulibdir}/cups/monitor/*
+%attr(755,root,root) %{_ulibdir}/cups/notifier/*
+
+%{_datadir}/cups/banners
+%{_datadir}/cups/charsets
+%{_datadir}/cups/data
+%{_datadir}/cups/drivers
+%{_datadir}/cups/fonts
+%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(en_GB) %dir %{_datadir}/cups/model/en_GB
+%lang(fr) %dir %{_datadir}/cups/model/fr
+%lang(nb) %dir %{_datadir}/cups/model/nb
+%lang(pl) %dir %{_datadir}/cups/model/pl
+%lang(sv) %dir %{_datadir}/cups/model/sv
+
+%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}/man1/cupstestppd.1*
-%{_mandir}/man1/filter.1*
+%{_mandir}/man1/cupstestdsc.1*
%{_mandir}/man1/lppasswd.1*
-%{_mandir}/man[58]/*
-%lang(fr) %{_mandir}/fr/man1/backend.1*
-%lang(fr) %{_mandir}/fr/man1/cupstestppd.1*
-%lang(fr) %{_mandir}/fr/man1/filter.1*
-%lang(fr) %{_mandir}/fr/man1/lppasswd.1*
-%lang(fr) %{_mandir}/fr/man[58]/*
-%{_datadir}/locale/C/cups_C
-%lang(be) %{_datadir}/locale/be/cups_be
-%lang(cs) %{_datadir}/locale/cs/cups_cs
-%lang(de) %{_datadir}/locale/de/cups_de
-%{_datadir}/locale/en/cups_en
-%lang(en_US) %{_datadir}/locale/en_US/cups_en_US
-%lang(es) %{_datadir}/locale/es/cups_es
-%lang(fr) %{_datadir}/locale/fr/cups_fr
-%lang(he) %{_datadir}/locale/he/cups_he
-%lang(it) %{_datadir}/locale/it/cups_it
-%lang(ru) %{_datadir}/locale/ru_RU/cups_ru_RU
-%lang(sv) %{_datadir}/locale/sv/cups_sv
-%lang(uk) %{_datadir}/locale/uk/cups_uk
-%lang(uk) %{_datadir}/locale/uk_UA/cups_uk_UA
-%lang(zh_CN) %{_datadir}/locale/zh_CN/cups_zh_CN
-/var/spool/cups
-%attr(750,root,root) %dir /var/log/archiv/cups
-%attr(750,root,root) %dir /var/log/cups
-%attr(640,root,root) %ghost /var/log/cups/access_log
-%attr(640,root,root) %ghost /var/log/cups/error_log
-%attr(640,root,root) %ghost /var/log/cups/page_log
+%{_mandir}/man7/backend.7*
+%{_mandir}/man7/filter.7*
+%{_mandir}/man5/*
+%{_mandir}/man8/accept.8*
+%{_mandir}/man8/cups-deviced.8*
+%{_mandir}/man8/cups-driverd.8*
+%{_mandir}/man8/cups-polld.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
+%dir %attr(511,lp,sys) /var/lib/cups/certs
+%dir %attr(755,root,lp) /var/run/cups
+%dir %attr(710,root,lp) /var/spool/cups
+%dir %attr(1770,root,lp) /var/spool/cups/tmp
+%attr(600,lp,lp) %ghost /var/cache/cups/help.index
+%attr(640,root,lp) %ghost /var/cache/cups/job.cache
+%attr(600,lp,lp) %ghost /var/cache/cups/ppds.dat
+%attr(640,root,lp) %ghost /var/cache/cups/remote.cache
+%attr(750,root,logs) %dir /var/log/archive/cups
+%attr(750,root,logs) %dir /var/log/cups
+%attr(640,root,logs) %ghost /var/log/cups/access_log
+%attr(640,root,logs) %ghost /var/log/cups/error_log
+%attr(640,root,logs) %ghost /var/log/cups/page_log
%files lib
%defattr(644,root,root,755)
+%dir %attr(755,root,lp) %{_sysconfdir}/%{name}
%attr(755,root,root) %{_libdir}/libcups.so.*
+%dir %{_datadir}/cups
+%{_datadir}/cups/charmaps
+%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(nb) %{_datadir}/locale/nb/cups_nb.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(ru) %{_datadir}/locale/ru/cups_ru.po
+%lang(sv) %{_datadir}/locale/sv/cups_sv.po
+%lang(zh_CN) %{_datadir}/locale/zh_CN/cups_zh_CN.po
+%lang(zh_TW) %{_datadir}/locale/zh_TW/cups_zh_TW.po
%files clients
%defattr(644,root,root,755)
-%attr(644,root,lp) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/client.conf
+%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}/lp
%attr(755,root,root) %{_bindir}/lpoptions
%attr(755,root,root) %{_bindir}/lpstat
%attr(755,root,root) %{_sbindir}/accept
%attr(755,root,root) %{_sbindir}/cupsaddsmb
+%attr(755,root,root) %{_sbindir}/cupsenable
+%attr(755,root,root) %{_sbindir}/cupsdisable
+%attr(755,root,root) %{_sbindir}/disable
+%attr(755,root,root) %{_sbindir}/enable
%attr(755,root,root) %{_sbindir}/lpadmin
%attr(755,root,root) %{_sbindir}/lpc
%attr(755,root,root) %{_sbindir}/lpinfo
%attr(755,root,root) %{_sbindir}/lpmove
%attr(755,root,root) %{_sbindir}/reject
+%{_desktopdir}/cups.desktop
+%{_iconsdir}/hicolor/*/apps/cups.png
%{_mandir}/man1/cancel.1*
%{_mandir}/man1/lp.1*
%{_mandir}/man1/lpoptions.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(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*
%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}/libcupsimage.so
%{_includedir}/cups
-%{_libdir}/lib*.so
-%{_mandir}/man1/cups-config*
-%{_mandir}/man3/*
-%lang(fr) %{_mandir}/fr/man1/cups-config*
+%{_mandir}/man1/cups-config.1*
+#%lang(fr) %{_mandir}/fr/man1/cups-config.1*
+#%lang(es) %{_mandir}/es/man1/cups-config.1*
+%if %{with static_libs}
%files static
%defattr(644,root,root,755)
-%{_libdir}/*.a
+%{_libdir}/libcups.a
+%{_libdir}/libcupsimage.a
+%endif
%if %{with perl}
%files -n perl-cups
%defattr(644,root,root,755)
-%{perl_vendorarch}/*.pm
+%{perl_vendorarch}/CUPS.pm
%dir %{perl_vendorarch}/auto/CUPS
-%{perl_vendorarch}/auto/CUPS/*.bs
+%{perl_vendorarch}/auto/CUPS/CUPS.bs
%{perl_vendorarch}/auto/CUPS/autosplit.ix
-%attr(755,root,root) %{perl_vendorarch}/auto/CUPS/*.so
+%attr(755,root,root) %{perl_vendorarch}/auto/CUPS/CUPS.so
+%{_mandir}/man3/CUPS.3pm*
%endif
%if %{with php}
%files -n php-cups
%defattr(644,root,root,755)
-%attr(755,root,root) %(php-config --extension-dir)/*
+%doc scripting/php/README
+%attr(755,root,root) %{php_extensiondir}/phpcups.so
+%config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/phpcups.ini
+%endif
+
+%if %{with java}
+%files -n java-cups
+%defattr(644,root,root,755)
+%{_javadir}/*.jar
+%{_examplesdir}/java-cups-%{version}
+
+%files -n java-cups-javadoc
+%defattr(644,root,root,755)
+%{_javadocdir}/%{name}-%{version}
+%ghost %{_javadocdir}/%{name}
%endif
%files backend-usb
%files backend-parallel
%defattr(644,root,root,755)
%attr(755,root,root) %{_ulibdir}/cups/backend/parallel
+
+%files lpd
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/*
+%attr(755,root,root) %{_ulibdir}/cups/daemon/cups-lpd
+%{_mandir}/man8/cups-lpd.8*