File lprng.spec of Package lprng
#
# spec file for package lprng (Version 3.8.28)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: lprng
BuildRequires: ncurses-devel ncurses-utils tcpd-devel
Version: 3.8.28
Release: 122
Conflicts: cups-client
Obsoletes: lprold
PreReq: %insserv_prereq %fillup_prereq grep sed sh-utils permissions
Provides: print_daemon lprold plp
AutoReqProv: on
Group: Hardware/Printing
License: BSD 3-Clause
Url: http://www.lprng.com/
Summary: LPRng Print Spooler
Source0: LPRng-%{version}.tar.bz2
Source2: permissions.lprng
Source3: permissions.lprng.paranoid
Patch0: LPRng-%{version}.diff
Patch1: LPRng-%{version}-port.diff
Patch2: LPRng-%{version}-args.diff
Patch3: LPRng-%{version}-warn.diff
Patch4: LPRng-%{version}-peek.diff
Patch5: LPRng-%{version}-error.diff
Patch6: LPRng-%{version}-make.patch
Patch7: LPRng-%{version}-no_chown.diff
Patch8: LPRng-%{version}-tmpdir.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
The LPRng software is an enhanced, extended, and portable
implementation of the Berkeley LPR print spooler functionality. While
providing the same interface and meeting RFC1179 requirements, the
implementation is completely new and provides support for the following
features: lightweight (no databases needed) lpr, lpc, and lprm
programs; dynamic redirection of print queues; automatic job holding;
highly verbose diagnostics; multiple printers serving a single queue;
and a greatly improved permission and authorization mechanism.
LPRng provides emulation packages for the SVR4 lp and lpstat programs,
eliminating the need for another print spooler package. These emulation
packages can be modified according to local requirements to support
vintage printing systems.
Attention: Interoperability with older LPD implementations requires
privileged access to ports. Therefore all affected client-programs
ship with SUID root privileges.
Authors:
--------
Patrick Powell <papowell@astart.com>
%prep
%setup -q -n LPRng-%{version}
%patch0
%patch1
%patch2
%patch3
%patch4
%patch5
%patch6
%patch7
%patch8
%build
gettextize -f --intl
autoreconf --force --install
export PSHOWALL="-ax"
%configure \
--with-lpd_conf_path=/etc/lpd.conf \
--with-lpd_perms_path=/etc/lpd.perms \
--with-localedir=%{_datadir}/locale \
--with-userid=lp \
--with-groupid=lp \
--with-filter_path="/bin:%{_bindir}:/usr/local/bin:%{_sbindir}:/usr/local/sbin:%{_libdir}/filters" \
--with-ld_libary_path="/%{_lib}:%{_libdir}:/usr/local/%{_lib}" \
--enable-tcpwrappers \
--disable-gdbm \
--disable-strip \
--disable-werror
make
%install
make install DESTDIR=$RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT/etc
install -m 644 printcap $RPM_BUILD_ROOT/etc/printcap
install -m 644 lpd.conf.SuSE $RPM_BUILD_ROOT/etc/lpd.conf
install -m 644 lpd.perms $RPM_BUILD_ROOT/etc/lpd.perms
#install -m 644 lpd.perms.SuSE $RPM_BUILD_ROOT/etc/lpd.perms
install -d $RPM_BUILD_ROOT/etc/init.d
install -m 744 rc.lpd $RPM_BUILD_ROOT/etc/init.d/lpd
ln -sf ../../etc/init.d/lpd $RPM_BUILD_ROOT/usr/sbin/rclpd
install -d $RPM_BUILD_ROOT/var/adm/fillup-templates
ln -sf ../sbin/lpc $RPM_BUILD_ROOT/usr/bin/lpc
install -d $RPM_BUILD_ROOT/etc/permissions.d
install -m 644 %{S:2} $RPM_BUILD_ROOT/etc/permissions.d/lprng
install -m 644 %{S:3} $RPM_BUILD_ROOT/etc/permissions.d/lprng.paranoid
# CHANGES are somehow corrupted, this fixes them
sed '6816q' CHANGES >CHANGES.new
mv CHANGES.new CHANGES
mv DOCS/LPRng-Reference-Multipart DOCS/Reference
# cleanup: remove unpackaged files
rm -f $RPM_BUILD_ROOT/etc/lpd.conf.sample
rm -f $RPM_BUILD_ROOT/etc/lpd.perms.sample
rm -f $RPM_BUILD_ROOT/etc/printcap.sample
rm -f $RPM_BUILD_ROOT/etc/lpd.sample
rm -rf $RPM_BUILD_ROOT/etc/lpd
rm -f $RPM_BUILD_ROOT/etc/rc.d/init.d/lpd
rm -f $RPM_BUILD_ROOT/usr/sbin/lprng_certs
rm -f $RPM_BUILD_ROOT/usr/sbin/lprng_index_certs
%clean
rm -rf $RPM_BUILD_ROOT
%post
%run_ldconfig
%run_permissions
%{fillup_and_insserv lpd}
for DIR in ` cat etc/printcap | \
grep -v "^#" | \
grep "sd=" | \
sed -e"s:.*sd=:sd=:" | \
sed -e"s:sd=::" | \
sed -e"s:^/::" | \
sed -e"s/:.*//" ` ; do
if [ ! -d $DIR ] ; then
#
# apsfilter normally creates usr/spool entries, maybe it is linked
# to var/spool
DIR=`echo $DIR | sed -e"s:usr:var:"`
fi
if [ -d $DIR ] ; then
chown -R lp:lp $DIR
fi
done
# save after instalation
if [ \( "$1" = "" -o "$1" = "1" \) -a -f etc/printcap.rpmsave ]
then
mv etc/printcap etc/printcap.$$
mv etc/printcap.rpmsave etc/printcap
mv etc/printcap.$$ etc/printcap.rpmorig
fi
%preun
%stop_on_removal lpd
%postun
%restart_on_update lpd
%{insserv_cleanup}
%verifyscript
%verify_permissions -e %{_sbindir}/lpc
%files
%defattr(-,root,root)
%config(noreplace) %{_sysconfdir}/permissions.d/lprng
%config(noreplace) %{_sysconfdir}/permissions.d/lprng.paranoid
%attr(644,root,root) %config(noreplace) %{_sysconfdir}/lpd.conf
%attr(644,root,root) %config(noreplace) %{_sysconfdir}/lpd.perms
%doc ABOUT-NLS.LPRng CHANGES CONTRIBUTORS COPYRIGHT INSTALL LICENSE
%doc README* VERSION Y2KCompliance
%doc DOCS/*.txt DOCS/Reference
%config(noreplace) %{_sysconfdir}/printcap
%config %{_sysconfdir}/init.d/lpd
%{_sbindir}/rclpd
%attr(4755,root,root) %{_bindir}/lpq
%attr(4755,root,root) %{_bindir}/lpr
%attr(4755,root,root) %{_bindir}/lprm
%attr(4755,root,root) %{_bindir}/lpstat
%{_bindir}/lp
%{_bindir}/cancel
%{_bindir}/lpc
%verify(not mode) %attr(4755,root,root) %{_sbindir}/lpc
%attr(755,root,root) %{_sbindir}/lpd
%attr(755,root,root) %{_sbindir}/checkpc
# %attr(755,root,root) /usr/sbin/lpraccnt
%dir %{_libdir}/filters
%attr(755,root,root) %{_libdir}/filters/*
%{_libdir}/liblpr.*
%doc %{_mandir}/*/*
%{_datadir}/locale/*/*/*.mo
%changelog
* Tue Apr 29 2008 jsmeix@suse.de
- Enhanced tmpdir.diff because of bnc#255393 and bnc#362099:
The defaults for the temporary file directories default_tmp_dir
and server_tmp_dir are changed from /tmp to /var/tmp. They must
be on the same mounted filesystem as the spool directory so that
rename(2) can be used to atomically replace (possibly huge) job
data files in the spool directory with temporary files.
Adapted the man pages for lpd.conf and printcap accordingly.
* Sat Apr 26 2008 coolo@suse.de
- buildrequire ncurses-utils for /usr/bin/clear
* Wed Apr 04 2007 prusnak@suse.cz
- added call to Remove_tempfiles() to remove temporary
files (tmpdir.diff)
* Mon Apr 02 2007 rguenther@suse.de
- add ncurses-devel BuildRequires
* Thu Mar 29 2007 rguenther@suse.de
- tell configure how to invoke ps using PSHOWALL environment
* Wed Mar 21 2007 prusnak@suse.cz
- fixed bad temporary dir (tmpdir.diff) [#255393]
- cleaned spec file
* Mon Feb 12 2007 ro@suse.de
- fix build as non-root
* Thu Dec 14 2006 prusnak@suse.cz
- do not use -Werror
- repacked from tar.gz to tar.bz2
* Tue Aug 29 2006 anosek@suse.de
- fixed build (LPRng-3.8.28-make.patch)
- fixed gettext issue
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Fri Jan 20 2006 schwab@suse.de
- Don't strip binaries.
* Tue Dec 20 2005 ro@suse.de
- print error instead of discarding retval from "ftruncate"
and "write" completely
* Wed Sep 07 2005 mjancar@suse.cz
- add lprng.paranoid permissions file (#66314)
* Thu Sep 01 2005 anicka@suse.cz
- fix DoS for lprng when only one character
is sent without line break (bug #96842, LPRng-3.8.28-peek.diff)
* Mon Aug 01 2005 aj@suse.de
- Fix return values of ftruncate.
* Sat Jul 23 2005 aj@suse.de
- Fix build.
* Thu Feb 24 2005 mjancar@suse.cz
- update to 3.8.28
* Sat Jan 15 2005 schwab@suse.de
- Use <owner>:<group> in permissions file.
* Fri Nov 19 2004 ro@suse.de
- update permissions handling for /usr/sbin/lpc
* Tue Aug 10 2004 tcrhak@suse.cz
- update to 3.8.27
* Mon Apr 05 2004 tcrhak@suse.cz
- use /etc as default directory for lpd.conf and lpd.perms again
(bug #38311)
* Tue Feb 17 2004 tcrhak@suse.cz
- update to version 3.8.25
* Mon Sep 01 2003 tcrhak@suse.cz
- fixed Pc_var_list, patch fifo [bug #29441]
* Fri Aug 22 2003 tcrhak@suse.cz
- fixed init script (try-restart, status, stop)
- restart/stop during update/uninstall [BUG #29059]
* Thu Aug 14 2003 tcrhak@suse.cz
- use : instead of . in chown in spec file
* Thu Jul 24 2003 tcrhak@suse.cz
- update to version 3.8.21
* Fri Jun 20 2003 ro@suse.de
- build with current gettext
- remove unpackaged files from buildroot
* Tue Feb 18 2003 tcrhak@suse.cz
- disabled gdbm support [bug #16389]
* Wed Jan 22 2003 tcrhak@suse.cz
- if the port for the lpd listening socket is not a number,
use getservbyname() to get the port number as the manual
page says [bug #20453]
- added option lpd_listen_port to printcap(5)
* Tue Jan 21 2003 ro@suse.de
- common/lpf.c: rename function "log" to "logg" (used where ?)
* Mon Dec 23 2002 tcrhak@suse.cz
- update to version 3.8.19
* Mon Nov 18 2002 schwab@suse.de
- Add AM_GNU_GETTEXT_VERSION.
* Wed Sep 11 2002 adrian@suse.de
- remove Obsoletes of itself
* Wed Aug 21 2002 draht@suse.de
- added /etc/permissions.d/lprng to avoid conflict with cups due to
entries in /etc/permissions.??*.
* Tue Aug 20 2002 mmj@suse.de
- Correct PreReq
* Sat Jul 27 2002 adrian@suse.de
- add %%run_ldconfig
* Sun Jul 07 2002 schwab@suse.de
- Fix file list.
- Use DESTDIR.
* Tue Jul 02 2002 tcrhak@suse.cz
- update to version 3.8.12
* Fri Apr 26 2002 tcrhak@suse.cz
- fixed to build with lib64
* Sat Mar 09 2002 kukuk@suse.de
- Obsolete plp, provide lprold and plp
* Fri Mar 08 2002 tcrhak@suse.cz
- removed force_localhost from lpd.conf, as this
is the default in 3.8.5
- enable accounting by using checkpc -f instead of
checkpc -af in rclpd
- added Obsoletes: lprold (bug #14598)
- added %%{_libdir}/filters to filelist
* Wed Feb 13 2002 tcrhak@suse.cz
- use 'l' as the default for default_format (original) - bug #13007
- use 'printer' as default for lpd_port (as printcap(5) states)
- fixed bug #13118, set send_try to 0 and max_connect_interval to 10,
in lpd.conf; cf. also 'send_try' in lpd.conf(5)
* Tue Jan 29 2002 draht@suse.de
- added support for tcp-wrappers (LPRng-3.8.5-libwrap-addition.dif)
token for /etc/hosts.{allow,deny} is "lpd".
* Mon Jan 28 2002 tcrhak@suse.cz
- update to 3.8.5, modified printcap to work with YaST2
* Fri Jan 18 2002 tcrhak@suse.cz
- used macros %%{_lib} and %%{_libdir}
* Wed Jan 16 2002 tcrhak@suse.cz
- update to 3.8.4
- fixed checkpc.c (bug #12762)
- fixed ff_separator flag (bug #12792)
- unlimited number of copies by default (bug #12267)
- lpd does not start by default (bug #12540)
* Fri Dec 14 2001 ro@suse.de
- removed START_LPD
* Fri Aug 31 2001 bjacke@suse.de
- conflicts now with cups-client, not cups
* Mon Aug 13 2001 dan@suse.cz
- fix group/owner in checkpc (#9218)
* Fri Aug 03 2001 dan@suse.cz
- link /usr/bin/lpc -> ../sbin/lpc added
- install original lpd.perms (see also #9548)
* Mon Jun 25 2001 pblaha@suse.cz
- replace START_FOO -> START_LPD in rc.lpd script
* Wed Jun 13 2001 schwab@suse.de
- Fix integer/pointer clash.
- Add %%suse_update_config.
* Thu May 10 2001 pblaha@suse.cz
- add save /etc/printcap after instalation fix #7671
* Wed May 09 2001 pblaha@suse.cz
- use checkpc -f to fix permissions berfore starting lpd
* Wed Mar 21 2001 pblaha@suse.cz
- upadate on 3.7.4 and wrote new URL
* Wed Nov 29 2000 ro@suse.de
- commented out redeclaration for inet_ntop in linksupport.h
* Tue Nov 28 2000 kukuk@suse.de
- Fix typo in spec file
* Tue Nov 28 2000 kukuk@suse.de
- Move init script to /etc/init.d
* Thu Nov 23 2000 kukuk@suse.de
- Update to 3.2.26
- Use new initscript
* Mon Sep 25 2000 kukuk@suse.de
- Fix format bug in syslog call (client core dumps)
* Fri Sep 01 2000 ro@suse.de
- add cups to Conflicts: line
* Fri Jul 07 2000 kukuk@suse.de
- Fix typo in init script (Bug #3242)
* Mon Jun 05 2000 kukuk@suse.de
- force local spooling for compatibility with lprold
* Mon May 22 2000 kukuk@suse.de
- Switch back to 3.6.12 (fixes Bug #2711)
* Tue Feb 22 2000 kukuk@suse.de
- Update to 3.6.13
* Wed Feb 16 2000 kukuk@suse.de
- Mark /etc/printcap as "config(noreplace)", comment out
example entries.
* Mon Jan 03 2000 kukuk@suse.de
- Add comment about send_data_first to lpd.conf
* Mon Jan 03 2000 kukuk@suse.de
- Change comment about force_localhost (bug #1577)
* Thu Oct 28 1999 kukuk@suse.de
- Update to version 3.6.12 (security problems)
* Mon Oct 25 1999 kukuk@suse.de
- Update to version 3.6.11
* Sat Oct 16 1999 kukuk@suse.de
- Add and document more options in lpd.conf
* Mon Oct 11 1999 kukuk@suse.de
- added package (version 3.6.10)