cups/cups.spec

542 lines
18 KiB
RPMSpec

%define lpadmin_uid 65032
%define lpadmin_gid 65032
%define lp_uid 9
%define lp_gid 9
%define libname libcups
Name: cups
Version: 2.2.1
Release: 1mamba
Summary: Common UNIX Printing System
Group: System/Spooling
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: http://www.cups.org
Source0: https://github.com/apple/cups/releases/download/v%{version}/cups-%{version}-source.tar.gz
#Source0: http://www.cups.org/software/%{version}/cups-%{version}-source.tar.bz2
Source1: cups-pamd
Source2: cups-initscript
Source3: cups.service
Source4: cups.socket
Source5: cups.path
Source6: cups-lpd.socket
Source7: cups-lpd@.service
Patch0: %{name}-1.4.4-str3461-1.4.patch
Patch1: %{name}-1.5.0-set_retry_job_default_ErrorPolicy.patch
Patch2: cups-1.6.1-usb-backend-reset-after-job-only-for-specific-devices-3.patch
Patch3: cups-1.7.0-statedir.patch
License: GPL
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: libacl-devel
BuildRequires: libavahi-devel
BuildRequires: libdbus-devel
BuildRequires: libe2fs-devel
BuildRequires: libgcc
BuildRequires: libgnutls-devel
BuildRequires: libkrb5-devel
BuildRequires: libpam-devel
BuildRequires: libstdc++6-devel
BuildRequires: libsystemd-devel
BuildRequires: libusb-devel
BuildRequires: libz-devel
## AUTOBUILDREQ-END
Requires: ghostscript >= 8.57
Requires: openssl
Requires(post):%{libname} = %{version}-%{release}
Requires: cups-filters
Requires: colord
%systemd_requires
BuildRoot: %{_tmppath}/%{name}-%{version}-root
%description
The Common UNIX Printing System provides a portable printing layer for UNIX 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.
%package -n %{libname}-devel
Summary: Devel package for CUPS
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: %{libname} = %{version}-%{release}
%description -n %{libname}-devel
The Common UNIX Printing System ("CUPS") is a cross-platform printing solution for all UNIX environments.
It is based on the "Internet Printing Protocol" and provides complete printing services to most PostScript and raster printers.
This is the development package.
%package -n %{libname}
Summary: Libraries for CUPS
Group: System/Libraries
%description -n %{libname}
The Common UNIX Printing System ("CUPS") is a cross-platform printing solution for all UNIX environments.
It is based on the "Internet Printing Protocol" and provides complete printing services to most PostScript and raster printers.
%prep
%setup -q
#%patch0 -p1
%patch1 -p1
#%patch2 -p0
%patch3 -p1
%build
autoconf
%configure \
--enable-ssl \
--enable-static \
--with-icondir=%{_datadir}/icons \
--without-xinetd
# --with-cups-user=lpadmin \
# --with-cups-group=lpadmin
%make
%install
[ "%{buildroot}" != / ] && rm -rf %{buildroot}
%makeinstall BUILDROOT=%{buildroot} CUPS_USER=root CUPS_GROUP=root
install -D %{SOURCE1} %{buildroot}%{_sysconfdir}/pam.d/cups
install -d %{buildroot}/var/log/cups
install -d %{buildroot}/var/spool/cups/tmp
# fake printers.conf, allows %config(noreplace) update from olter rpm releases
touch %{buildroot}%{_sysconfdir}/cups/printers.conf
# remove unneeded files
#rm -rf %{buildroot}%{_mandir}/{cat1,cat3,cat5,cat8} \
# %{buildroot}%{_mandir}/es/{cat1,cat3,cat5,cat8} \
# %{buildroot}%{_mandir}/fr/{cat1,cat3,cat5,cat8} \
# cups installs .po files instead of .mo, so the find_lang macro won't work
> %{name}.lang
#for i in da de es eu fi fr hu id it ja ko nl no pl pt pt_BR ru sv zh zh_TW; do
for i in ca cs de es fr it ja ru; do
echo "%lang($i) %{_datadir}/locale/$i/cups_$i.po" >> %{name}.lang
done
# required by php in cups-filter, although php in cups-filter does not currently build
install -m0644 cups/string-private.h %{buildroot}%{_includedir}/cups/string-private.h
install -m0644 cups/debug-private.h %{buildroot}%{_includedir}/cups/debug-private.h
# systemd
install -D -m0644 %{SOURCE3} %{buildroot}%{_unitdir}/cups.service
install -D -m0644 %{SOURCE4} %{buildroot}%{_unitdir}/cups.socket
install -D -m0644 %{SOURCE5} %{buildroot}%{_unitdir}/cups.path
install -D -m0644 %{SOURCE6} %{buildroot}%{_unitdir}/cups-lpd.socket
install -D -m0644 %{SOURCE7} %{buildroot}%{_unitdir}/cups-lpd@.service
# basic cups client configuration file
echo "ServerName /run/cups/cups.sock" > %{buildroot}%{_sysconfdir}/cups/client.conf
# remove files provides by cups-filters
rm -f %{buildroot}%{_datadir}/cups/banners/{classified,confidential,secret,standard,topsecret,unclassified}
rm -f %{buildroot}%{_datadir}/cups/data/testprint
rm -rf %{buildroot}%{_sysconfdir}/rc*.d/K36cups
rm -rf %{buildroot}%{_sysconfdir}/rc*.d/S81cups
install -d %{buildroot}%{_presetdir}
cat > %{buildroot}%{_presetdir}/50-cups.preset << _EOF
enable cups
_EOF
%clean
[ "%{buildroot}" != / ] && rm -rf %{buildroot}
%post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig
%pre
/usr/sbin/groupadd lp -g %{lp_gid} &>/dev/null
/usr/sbin/useradd lp -d /var/spool/cups -s /bin/false \
-u %{lp_uid} -g %{lp_gid} &>/dev/null
/usr/sbin/groupadd lpadmin -g %{lpadmin_gid} &>/dev/null
/usr/sbin/useradd lpadmin -c "Cups printing daemon" -d /dev/null \
-s /bin/false -u %{lpadmin_uid} -g %{lpadmin_gid} &>/dev/null
exit 0
%post
# new install
/sbin/ldconfig
if [ $1 -gt 1 ]; then
if [ ! "`grep ErrorPolicy %{_sysconfdir}/cups/cupsd.conf`" ]; then
echo "ErrorPolicy retry-job" >> %{_sysconfdir}/cups/cupsd.conf
[ -e %{_sysconfdir}/cups/printers.conf ] && \
sed -i "s|ErrorPolicy stop-printer|ErrorPolicy retry-job|" %{_sysconfdir}/cups/printers.conf
fi
fi
%systemd_post cups
if [ $1 -ge 1 ]; then
systemctl -q daemon-reload
systemctl -q enable cups
fi
:
%preun
# erase
%systemd_preun cups
if [ $1 -eq 0 ]; then
/usr/sbin/groupdel lp &>/dev/null
/usr/sbin/userdel lp &>/dev/null
/usr/sbin/groupdel lpadmin &>/dev/null
/usr/sbin/userdel lpadmin &>/dev/null
fi
/sbin/ldconfig
:
%postun
%systemd_postun_with_restart cups
:
%posttrans
if [ $1 -eq 1 ]; then
[ -e %{_sysconfdir}/cups/printers.conf.rpmsave -a \
! -e %{_sysconfdir}/cups/printers.conf ] && \
mv %{_sysconfdir}/cups/printers.conf.rpmsave %{_sysconfdir}/cups/printers.conf
sed -i "s|/var/run|/run|" %{_sysconfdir}/cups/cupsd.conf
fi
:
%files -f %{name}.lang
%defattr(-,root,root)
%{_sysconfdir}/dbus-1/system.d/cups.conf
#%{_sysconfdir}/xinetd.d/cups-lpd
#%{_sysconfdir}/init.d/cups
%attr(0775,root,lpadmin) %dir %{_sysconfdir}/cups
%config(noreplace) %attr(-,root,lpadmin) %{_sysconfdir}/cups/*
%config(noreplace) %attr(0644,root,root) %{_sysconfdir}/pam.d/cups
%{_bindir}/cancel
%{_bindir}/cupstestppd
%{_bindir}/cupstestdsc
%{_bindir}/ippfind
%{_bindir}/ipptool
%{_bindir}/lp
%{_bindir}/lpoptions
#%attr(4755,lp,lp) %{_bindir}/lppasswd
%{_bindir}/lpq
%{_bindir}/lpr
%{_bindir}/lprm
%{_bindir}/lpstat
%{_bindir}/ppdc
%{_bindir}/ppdhtml
%{_bindir}/ppdi
%{_bindir}/ppdmerge
%{_bindir}/ppdpo
%{_sbindir}/accept
%{_sbindir}/cupsaccept
%{_sbindir}/cupsaddsmb
%{_sbindir}/cupsctl
%{_sbindir}/cupsd
%{_sbindir}/cupsdisable
%{_sbindir}/cupsenable
%{_sbindir}/cupsfilter
%{_sbindir}/cupsreject
%{_sbindir}/lpadmin
%{_sbindir}/lpc
%{_sbindir}/lpinfo
%{_sbindir}/lpmove
%{_sbindir}/reject
%{_presetdir}/50-cups.preset
%{_unitdir}/org.cups.cupsd.path
%{_unitdir}/org.cups.cupsd.service
%{_unitdir}/org.cups.cupsd.socket
%{_unitdir}/org.cups.cups-lpd.socket
%{_unitdir}/org.cups.cups-lpd@.service
%{_unitdir}/cups.path
%{_unitdir}/cups.service
%{_unitdir}/cups.socket
%{_unitdir}/cups-lpd.socket
%{_unitdir}/cups-lpd@.service
%{_datadir}/applications/cups.desktop
%{_datadir}/icons/hicolor/*/apps/cups.png
%dir %{_datadir}/cups
%{_datadir}/cups/*
%dir %{_prefix}/lib/cups
%{_prefix}/lib/cups/*
%dir /var/log/cups
%attr(0700,lp,root) %dir /var/spool/cups
%attr(1700,lp,root) %dir /var/spool/cups/tmp
%{_mandir}/man1/*
%{_mandir}/man5/*
%{_mandir}/man7/backend.7*
%{_mandir}/man7/filter.7*
%{_mandir}/man7/notifier.7*
%{_mandir}/man8/*
%dir %{_datadir}/doc/cups
%{_datadir}/doc/cups/*
%lang(pt_BR) %{_datadir}/locale/pt_BR/cups_pt_BR.po
%files -n libcups
%defattr(-,root,root)
%{_libdir}/libcups.so.*
%{_libdir}/libcupscgi.so.*
%{_libdir}/libcupsimage.so.*
%{_libdir}/libcupsmime.so.*
%{_libdir}/libcupsppdc.so.*
%doc CREDITS.txt LICENSE.txt
%files -n libcups-devel
%defattr(-,root,root)
%{_bindir}/cups-config
%dir %{_includedir}/cups
%{_includedir}/cups/*.h
%{_libdir}/libcups.a
%{_libdir}/libcups.so
%{_libdir}/libcupscgi.a
%{_libdir}/libcupscgi.so
%{_libdir}/libcupsimage.a
%{_libdir}/libcupsimage.so
%{_libdir}/libcupsmime.a
%{_libdir}/libcupsmime.so
%{_libdir}/libcupsppdc.a
%{_libdir}/libcupsppdc.so
%doc CHANGES.txt README.txt
%changelog
* Tue Oct 04 2016 Automatic Build System <autodist@mambasoft.it> 2.2.1-1mamba
- automatic version update by autodist
* Fri Sep 16 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 2.2.0-1mamba
- update to 2.2.0
* Sat Jul 23 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 2.1.4-2mamba
- cups.service: added Before=cups-browsed.service to fix shutdown delay
* Tue Jul 19 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 2.1.4-1mamba
- update to 2.1.4
* Fri Feb 12 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 2.1.3-2mamba
- libcups-devel: require cups
* Fri Feb 05 2016 Automatic Build System <autodist@mambasoft.it> 2.1.3-1mamba
- automatic version update by autodist
* Wed Dec 02 2015 Automatic Build System <autodist@mambasoft.it> 2.1.2-1mamba
- automatic version update by autodist
* Mon Nov 30 2015 Automatic Build System <autodist@mambasoft.it> 2.1.1-1mamba
- automatic version update by autodist
* Mon Aug 31 2015 Automatic Build System <autodist@mambasoft.it> 2.1.0-1mamba
- automatic version update by autodist
* Fri Jul 31 2015 Automatic Build System <autodist@mambasoft.it> 2.0.4-1mamba
- automatic version update by autodist
* Thu Jun 18 2015 Automatic Build System <autodist@mambasoft.it> 2.0.3-1mamba
- automatic version update by autodist
* Tue Feb 10 2015 Automatic Build System <autodist@mambasoft.it> 2.0.2-1mamba
- automatic version update by autodist
* Fri Dec 26 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 2.0.1-3mamba
- require colord
* Wed Nov 26 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 2.0.1-2mamba
- add preset file and force enabling daemon on install and upgrade
* Sat Nov 15 2014 Automatic Build System <autodist@mambasoft.it> 2.0.1-1mamba
- automatic version update by autodist
* Thu Nov 06 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 2.0.0-2mamba
- fix systemd installation macros
* Thu Oct 02 2014 Automatic Build System <autodist@mambasoft.it> 2.0.0-1mamba
- automatic version update by autodist
* Thu Jul 31 2014 Automatic Build System <autodist@mambasoft.it> 1.7.5-1mamba
- automatic version update by autodist
* Tue Jul 15 2014 Automatic Build System <autodist@mambasoft.it> 1.7.4-1mamba
- automatic version update by autodist
* Sat Jun 07 2014 Automatic Build System <autodist@mambasoft.it> 1.7.3-1mamba
- automatic version update by autodist
* Sun Apr 13 2014 Automatic Build System <autodist@mambasoft.it> 1.7.2-1mamba
- automatic version update by autodist
* Thu Jan 09 2014 Automatic Build System <autodist@mambasoft.it> 1.7.1-1mamba
- automatic version update by autodist
* Tue Oct 29 2013 Automatic Build System <autodist@mambasoft.it> 1.7.0-1mamba
- automatic version update by autodist
* Sun Sep 29 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 1.6.4-2mamba
- add systemd sockets for cups-lpd and cups-lpd@ and remove xinetd dependency
* Fri Sep 27 2013 Automatic Build System <autodist@mambasoft.it> 1.6.4-1mamba
- automatic version update by autodist
* Fri Aug 23 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 1.6.3-4mamba
- fixed cups.socket to allow connection to http://localhost:631
* Fri Aug 02 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 1.6.3-3mamba
- add systemd file cups.path
- patched to set statedir to /run instead of /var/run
- lp user: set home to /var/spool/cups
- create a basic client configuration file /etc/cups/client.conf (see LFS)
* Fri Jul 19 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 1.6.3-2mamba
- systemd support
* Sun Jul 14 2013 Automatic Build System <autodist@mambasoft.it> 1.6.3-1mamba
- update to 1.6.3
* Thu Mar 21 2013 Automatic Build System <autodist@mambasoft.it> 1.6.2-1mamba
- automatic version update by autodist
* Sat Sep 29 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 1.6.1-3mamba
- added patch to fix libusb related last page half-printing (http://cups.org/str.php?L4155)
* Sun Aug 05 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 1.6.1-2mamba
- require cups-filters
* Sat Aug 04 2012 Automatic Build System <autodist@mambasoft.it> 1.6.1-1mamba
- automatic version update by autodist
* Tue Jul 31 2012 Automatic Build System <autodist@mambasoft.it> 1.5.4-1mamba
- update to 1.5.4
* Tue May 15 2012 Automatic Build System <autodist@mambasoft.it> 1.5.3-1mamba
- automatic version update by autodist
* Sun Feb 12 2012 Automatic Build System <autodist@mambasoft.it> 1.5.2-1mamba
- automatic version update by autodist
* Thu Oct 27 2011 Silvan Calarco <silvan.calarco@mambasoft.it> 1.5.0-3mamba
- added requirement for openssl (required by https urls in web interface)
- update pam file not to use obsolete pam_stack module, so web authentication works now
* Mon Oct 03 2011 Silvan Calarco <silvan.calarco@mambasoft.it> 1.5.0-2mamba
- set retry-job as the default ErrorPolicy instead of stop-printer
* Thu Jul 28 2011 Automatic Build System <autodist@mambasoft.it> 1.5.0-1mamba
- automatic update by autodist
* Tue Jun 28 2011 Automatic Build System <autodist@mambasoft.it> 1.4.7-1mamba
- automatic update by autodist
* Sat Mar 26 2011 Silvan Calarco <silvan.calarco@mambasoft.it> 1.4.6-2mamba
- cups-config moved to libcups-devel package
* Fri Jan 07 2011 Automatic Build System <autodist@mambasoft.it> 1.4.6-1mamba
- automatic update by autodist
* Fri Nov 12 2010 Automatic Build System <autodist@mambasoft.it> 1.4.5-1mamba
- automatic update to 1.4.5 by autodist
- fixed posttrans script syntax
* Tue Jul 01 2010 Ercole 'ercolinux' Carpanetto <ercole69@gmail.com> 1.4.4-3mamba
- rebuilt with a patch to avoid crash in firefox and thunderbird
* Wed Jun 30 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 1.4.4-2mamba
- rebuilt against libpng 1.4
* Fri Jun 18 2010 Automatic Build System <autodist@mambasoft.it> 1.4.4-1mamba
- automatic update to 1.4.4 by autodist
* Wed Mar 31 2010 Automatic Build System <autodist@mambasoft.it> 1.4.3-1mamba
- automatic update to 1.4.3 by autodist
* Fri Nov 20 2009 Automatic Build System <autodist@mambasoft.it> 1.4.2-1mamba
- automatic update by autodist
* Sat Sep 12 2009 Automatic Build System <autodist@mambasoft.it> 1.4.1-1mamba
- automatic update to 1.4.1 by autodist
* Sat Aug 29 2009 Automatic Build System <autodist@mambasoft.it> 1.4.0-1mamba
- automatic update to 1.4.0 by autodist
* Fri Jul 03 2009 Automatic Build System <autodist@mambasoft.it> 1.3.11-1mamba
- automatic update to 1.3.11 by autodist
* Fri Apr 17 2009 Silvan Calarco <silvan.calarco@mambasoft.it> 1.3.10-1mamba
- update to 1.3.10
* Thu Apr 02 2009 Silvan Calarco <silvan.calarco@mambasoft.it> 1.3.9-2mamba
- rebuilt
* Thu Oct 16 2008 Tiziana Ferro <tiziana.ferro@email.it> 1.3.9-1mamba
- automatic update to 1.3.9 by autodist
- old patch removed
* Sun Aug 31 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 1.3.8-1mamba
- update to 1.3.8
* Tue Jun 03 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 1.3.7-1mamba
- update to 1.3.7
* Tue Mar 25 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 1.3.6-1mamba
- update to 1.3.6
* Fri Jan 18 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 1.2.12-1mamba
- update to 1.2.12
- set lp as the default cups user, replacing lpadmin
- added php-cups subpackage
* Sun Jun 10 2007 Silvan Calarco <silvan.calarco@mambasoft.it> 1.2.11-1mamba
- update to 1.2.11
* Tue Sep 05 2006 Davide Madrisan <davide.madrisan@qilinux.it> 1.1.23-5qilnx
- security fixes: p4 CVE-2005-319[1,2,3], p5 CVE-2005-362[45,6,7,8];
QiLinux bugtraq#118
* Mon Sep 26 2005 Silvan Calarco <silvan.calarco@mambasoft.it> 1.1.23-4qilnx
- use service script to start/stop service
* Wed Aug 24 2005 Davide Madrisan <davide.madrisan@qilinux.it> 1.1.23-3qilnx
- fixed security issue QSA-2005-090 (CAN-2005-2097)
* Mon May 02 2005 Silvan Calarco <silvan.calarco@mambasoft.it> 1.1.23-2qilnx
- work on permissions: added user/group cups, fixed lp uid number assignment
- documentation back to main package because it's needed for the web interface
* Fri Jan 14 2005 Davide Madrisan <davide.madrisan@qilinux.it> 1.1.23-1qilnx
- update to version 1.1.23 by autospec
- this version fix the secutity flaws reported in QSA-2005-001
(CAN-2004-1125, CAN-2004-12[67-70])
* Fri Dec 24 2004 Davide Madrisan <davide.madrisan@qilinux.it> 1.1.22-3qilnx
- rebuild with new libe2fs-devel, libkrb5-devel packages
* Fri Dec 10 2004 Silvan Calarco <silvan.calarco@mambasoft.it> 1.1.22-2qilnx
- documentation moved to libcups-devel
* Thu Nov 18 2004 Davide Madrisan <davide.madrisan@qilinux.it> 1.1.22-1qilnx
- update to version 1.1.22 by autospec
- also fixes security issues QSA-2004-057 (CAN-2004-0888, CAN-2004-0923)
* Mon Sep 20 2004 Silvan Calarco <silvan.calarco@mambasoft.it> 1.1.21-1qilnx
- update to version 1.1.21 by autospec
- also fix a security issue (QSA-2004-040): CAN-2004-0558
* Wed Dec 10 2003 Davide Madrisan <davide.madrisan@qilinux.it> 1.1.20-1qilnx
- rebuilt with version 1.1.20
* Wed Nov 19 2003 Davide Madrisan <davide.madrisan@qilinux.it> 1.1.19-8qilnx
- fixed %%pre script; modified rpm groups
* Thu Oct 02 2003 Silvan Calarco <silvan.calarco@mambasoft.it> 1.1.19-7qilnx
- made QiLinux compliant initscript
* Thu Jul 02 2003 Silvan Calarco <silvan.calarco@qinet.it> 1.1.19-6qilnx
- fixed localstatedir location
* Thu Jun 25 2003 Silvan Calarco <silvan.calarco@qinet.it> 1.1.19-5qilnx
- added libcups and libcups-devel for dependency reasons
* Thu Jun 19 2003 Silvan Calarco <silvan.calarco@qinet.it> 1.1.19-3qilnx
- reduced to just main and devel packages
* Thu Jun 19 2003 Silvan Calarco <silvan.calarco@qinet.it> 1.1.19-2qilnx
- added cups pam configuration
* Wed Jun 18 2003 Silvan Calarco <silvan.calarco@qinet.it> 1.1.19-1qilnx
- first build of cups