%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
#
%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.UTF-8): Ogólny system druku dla Uniksa
Summary(pt_BR.UTF-8): Sistema Unix de Impressão
Name: cups
-Version: 1.3.5
-Release: 4
+Version: 1.4.2
+Release: 6
Epoch: 1
-License: GPL/LGPL
+License: LGPL v2 (libraries), GPL v2 (the rest) + openssl exception
Group: Applications/Printing
Source0: http://ftp.easysw.com/pub/cups/%{version}/%{name}-%{version}-source.tar.bz2
-# Source0-md5: 355705c528e9a8d0d439da15454d79a6
+# Source0-md5: d95e2d588e3d36e563027a963b117b1b
Source1: %{name}.init
Source2: %{name}.pamd
Source3: %{name}.logrotate
Source4: %{name}.mailto.conf
Source5: %{name}-lpd.inetd
+Source6: %{name}-modprobe.conf
+# svn diff http://svn.easysw.com/public/cups/tags/release-1.4.1/ http://svn.easysw.com/public/cups/branches/branch-1.4/ > cups-branch.diff
+# + drop config-scripts/cups-common.m4 change
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
+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
URL: http://www.cups.org/
BuildRequires: acl-devel
BuildRequires: autoconf
%{?with_dnssd:BuildRequires: avahi-compat-libdns_sd-devel}
BuildRequires: dbus-devel
BuildRequires: glibc-headers
+BuildRequires: heimdal-devel
%{?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: libpaper-devel
BuildRequires: libpng-devel
BuildRequires: libstdc++-devel
BuildRequires: libtiff-devel
-BuildRequires: openldap-devel >= 2.4.6
+BuildRequires: libusb-devel
+BuildRequires: libusb-compat-devel
+BuildRequires: openldap-devel
BuildRequires: openslp-devel
%{!?with_gnutls:BuildRequires: openssl-devel}
BuildRequires: pam-devel
BuildRequires: rpmbuild(macros) >= 1.344
Requires(post,preun): /sbin/chkconfig
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
+Requires: openssl-tools
Requires: pam >= 0.77.3
Requires: rc-scripts
Provides: printingdaemon
Obsoletes: printingdaemon
Conflicts: ghostscript < 7.05.4
Conflicts: logrotate < 3.7-4
+Suggests: cups-filter-pstoraster
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 + openssl exception
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
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
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
Group: Development/Libraries
Requires: %{name}-image-lib = %{epoch}:%{version}-%{release}
Requires: %{name}-lib = %{epoch}:%{version}-%{release}
# for libcups
%{?with_gnutls:Requires: gnutls-devel}
-Requires: krb5-devel
+Requires: heimdal-devel
%{!?with_gnutls:Requires: openssl-devel}
Requires: zlib-devel
# for libcupsimage
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
Group: Development/Libraries
Requires: %{name}-devel = %{epoch}:%{version}-%{release}
%package -n perl-cups
Summary: Perl module for CUPS
Summary(pl.UTF-8): Moduł Perla CUPS
+License: GPL v2 + openssl exception
Group: Development/Languages/Perl
Requires: %{name}-lib = %{epoch}:%{version}-%{release}
%package -n php-cups
Summary: PHP module for CUPS
Summary(pl.UTF-8): Moduł PHP CUPS
+License: GPL v2 + openssl exception
Group: Development/Languages/PHP
Requires: %{name}-lib = %{epoch}:%{version}-%{release}
%{?requires_php_extension}
%package -n java-cups
Summary: CUPS java classes
Summary(pl.UTF-8): Klasy javy CUPS
-Group: Development/Languages/Java
+License: GPL v2 + openssl exception
+Group: Libraries/Java
Requires: jpackage-utils
%description -n java-cups
%package -n java-cups-javadoc
Summary: Online manual for %{name}
Summary(pl.UTF-8): Dokumentacja online do %{name}
+License: GPL v2 + openssl exception
Group: Documentation
Requires: jpackage-utils
%package backend-usb
Summary: USB backend for CUPS
Summary(pl.UTF-8): Backend USB dla CUPS-a
+License: GPL v2 + openssl exception
Group: Applications/Printing
Requires: %{name} = %{epoch}:%{version}-%{release}
%package backend-serial
Summary: Serial port backend for CUPS
Summary(pl.UTF-8): Backend obsługujący porty szeregowe dla CUPS-a
+License: GPL v2 + openssl exception
Group: Applications/Printing
Requires: %{name} = %{epoch}:%{version}-%{release}
%package backend-parallel
Summary: Parallel port backend for CUPS
Summary(pl.UTF-8): Backend obsługujący porty równoległe dla CUPS-a
+License: GPL v2 + openssl exception
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
Group: Applications/Printing
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: rc-inetd
%prep
%setup -q
%patch0 -p1
-%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
-%patch8 -p1
%patch9 -p1
+%patch10 -p1
+%patch11 -p1
%build
%{__aclocal} -I config-scripts
%{__autoconf}
%configure \
--libdir=%{_ulibdir} \
+ --disable-cdsassl \
+ --enable-libpaper \
+ --enable-libusb \
+ --enable-acl \
+ --enable-dbus \
+ --enable-image \
+ --enable-bannertops \
+ --enable-texttops \
--enable-shared \
+ --enable-ssl \
+ %{?debug:--enable-debug} \
+ --%{!?with_dnssd:dis}%{?with_dnssd:en}able-dnssd \
+ --%{!?with_gnutls:dis}%{?with_gnutls:en}able-gnutls \
+ --%{?with_gnutls:dis}%{!?with_gnutls:en}able-openssl \
+ %{?with_static_libs:--enable-static} \
--with-cups-user=lp \
--with-cups-group=lp \
--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-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_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}
+ --with-java=%{_bindir}/java \
+ %{?with_perl:--with-perl=%{_bindir}/perl} \
+ %{?with_php:--with-php=%{_bindir}/php} \
+ %{?with_python:--with-python=%{_bindir}/python}
%{__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,sysconfig/rc-inetd} \
+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
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}
+%endif
fi
%if %{with php}
DESTDIR=$RPM_BUILD_ROOT
%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
-
-gzip -9nf $RPM_BUILD_ROOT%{_datadir}/%{name}/model/*.ppd
+install %{SOURCE6} $RPM_BUILD_ROOT/etc/modprobe.d/cups.conf
touch $RPM_BUILD_ROOT/var/log/cups/{access_log,error_log,page_log}
touch $RPM_BUILD_ROOT/etc/security/blacklist.cups
%post
/sbin/chkconfig --add cups
%service cups restart "cups daemon"
+/sbin/rmmod usblp > /dev/null 2>&1 || :
%preun
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
%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(754,root,root) /etc/rc.d/init.d/cups
/etc/dbus-1/system.d/cups.conf
+/etc/modprobe.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 %attr(700,root,lp) %{_sysconfdir}/%{name}/ssl
%dir %{_sysconfdir}/%{name}/interfaces
%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
%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(eu) %{_ulibdir}/cups/cgi-bin/eu
%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
+%lang(ru) %{_ulibdir}/cups/cgi-bin/ru
%exclude %{_ulibdir}/cups/backend/usb
%exclude %{_ulibdir}/cups/backend/serial
%{_datadir}/cups/charsets
%{_datadir}/cups/data
%{_datadir}/cups/drivers
+%{_datadir}/cups/drv
+%{_datadir}/cups/examples
%{_datadir}/cups/fonts
+%{_datadir}/cups/mime
%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
+%{_datadir}/cups/ppdc
+
%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(eu) %{_datadir}/cups/templates/eu
%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
+%lang(ru) %{_datadir}/cups/templates/ru
%{_mandir}/man1/cupstestppd.1*
%{_mandir}/man1/cupstestdsc.1*
%{_mandir}/man1/lppasswd.1*
+%{_mandir}/man1/ppd*.1*
%{_mandir}/man7/backend.7*
+%{_mandir}/man7/drv.7*
%{_mandir}/man7/filter.7*
+%{_mandir}/man7/notifier.7*
%{_mandir}/man5/*
%{_mandir}/man8/accept.8*
%{_mandir}/man8/cups-deviced.8*
%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}/libcupsdriver.so.*
+%attr(755,root,root) %{_libdir}/libcupsmime.so.*
+%attr(755,root,root) %{_libdir}/libcupsppdc.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(eu) %{_datadir}/locale/eu/cups_eu.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
%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
%{_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}/man8/cupsaccept.8*
+%{_mandir}/man8/cupsdisable.8*
+%{_mandir}/man8/cupsreject.8*
+%{_mandir}/man8/reject.8*
%files image-lib
%defattr(644,root,root,755)
%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}/libcupsdriver.so
%attr(755,root,root) %{_libdir}/libcupsimage.so
+%attr(755,root,root) %{_libdir}/libcupsmime.so
+%attr(755,root,root) %{_libdir}/libcupsppdc.so
%{_includedir}/cups
%{_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}/libcups.a
+%{_libdir}/libcupscgi.a
+%{_libdir}/libcupsdriver.a
%{_libdir}/libcupsimage.a
+%{_libdir}/libcupsmime.a
+%{_libdir}/libcupsppdc.a
%endif
%if %{with perl}
%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
%defattr(644,root,root,755)
%attr(755,root,root) %{_ulibdir}/cups/backend/usb