X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=cups.spec;h=ba5063b01d05062896f80a2f8acbe66622f1ff1c;hb=0ce3cd57b26a4ba24dd952504716a621fd8a865c;hp=b876ebe6787558ce13afdea7c3c2563faa99d51a;hpb=9e9b55a066ce63e1b0b74423a9a4f219bb6cf286;p=packages%2Fcups.git diff --git a/cups.spec b/cups.spec index b876ebe..ba5063b 100644 --- a/cups.spec +++ b/cups.spec @@ -1,40 +1,61 @@ +# +# Conditional build: +%bcond_without php # don't build PHP extension +%bcond_without perl # don't build Perl extension +# +# TODO: +# - register php module +# - build/install java ext ? +# - perl BRs +%include /usr/lib/rpm/macros.perl Summary: Common Unix Printing System -Summary(pl): Popularny System Druku dla Unixa +Summary(pl): Popularny system druku dla Uniksa Summary(pt_BR): Sistema Unix de Impressão Name: cups -Version: 1.1.14 -Release: 18 +Version: 1.1.22 +Release: 1 Epoch: 1 License: GPL/LGPL -Group: Applications/System -Source0: ftp://ftp.easysw.com/pub/%{name}/%{version}/%{name}-%{version}-source.tar.bz2 +Group: Applications/Printing +Source0: http://ftp.easysw.com/pub/cups/%{version}/%{name}-%{version}-source.tar.bz2 +# Source0-md5: fe0a1b0fedccfe8b2e35e0cea1e5f0a9 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}-pstoraster-gcc-2.96.patch -Patch6: %{name}-ENCRYPTIONtxt.patch +Patch5: %{name}-ENCRYPTIONtxt.patch +Patch6: %{name}-man_pages_linking.patch +Patch7: %{name}-nolibs.patch +Patch9: %{name}-nostrip.patch +Patch10: %{name}-rpath.patch +Patch11: %{name}-gcc34.patch URL: http://www.cups.org/ BuildRequires: autoconf BuildRequires: automake BuildRequires: libjpeg-devel BuildRequires: libpng-devel BuildRequires: libtiff-devel -BuildRequires: openssl-devel >= 0.9.6b +BuildRequires: openslp-devel +BuildRequires: openssl-devel >= 0.9.7d BuildRequires: pam-devel +%{?with_php:BuildRequires: php-devel} BuildRequires: pkgconfig -Prereq: %{name}-libs = %{version} -Prereq: /sbin/chkconfig -BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) -Obsoletes: lpr +BuildRequires: rpm-perlprov +PreReq: %{name}-libs = %{epoch}:%{version}-%{release} +Requires(post,preun): /sbin/chkconfig +Requires: pam >= 0.77.3 +Conflicts: ghostscript < 7.05.4 Obsoletes: LPRng +Obsoletes: lpr +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 @@ -46,9 +67,9 @@ 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 bazuj±cych -na UNIXie. CUPS u¿ywa protoko³u IPP - Internet Printint Protocol jako -podstawy do zarz±dzania zadaniami i kolejkami druku. +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 pt_BR O sistema Unix de impressão (CUPS) fornece uma camada de impressão @@ -58,7 +79,7 @@ port 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 -Group: Development/Libraries +Group: Libraries Provides: %{name}-libs = %{epoch}:%{version}-%{release} Obsoletes: %{name}-libs Obsoletes: libcups1 @@ -89,7 +110,7 @@ Aplikacje klienckie dla CUPS. 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 -Group: Development/Libraries +Group: Libraries Requires: %{name}-lib = %{epoch}:%{version}-%{release} Obsoletes: libcups1 @@ -104,18 +125,18 @@ Bibliotecas CUPS requeridas pelos clientes CUPS. %package devel Summary: Common Unix Printing System development files -Summary(pl): Popularny System Druku dla Unixa, pliki nag³ówkowe +Summary(pl): Popularny System Druku dla Uniksa, pliki nag³ówkowe Summary(pt_BR): Sistema Unix de Impressão - ambiente de desenvolvimento Group: Development/Libraries -Requires: %{name}-lib = %{version} -Requires: %{name}-image-lib = %{version} +Requires: %{name}-image-lib = %{epoch}:%{version}-%{release} +Requires: %{name}-lib = %{epoch}:%{version}-%{release} Obsoletes: libcups1-devel %description devel Common Unix Printing System development files. %description devel -l pl -Popularny System Druku dla Unixa, pliki nag³ówkowe. +Popularny System Druku dla Uniksa, pliki nag³ówkowe. %description devel -l pt_BR Este pacote é um adicional que contem um ambiente de desenvolvimento @@ -124,59 +145,167 @@ CUPS. %package static Summary: Common Unix Printing System static libraries -Summary(pl): Popularny System Druku dla Unixa, biblioteki statyczne +Summary(pl): Popularny System Druku dla Uniksa, biblioteki statyczne Summary(pt_BR): Common Unix Printing System - bibliotecas estáticas Group: Development/Libraries -Requires: %{name}-devel = %{version} +Requires: %{name}-devel = %{epoch}:%{version}-%{release} %description static Common Unix Printing System static libraries. %description static -l pl -Popularny System Druku dla Unixa, biblioteki statyczne. +Popularny System Druku dla Uniksa, biblioteki statyczne. %description static -l pt_BR 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 +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 +Modu³ Perla do Popularnego Systemu Druku dla Uniksa. + +%package -n php-cups +Summary: PHP module for CUPS +Summary(pl): Modu³ PHP CUPS +Group: Development/Languages/PHP +Requires: %{name}-lib = %{epoch}:%{version}-%{release} + +%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. + +%package backend-usb +Summary: USB backend for CUPS +Summary(pl): Backend USB dla CUPS-a +Group: Applications/Printing +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. + +%package backend-serial +Summary: Serial port backend for CUPS +Summary(pl): Backend obs³uguj±cy porty szeregowe dla CUPS-a +Group: Applications/Printing +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. + +%package backend-parallel +Summary: Parallel port backend for CUPS +Summary(pl): 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 +Ten pakiet umo¿liwia drukowanie z poziomu CUPS-a na drukarkach +pod³±czonych do portów równoleg³ych. + %prep %setup -q -%patch0 -p1 %patch1 -p1 -%patch2 -p1 +# wtf? +#%patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 +%patch9 -p1 +%patch10 -p1 +%patch11 -p1 %build -aclocal +%{__aclocal} %{__autoconf} -if [ -f %{_pkgconfigdir}/libpng12.pc ] ; then - CFLAGS="%{rpmcflags} `pkg-config libpng12 --cflags`" - CPPFLAGS="`pkg-config libpng12 --cflags`" -fi -%configure CPPFLAGS="$CPPFLAGS" \ - --with-docdir=%{_libdir}/%{name}/cgi-bin +%configure \ + --libdir=%{_ulibdir} \ + --with-docdir=%{_ulibdir}/%{name}/cgi-bin +%{__make} + +perl -pi -e 's#-I\.\.\/\.\.#-I../.. -I../../cups#g' scripting/php/Makefile +%{?with_php:%{__make} -C scripting/php} + +%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 %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,pam.d,logrotate.d} \ +install -d $RPM_BUILD_ROOT%{_sysconfdir}/{{rc.d/init.d,pam.d,logrotate.d},security} \ $RPM_BUILD_ROOT/var/log/{,archiv/}cups -%{__make} DESTDIR=$RPM_BUILD_ROOT install +%{__make} install \ + BUILDROOT=$RPM_BUILD_ROOT \ + CUPS_USER=$(id -u) \ + CUPS_GROUP=$(id -g) + +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} +fi + +%if %{with php} +%{__make} -C scripting/php install \ + PHPDIR="$RPM_BUILD_ROOT`php-config --extension-dir`" +%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} +%if %{with perl} +cd scripting/perl +%{__make} install \ + DESTDIR=$RPM_BUILD_ROOT +cd ../.. +%endif -# for internal http browser: -cp doc/*.html $RPM_BUILD_ROOT/%{_libdir}/%{name}/cgi-bin/ -cp doc/*.css $RPM_BUILD_ROOT/%{_libdir}/%{name}/cgi-bin/ -cp doc/images/* $RPM_BUILD_ROOT/%{_libdir}/%{name}/cgi-bin/images/ +install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/%{name} +install %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/%{name} +install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/%{name} + +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%{_sysconfdir}/security/blacklist.cups + +# check-files cleanup +rm -rf $RPM_BUILD_ROOT%{_mandir}/{,es/,fr/}cat? %clean rm -rf $RPM_BUILD_ROOT @@ -184,9 +313,9 @@ 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 + /etc/rc.d/init.d/cups restart 1>&2 else - echo "Run \"/etc/rc.d/init.d/cups start\" to start cups daemon." + echo "Run \"/etc/rc.d/init.d/cups start\" to start cups daemon." fi %preun @@ -197,10 +326,10 @@ if [ "$1" = "0" ]; then /sbin/chkconfig --del cups fi -%post lib -p /sbin/ldconfig -%postun lib -p /sbin/ldconfig -%post image-lib -p /sbin/ldconfig -%postun image-lib -p /sbin/ldconfig +%post lib -p /sbin/ldconfig +%postun lib -p /sbin/ldconfig +%post image-lib -p /sbin/ldconfig +%postun image-lib -p /sbin/ldconfig %files %defattr(644,root,root,755) @@ -214,35 +343,52 @@ fi %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 +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.cups %dir %{_sysconfdir}/%{name}/certs %dir %{_sysconfdir}/%{name}/interfaces %dir %{_sysconfdir}/%{name}/ppd -%attr(644,root,root) %{_sysconfdir}/logrotate.d/%{name} +%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /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 -%dir %{_libdir}/cups -%dir %{_libdir}/cups/* -%attr(755,root,root) %{_libdir}/cups/*/* -%attr(755,root,root) %{_sbindir}/* +%dir %{_ulibdir}/cups +%dir %{_ulibdir}/cups/* +%attr(755,root,root) %{_ulibdir}/cups/*/* +%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.gz -%{_mandir}/man1/filter.1.gz -%{_mandir}/man1/lppasswd.1.gz +%{_mandir}/man1/backend.1* +%{_mandir}/man1/cupstestppd.1* +%{_mandir}/man1/filter.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]/* +%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 %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(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(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 @@ -265,12 +411,33 @@ fi %attr(755,root,root) %{_bindir}/lpr %attr(755,root,root) %{_bindir}/lprm %attr(755,root,root) %{_bindir}/lpstat -%{_mandir}/man1/lp.1.gz -%{_mandir}/man1/lpoptions.1.gz -%{_mandir}/man1/lpq.1.gz -%{_mandir}/man1/lpr.1.gz -%{_mandir}/man1/lprm.1.gz -%{_mandir}/man1/lpstat.1.gz +%attr(755,root,root) %{_sbindir}/accept +%attr(755,root,root) %{_sbindir}/cupsaddsmb +%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 +%{_mandir}/man1/cancel.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* %files image-lib %defattr(644,root,root,755) @@ -281,8 +448,39 @@ fi %attr(755,root,root) %{_bindir}/cups-config %{_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* %files static %defattr(644,root,root,755) %{_libdir}/*.a + +%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) +%attr(755,root,root) %(php-config --extension-dir)/* +%endif + +%files backend-usb +%defattr(644,root,root,755) +%attr(755,root,root) %{_ulibdir}/cups/backend/usb + +%files backend-serial +%defattr(644,root,root,755) +%attr(755,root,root) %{_ulibdir}/cups/backend/serial + +%files backend-parallel +%defattr(644,root,root,755) +%attr(755,root,root) %{_ulibdir}/cups/backend/parallel