# TODO:
# - build/install java ext ?
# - perl BRs
+# - remove obsolete /etc/cups/certs (trigger?)
#
# 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 php # don't build PHP extension
+%bcond_without perl # don't build Perl extension
+%bcond_without static_libs # don't build static library
#
%include /usr/lib/rpm/macros.perl
%define pdir CUPS
Summary: Common Unix Printing System
-Summary(pl): Popularny system druku dla Uniksa
+Summary(pl): Ogólny system druku dla Uniksa
Summary(pt_BR): Sistema Unix de Impressão
Name: cups
-Version: 1.2.0
-Release: 0.9
+Version: 1.2.1
+Release: 3
Epoch: 1
License: GPL/LGPL
Group: Applications/Printing
Source0: http://ftp.easysw.com/pub/cups/%{version}/%{name}-%{version}-source.tar.bz2
-# Source0-md5: a168b0b1c8bb946060e659e1df2927c5
+# Source0-md5: f804995e3f469bdefedc033510f6e6a5
Source1: %{name}.init
Source2: %{name}.pamd
Source3: %{name}.logrotate
Patch1: %{name}-lp-lpr.patch
Patch2: %{name}-options.patch
Patch3: %{name}-man_pages_linking.patch
-Patch4: %{name}-nolibs.patch
-Patch5: %{name}-nostrip.patch
-Patch6: %{name}-rpath.patch
-Patch7: %{name}-anonymous_jobs.patch
+Patch4: %{name}-nostrip.patch
+Patch5: %{name}-jobs-header_tmpl_pl.patch
URL: http://www.cups.org/
+BuildRequires: acl-devel
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: dbus-devel
-BuildRequires: openldap-devel
-BuildRequires: openssl-devel
+%{?with_gnutls:BuildRequires: gnutls-devel}
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
BuildRequires: libstdc++-devel
BuildRequires: libtiff-devel
+BuildRequires: openldap-devel
BuildRequires: openslp-devel
+%{!?with_gnutls:BuildRequires: openssl-devel}
BuildRequires: pam-devel
%{?with_php:BuildRequires: php-devel >= 4:5.0.0}
BuildRequires: pkgconfig
%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.
+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
Summary: Common Unix Printing System Clients
Summary(pl): Aplikacje klienckie dla CUPS
Group: Applications/Printing
-Provides: %{name}-clients = %{epoch}:%{version}-%{release}
+Requires: %{name}-libs = %{epoch}:%{version}-%{release}
Conflicts: LPRng
%description clients
%package devel
Summary: Common Unix Printing System development files
-Summary(pl): Popularny System Druku dla Uniksa, pliki nag³ówkowe
+Summary(pl): Ogólny system druku dla Uniksa - pliki nag³ówkowe
Summary(pt_BR): Sistema Unix de Impressão - ambiente de desenvolvimento
Group: Development/Libraries
Requires: %{name}-image-lib = %{epoch}:%{version}-%{release}
Common Unix Printing System development files.
%description devel -l pl
-Popularny System Druku dla Uniksa, pliki nag³ówkowe.
+Ogólny system druku dla Uniksa - pliki nag³ówkowe.
%description devel -l pt_BR
Este pacote é um adicional que contem um ambiente de desenvolvimento
%package static
Summary: Common Unix Printing System static libraries
-Summary(pl): Popularny System Druku dla Uniksa, biblioteki statyczne
+Summary(pl): Ogólny system druku dla Uniksa - biblioteki statyczne
Summary(pt_BR): Common Unix Printing System - bibliotecas estáticas
Group: Development/Libraries
Requires: %{name}-devel = %{epoch}:%{version}-%{release}
Common Unix Printing System static libraries.
%description static -l pl
-Popularny System Druku dla Uniksa, biblioteki statyczne.
+Ogólny system druku dla Uniksa - biblioteki statyczne.
%description static -l pt_BR
Bibliotecas estáticas para desenvolvimento de programas que usam as
Perl module for Common Unix Printing System.
%description -n perl-cups -l pl
-Modu³ Perla do Popularnego Systemu Druku dla Uniksa.
+Modu³ Perla do ogólnego systemu druku dla Uniksa.
%package -n php-cups
Summary: PHP module for CUPS
PHP module for Common Unix Printing System.
%description -n php-cups -l pl
-Modu³ PHP do Popularnego Systemu Druku dla Uniksa.
+Modu³ PHP do ogólnego systemu druku dla Uniksa.
%package backend-usb
Summary: USB backend for CUPS
%patch1 -p1
%patch2 -p1
%patch3 -p1
-#patch4 -p1 to check
+%patch4 -p1
%patch5 -p1
-%patch6 -p1
-#patch7 -p1 to check
%build
-%{__aclocal}
+%{__aclocal} -I config-scripts
%{__autoconf}
%configure \
--libdir=%{_ulibdir} \
+ --enable-shared \
+ %{?with_static_libs:--enable-static} \
--enable-ssl \
- --enable-openssl \
- --disable-gnutls \
+ --%{?with_gnutls:dis}%{!?with_gnutls:en}able-openssl \
+ --%{!?with_gnutls:dis}%{?with_gnutls:en}able-gnutls \
--disable-cdsassl \
--enable-dbus \
%{?debug:--enable-debug} \
- --with-docdir=%{_ulibdir}/%{name}/cgi-bin
+ --with-docdir=%{_ulibdir}/%{name}/cgi-bin \
+ %{?with_php:--with-php}
+
%{__make}
%{__perl} -pi -e 's#-I\.\.\/\.\.#-I../.. -I../../cups#g' scripting/php/Makefile
if [ "%{_lib}" != "lib" ] ; then
install -d $RPM_BUILD_ROOT%{_libdir}
mv $RPM_BUILD_ROOT%{_ulibdir}/*.so* $RPM_BUILD_ROOT%{_libdir}
- #mv $RPM_BUILD_ROOT%{_ulibdir}/*.a $RPM_BUILD_ROOT%{_libdir}
+ mv $RPM_BUILD_ROOT%{_ulibdir}/*.a $RPM_BUILD_ROOT%{_libdir}
fi
%if %{with php}
%{__make} -C scripting/php install \
- PHPDIR="%{__php_extensiondir}"
+ PHPDIR=$RPM_BUILD_ROOT%{_php_extensiondir}
install -d $RPM_BUILD_ROOT%{_php_configdir}/conf.d
cat > $RPM_BUILD_ROOT%{_php_configdir}/conf.d/phpcups.ini << EOF
; Enable phpcups extension module
gzip -9nf $RPM_BUILD_ROOT%{_datadir}/%{name}/model/*.ppd
-# 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
-
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}.conf
+touch $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{classes,printers,client}.conf
# windows drivers can be put there.
install -d $RPM_BUILD_ROOT%{_datadir}/cups/drivers
+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/etc/cups/ssl
# post-strip can't work on readonly files
%dir %attr(755,root,lp) %{_sysconfdir}/%{name}
%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(640,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}/printers.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
%attr(4755,lp,root) %{_bindir}/lppasswd
%attr(755,root,root) %{_bindir}/cupstestppd
%attr(755,root,root) %{_bindir}/cupstestdsc
-#%attr(755,root,root) %{_bindir}/cupsdisable
-#%attr(755,root,root) %{_bindir}/cupsenable
+%attr(755,root,root) %{_sbindir}/cupsd
+
%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(es) %{_ulibdir}/cups/cgi-bin/es
+%lang(ja) %{_ulibdir}/cups/cgi-bin/ja
+%lang(pl) %{_ulibdir}/cups/cgi-bin/pl
+%lang(sv) %{_ulibdir}/cups/cgi-bin/sv
+
%exclude %{_ulibdir}/cups/backend/usb
%exclude %{_ulibdir}/cups/backend/serial
%exclude %{_ulibdir}/cups/backend/parallel
-%attr(755,root,root) %{_sbindir}/cupsd
+%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
%{_mandir}/man7/filter.7*
%{_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]/*
-#%lang(es) %{_mandir}/es/man1/backend.1*
-#%lang(es) %{_mandir}/es/man1/cupstestppd.1*
-#%lang(es) %{_mandir}/es/man1/filter.1*
-#%lang(es) %{_mandir}/es/man1/lppasswd.1*
-#%lang(es) %{_mandir}/es/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.po
%lang(ja) %{_datadir}/locale/ja/cups_ja.po
-#%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(pl) %{_datadir}/locale/pl/cups_pl.po
%lang(sv) %{_datadir}/locale/sv/cups_sv.po
-#%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
-%dir %attr(710,root,lp) /var/spool/cups
+
+%dir %attr(775,root,lp) /var/cache/cups
%dir %attr(755,root,lp) /var/run/cups
%dir %attr(511,lp,sys) /var/run/cups/certs
-%dir %attr(775,root,lp) /var/cache/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/archiv/cups
%attr(750,root,logs) %dir /var/log/cups
%files clients
%defattr(644,root,root,755)
-#%attr(644,root,lp) %config(noreplace) %verify(not md5 mtime size) %{_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
#%lang(fr) %{_mandir}/fr/man1/cups-config*
#%lang(es) %{_mandir}/es/man1/cups-config*
-#%files static
-#%defattr(644,root,root,755)
-#%{_libdir}/*.a
+%if %{with static_libs}
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/*.a
+%endif
%if %{with perl}
%files -n perl-cups