b91c6c
# we build CUPS also with relro
b91c6c
%global _hardened_build 1
b91c6c
b91c6c
Summary: OpenPrinting CUPS filters and backends
b91c6c
Name:    cups-filters
0d940b
Version: 1.0.34
e260ff
Release: 7%{?dist}
b91c6c
b91c6c
# For a breakdown of the licensing, see COPYING file
b91c6c
# GPLv2:   filters: commandto*, imagetoraster, pdftops, rasterto*,
b91c6c
#                   imagetopdf, pstopdf, texttopdf
b91c6c
#         backends: parallel, serial
b91c6c
# GPLv2+:  filters: textonly, texttops, imagetops
b91c6c
# GPLv3:   filters: bannertopdf
8b72b8
# GPLv3+:  filters: urftopdf
8f8fc5
# LGPLv2+:   utils: cups-browsed
b91c6c
# MIT:     filters: pdftoijs, pdftoopvp, pdftopdf, pdftoraster
8f8fc5
License: GPLv2 and GPLv2+ and GPLv3 and GPLv3+ and LGPLv2+ and MIT
b91c6c
b91c6c
Group:   System Environment/Base
8f8fc5
Url:     http://www.linuxfoundation.org/collaborate/workgroups/openprinting/pdf_as_standard_print_job_format
8f8fc5
Source0: http://www.openprinting.org/download/cups-filters/cups-filters-%{version}.tar.xz
8f8fc5
Source1: cups-browsed.service
b91c6c
aec37c
Patch1: cups-filters-pcl.patch
245ec3
Patch2: cups-filters-coverity.patch
aec37c
b91c6c
Requires: cups-filters-libs%{?_isa} = %{version}-%{release}
b91c6c
e260ff
# Obsolete cups-php (bug #971741)
e260ff
Obsoletes: cups-php < 1:1.6.0-1
e260ff
# Don't Provide it because we don't build the php module
e260ff
#Provides: cups-php = 1:1.6.0-1
e260ff
b91c6c
BuildRequires: cups-devel
16e648
# pdftopdf
060dfd
BuildRequires: qpdf-devel
16e648
# pdftops
16e648
BuildRequires: poppler-utils
16e648
# pdftoijs, pdftoopvp, pdftoraster
16e648
BuildRequires: poppler-devel poppler-cpp-devel
b91c6c
BuildRequires: libjpeg-devel
b91c6c
BuildRequires: libpng-devel
b91c6c
BuildRequires: libtiff-devel
b91c6c
BuildRequires: zlib-devel
b91c6c
# libijs
b91c6c
BuildRequires: ghostscript-devel
b91c6c
BuildRequires: freetype-devel
b91c6c
BuildRequires: fontconfig-devel
b91c6c
BuildRequires: lcms2-devel
8f8fc5
# cups-browsed
16c7d3
BuildRequires: avahi-devel avahi-glib-devel
8f8fc5
BuildRequires: systemd
b91c6c
b91c6c
# Make sure we get postscriptdriver tags.
b91c6c
BuildRequires: python-cups
b91c6c
060dfd
# autogen.sh
b91c6c
BuildRequires: autoconf
b91c6c
BuildRequires: automake
b91c6c
BuildRequires: libtool
b91c6c
b91c6c
Requires: cups-filesystem
b91c6c
Requires: poppler-utils
8334a6
# pstopdf
e2e72b
Requires: bc grep sed
b91c6c
8f8fc5
# cups-browsed
8f8fc5
Requires(post): systemd
8f8fc5
Requires(preun): systemd
8f8fc5
Requires(postun): systemd
8f8fc5
b91c6c
%package libs
b91c6c
Summary: OpenPrinting CUPS filters and backends - cupsfilters and fontembed libraries
b91c6c
Group:   System Environment/Libraries
b91c6c
# LGPLv2: libcupsfilters
b91c6c
# MIT:    libfontembed
b91c6c
License: LGPLv2 and MIT
b91c6c
b91c6c
%package devel
b91c6c
Summary: OpenPrinting CUPS filters and backends - development environment
b91c6c
Group:   Development/Libraries
b91c6c
License: LGPLv2 and MIT
b91c6c
Requires: cups-filters-libs%{?_isa} = %{version}-%{release}
b91c6c
b91c6c
%description
b91c6c
Contains backends, filters, and other software that was
b91c6c
once part of the core CUPS distribution but is no longer maintained by
b91c6c
Apple Inc. In addition it contains additional filters developed
b91c6c
independently of Apple, especially filters for the PDF-centric printing
b91c6c
workflow introduced by OpenPrinting.
b91c6c
b91c6c
%description libs
b91c6c
This package provides cupsfilters and fontembed libraries.
b91c6c
b91c6c
%description devel
b91c6c
This is the development package for OpenPrinting CUPS filters and backends.
b91c6c
b91c6c
%prep
b91c6c
%setup -q
aec37c
%patch1 -p1 -b .pcl
245ec3
%patch2 -p1 -b .coverity
b91c6c
b91c6c
%build
060dfd
# work-around Rpath
b91c6c
./autogen.sh
b91c6c
b91c6c
# --with-pdftops=pdftops - use Poppler instead of Ghostscript (see README)
8f8fc5
# --with-rcdir=no - don't install SysV init script
b91c6c
%configure --disable-static \
b91c6c
           --disable-silent-rules \
8f8fc5
           --with-pdftops=pdftops \
16c7d3
           --with-browseremoteprotocols=DNSSD,CUPS \
8f8fc5
           --with-rcdir=no
b91c6c
b91c6c
make %{?_smp_mflags}
b91c6c
b91c6c
%install
b91c6c
make install DESTDIR=%{buildroot}
b91c6c
b91c6c
# https://fedoraproject.org/wiki/Packaging_tricks#With_.25doc
b91c6c
mkdir __doc
b91c6c
mv  %{buildroot}%{_datadir}/doc/cups-filters/* __doc
b91c6c
rm -rf %{buildroot}%{_datadir}/doc/cups-filters
b91c6c
b91c6c
# Don't ship libtool la files.
b91c6c
rm -f %{buildroot}%{_libdir}/lib*.la
b91c6c
b91c6c
# Not sure what is this good for.
b91c6c
rm -f %{buildroot}%{_bindir}/ttfread
b91c6c
8f8fc5
# systemd unit file
8f8fc5
mkdir -p %{buildroot}%{_unitdir}
8f8fc5
install -p -m 644 %{SOURCE1} %{buildroot}%{_unitdir}
8f8fc5
8f8fc5
%post
8f8fc5
%systemd_post cups-browsed.service
8f8fc5
09fdb6
# Initial installation
09fdb6
if [ $1 -eq 1 ] ; then
09fdb6
    IN=%{_sysconfdir}/cups/cupsd.conf
09fdb6
    OUT=%{_sysconfdir}/cups/cups-browsed.conf
09fdb6
    keyword=BrowsePoll
09fdb6
5d1906
    # We can remove this after few releases, it's just for the introduction of cups-browsed.
5d1906
    if [ -f "$OUT" ]; then
5d1906
        echo -e "\nNOTE: This file is not part of CUPS. You need to start&enable cups-browsed service." >> "$OUT"
5d1906
    fi
5d1906
5d1906
    # move BrowsePoll from cupsd.conf to cups-browsed.conf
285a04
    if [ -f "$IN" ] && grep -iq ^$keyword "$IN"; then
09fdb6
        if ! grep -iq ^$keyword "$OUT"; then
09fdb6
            (cat >> "$OUT" <
09fdb6
09fdb6
# Settings automatically moved from cupsd.conf by RPM package:
09fdb6
EOF
09fdb6
            ) || :
09fdb6
            (grep -i ^$keyword "$IN" >> "$OUT") || :
09fdb6
            #systemctl enable cups-browsed.service >/dev/null 2>&1 || :
09fdb6
        fi
09fdb6
        sed -i -e "s,^$keyword,#$keyword directive moved to cups-browsed.conf\n#$keyword,i" "$IN" || :
09fdb6
    fi
09fdb6
fi
09fdb6
8f8fc5
%preun
8f8fc5
%systemd_preun cups-browsed.service
8f8fc5
8f8fc5
%postun
8f8fc5
%systemd_postun_with_restart cups-browsed.service 
8f8fc5
b91c6c
%post libs -p /sbin/ldconfig
b91c6c
b91c6c
%postun libs -p /sbin/ldconfig
b91c6c
8f8fc5
b91c6c
%files
b91c6c
%doc __doc/README __doc/AUTHORS __doc/NEWS
16c7d3
%config(noreplace) %{_sysconfdir}/cups/cups-browsed.conf
b91c6c
%config(noreplace) %{_sysconfdir}/fonts/conf.d/99pdftoopvp.conf
b91c6c
%attr(0755,root,root) %{_cups_serverbin}/filter/*
b91c6c
%attr(0755,root,root) %{_cups_serverbin}/backend/parallel
dc9ba0
# Serial backend needs to run as root (bug #212577#c4).
b91c6c
%attr(0700,root,root) %{_cups_serverbin}/backend/serial
6eadbb
%{_datadir}/cups/banners
b91c6c
%{_datadir}/cups/charsets
b91c6c
%{_datadir}/cups/data/*
aec37c
# this needs to be in the main package because of cupsfilters.drv
aec37c
%{_datadir}/cups/ppdc/pcl.h
b91c6c
%{_datadir}/cups/drv/cupsfilters.drv
b91c6c
%{_datadir}/cups/mime/cupsfilters.types
b91c6c
%{_datadir}/cups/mime/cupsfilters.convs
b91c6c
%{_datadir}/ppd/cupsfilters
8f8fc5
%{_sbindir}/cups-browsed
8f8fc5
%{_unitdir}/cups-browsed.service
b91c6c
b91c6c
%files libs
b91c6c
%doc __doc/COPYING fontembed/README
b91c6c
%attr(0755,root,root) %{_libdir}/libcupsfilters.so.*
b91c6c
%attr(0755,root,root) %{_libdir}/libfontembed.so.*
b91c6c
b91c6c
%files devel
b91c6c
%{_includedir}/cupsfilters
b91c6c
%{_includedir}/fontembed
b91c6c
%{_libdir}/pkgconfig/libcupsfilters.pc
b91c6c
%{_libdir}/pkgconfig/libfontembed.pc
b91c6c
%{_libdir}/libcupsfilters.so
b91c6c
%{_libdir}/libfontembed.so
b91c6c
b91c6c
%changelog
e260ff
* Wed Jun 12 2013 Jiri Popelka <jpopelka@redhat.com> - 1.0.34-7
e260ff
- Obsolete cups-php (#971741)
e260ff
49631a
* Wed Jun 05 2013 Jiri Popelka <jpopelka@redhat.com> - 1.0.34-6
49631a
- one more cups-browsed leak fixed (#959682)
49631a
e2e72b
* Wed Jun 05 2013 Jiri Popelka <jpopelka@redhat.com> - 1.0.34-5
e2e72b
- perl is actually not required by pstopdf, because the calling is in dead code
e2e72b
245ec3
* Mon Jun 03 2013 Jiri Popelka <jpopelka@redhat.com> - 1.0.34-4
245ec3
- fix resource leaks and other problems found by Coverity & Valgrind (#959682)
245ec3
aec37c
* Wed May 15 2013 Jiri Popelka <jpopelka@redhat.com> - 1.0.34-3
aec37c
- ship ppdc/pcl.h because of cupsfilters.drv
aec37c
8334a6
* Tue May 07 2013 Jiri Popelka <jpopelka@redhat.com> - 1.0.34-2
8334a6
- pstopdf requires bc (#960315)
8334a6
0d940b
* Thu Apr 11 2013 Jiri Popelka <jpopelka@redhat.com> - 1.0.34-1
0d940b
- 1.0.34
0d940b
8334a6
* Fri Apr 05 2013 Fridolin Pokorny <fpokorny@redhat.com> - 1.0.33-1
Fridolin Pokorny 052b9e
- 1.0.33
Fridolin Pokorny 052b9e
- removed cups-filters-1.0.32-null-info.patch, accepted by upstream
Fridolin Pokorny 052b9e
Fridolin Pokorny 27aed7
* Thu Apr 04 2013 Fridolin Pokorny <fpokorny@redhat.com> - 1.0.32-2
Fridolin Pokorny 27aed7
- fixed segfault when info is NULL
Fridolin Pokorny 27aed7
Fridolin Pokorny 99db87
* Thu Apr 04 2013 Fridolin Pokorny <fpokorny@redhat.com> - 1.0.32-1
Fridolin Pokorny 99db87
- 1.0.32
Fridolin Pokorny 99db87
5d1906
* Fri Mar 29 2013 Jiri Popelka <jpopelka@redhat.com> - 1.0.31-3
5d1906
- add note to cups-browsed.conf
5d1906
285a04
* Thu Mar 28 2013 Jiri Popelka <jpopelka@redhat.com> - 1.0.31-2
285a04
- check cupsd.conf existence prior to grepping it (#928816)
285a04
f4a5fb
* Fri Mar 22 2013 Jiri Popelka <jpopelka@redhat.com> - 1.0.31-1
f4a5fb
- 1.0.31
f4a5fb
6eadbb
* Tue Mar 19 2013 Jiri Popelka <jpopelka@redhat.com> - 1.0.30-4
6eadbb
- revert previous change
6eadbb
e955a6
* Wed Mar 13 2013 Jiri Popelka <jpopelka@redhat.com> - 1.0.30-3
e955a6
- don't ship banners for now (#919489)
e955a6
09fdb6
* Tue Mar 12 2013 Jiri Popelka <jpopelka@redhat.com> - 1.0.30-2
09fdb6
- move BrowsePoll from cupsd.conf to cups-browsed.conf in %%post
09fdb6
16c7d3
* Fri Mar 08 2013 Jiri Popelka <jpopelka@redhat.com> - 1.0.30-1
16c7d3
- 1.0.30: CUPS browsing and broadcasting in cups-browsed
16c7d3
Dennis Gilmore 12f499
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.29-4
Dennis Gilmore 12f499
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
Dennis Gilmore 12f499
Rex Dieter 926135
* Sat Jan 19 2013 Rex Dieter <rdieter@fedoraproject.org> 1.0.29-3
Rex Dieter 926135
- backport upstream buildfix for poppler-0.22.x
Rex Dieter 926135
Adam Tkac c9807d
* Fri Jan 18 2013 Adam Tkac <atkac redhat com> - 1.0.29-2
Adam Tkac c9807d
- rebuild due to "jpeg8-ABI" feature drop
Adam Tkac c9807d
961ee9
* Thu Jan 03 2013 Jiri Popelka <jpopelka@redhat.com> 1.0.29-1
961ee9
- 1.0.29
961ee9
8f8fc5
* Wed Jan 02 2013 Jiri Popelka <jpopelka@redhat.com> 1.0.28-1
8f8fc5
- 1.0.28: cups-browsed daemon and service
8f8fc5
8b72b8
* Thu Nov 29 2012 Jiri Popelka <jpopelka@redhat.com> 1.0.25-1
8b72b8
- 1.0.25
8b72b8
682426
* Fri Sep 07 2012 Jiri Popelka <jpopelka@redhat.com> 1.0.24-1
682426
- 1.0.24
682426
16e648
* Wed Aug 22 2012 Jiri Popelka <jpopelka@redhat.com> 1.0.23-1
16e648
- 1.0.23: old pdftopdf removed
16e648
060dfd
* Tue Aug 21 2012 Jiri Popelka <jpopelka@redhat.com> 1.0.22-1
060dfd
- 1.0.22: new pdftopdf (uses qpdf instead of poppler)
060dfd
dc9ba0
* Wed Aug 08 2012 Jiri Popelka <jpopelka@redhat.com> 1.0.20-4
dc9ba0
- rebuild
dc9ba0
b91c6c
* Thu Aug 02 2012 Jiri Popelka <jpopelka@redhat.com> 1.0.20-3
b91c6c
- commented multiple licensing breakdown (#832130)
b91c6c
- verbose build output
b91c6c
b91c6c
* Thu Aug 02 2012 Jiri Popelka <jpopelka@redhat.com> 1.0.20-2
b91c6c
- BuildRequires: poppler-cpp-devel (to build against poppler-0.20)
b91c6c
b91c6c
* Mon Jul 23 2012 Jiri Popelka <jpopelka@redhat.com> 1.0.20-1
b91c6c
- 1.0.20
b91c6c
b91c6c
* Tue Jul 17 2012 Jiri Popelka <jpopelka@redhat.com> 1.0.19-1
b91c6c
- 1.0.19
b91c6c
b91c6c
* Wed May 30 2012 Jiri Popelka <jpopelka@redhat.com> 1.0.18-1
b91c6c
- initial spec file