diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..3606a43 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.tgz filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1534ba5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +*.rpm +*.log +*spec-20* diff --git a/LPRng-3.8.35-el5_build_fix.patch b/LPRng-3.8.35-el5_build_fix.patch new file mode 100644 index 0000000..bacc4fd --- /dev/null +++ b/LPRng-3.8.35-el5_build_fix.patch @@ -0,0 +1,11 @@ +--- LPRng-3.8.35/Makefile.in 2009-03-02 08:10:30.000000000 -0700 ++++ LPRng-3.8.35.new/Makefile.in 2012-12-12 10:36:29.000000000 -0700 +@@ -45,7 +45,7 @@ + LPD_CONF_PATH=\"@LPD_CONF_PATH@\" + PRINTCAP_PATH=\"@PRINTCAP_PATH@\" + LPD_PATH=\"@LPD_DIR@/lpd\" +-SHELL="@SHELL@" ++SHELL=@SHELL@ + LOCKFILE=\"@LOCKFILE@\" + CONFIG_SUBDIR="@CONFIG_SUBDIR@" + PSHOWALL="@PSHOWALL@" diff --git a/LPRng-3.8.35.tgz b/LPRng-3.8.35.tgz new file mode 100644 index 0000000..9da9cbc --- /dev/null +++ b/LPRng-3.8.35.tgz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9909a0b94f8611b8d2faeb1199e292a53b74bf7d16c363b810dce25b7623c37 +size 12512453 diff --git a/LPRng.spec b/LPRng.spec new file mode 100644 index 0000000..92b1fdc --- /dev/null +++ b/LPRng.spec @@ -0,0 +1,354 @@ +Summary: The LPRng print spooler. +Name: LPRng +Version: 3.8.35 +Release: 6%{?dist} +License: GPL and Artistic +Group: System Environment/Daemons +Source0: ftp://ftp.lprng.com/pub/LPRng/LPRng/%{name}-%{version}.tgz +Source1: lpd.init +Patch0: LPRng-3.8.35-el5_build_fix.patch +URL: http://www.lprng.com +Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root +Obsoletes: lpr +Provides: lpr +Requires(preun,post): /sbin/chkconfig +Requires(preun,postun): /sbin/service +BuildRequires: gettext +BuildRequires: procps + +%description +LPRng is an enhanced, extended, and portable implementation of the +Berkeley LPR print spooler functionality. LPRng provides the same +interface and meeting RFC1179 requirements, but 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; client programs +do not need to run SUID root; greatly enhanced security checks; and a +greatly improved permission and authorization mechanism. + +LPRng is compatible with other print spoolers and network printers +that use the LPR interface and meet RFC1179 requirements. 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, in +order to support vintage printing systems. + +For users who require secure and/or authenticated printing support, +LPRng supports Kerberos V, MIT Kerberos IV Print Support, and PGP +authentication. Additional authentication support is extremely simple +to add. + +%prep + +%setup -q + +%patch0 -p1 + +# pick up configure.in changes + +# set up gettext +#( +#cd po +#rm Makefile.in.in +#ln -s /usr/share/gettext/po/Makefile.in.in . +#) + +#sh CREATE_CONFIGURE + +%build +CFLAGS="$RPM_OPT_FLAGS" ; export CFLAGS +%configure --enable-nls \ + --disable-werror \ + --with-userid=lp \ + --with-groupid=lp +make MAKEPACKAGE=YES + +%install +rm -rf %{buildroot} + +# Installation of locales is broken... Work around it! + +make SUID_ROOT_PERMS=" 04755" DESTDIR=${RPM_BUILD_ROOT} MAKEPACKAGE=YES mandir=%{_mandir} install + +# install init script +mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/rc.d/init.d +# install -m755 %{_sysconfdir}/lpd/lpd.init ${RPM_BUILD_ROOT}%{_sysconfdir}/rc.d/init.d/lpd + +%clean +rm -rf %{buildroot} + +%post +/sbin/chkconfig --add lpd + +%preun +if [ "$1" = 0 ]; then + /sbin/service lpd stop + /sbin/chkconfig --del lpd +fi + +%postun +if [ "$1" -ge "1" ]; then + /sbin/service lpd start >/dev/null 2>&1 +fi + +%files +%defattr(-,root,root) +%config %{_sysconfdir}/lpd/lpd.conf +%config %{_sysconfdir}/lpd/lpd.perms +%attr(644,root,root) %{_sysconfdir}/lpd/lpd.conf.sample +%attr(644,root,root) %{_sysconfdir}/lpd/lpd.perms.sample +%attr(644,root,root) %{_sysconfdir}/printcap.sample +%attr(755,root,root) %{_libdir}/* +%config %{_sysconfdir}/rc.d/init.d/lpd +%attr(755,root,root) %{_sysconfdir}/rc.d/init.d/lpd +%doc %{_datadir}/LPRng/* +%attr(755,lp,lp) %{_bindir}/lpq +%attr(755,lp,lp) %{_bindir}/lprm +%attr(755,lp,lp) %{_bindir}/lpr +%attr(755,lp,lp) %{_bindir}/lpstat +%{_bindir}/lp +%{_bindir}/cancel +%attr(755,lp,lp) %{_sbindir}/lpc +%attr(755,root,root) %{_sbindir}/lpd +%attr(755,root,root) %{_sbindir}/lprng_certs +%attr(755,root,root) %{_sbindir}/lprng_index_certs +%attr(755,root,root) %{_sbindir}/checkpc +%attr(755,root,root) /usr/libexec/filters/* +%dir /usr/libexec/filters +%{_mandir}/*/* +%attr(755,root,root) %{_prefix}/share/locale/* +%doc CHANGES CONTRIBUTORS COPYRIGHT INSTALL LICENSE +%doc README* VERSION Y2KCompliance +%doc DOCS + +%exclude %{_sysconfdir}/printcap +%exclude %{_sysconfdir}/rc.d/init.d/lpd.sample + +%changelog +* Wed Jul 12 2023 BogusDateBot +- Eliminated rpmbuild "bogus date" warnings due to inconsistent weekday, + by assuming the date is correct and changing the weekday. + Wed Feb 15 2001 --> Wed Feb 14 2001 or Thu Feb 15 2001 or Wed Feb 21 2001 or .... + Tue Feb 06 2016 --> Tue Feb 02 2016 or Sat Feb 06 2016 or Tue Feb 09 2016 or .... + +* Wed Feb 10 2016 Daniel Berteaud 3.8.35-6.sme +- Cleanup Requires [SME: 9209] + +* Sat Feb 06 2016 stephane de Labrusse 3.8.35-5 + Tue Feb 06 2016 --> Tue Feb 02 2016 or Sat Feb 06 2016 or Tue Feb 09 2016 or .... +- Roll new rpm for sme10 + +* Thu Nov 13 2003 Patrick Powell 3.8.23-1 +- updated everything to fit the new sysconfdir standards +- the startup script is copied to sysconfdir/lpd/lpd.init as part of the +- normal install now + +* Tue Aug 21 2001 Patrick Powell 3.7.5-1 +- new release for 3.7.5 +- Note the aclocal, autoconf, etc. stuff added to make the various +- versions of gettext and libtool compatible with the RedHat version. + +* Fri Aug 10 2001 Crutcher Dunnavant 3.7.4-28 +- disabled gdbm support, changed CFLAGS; #41652 + +* Thu Aug 9 2001 Crutcher Dunnavant 3.7.4-27 +- ownz /usr/libexec/filters; #51158 +- make checkpc nonblocking on its tests; #37995 + +* Thu Aug 2 2001 Crutcher Dunnavant 3.7.4-26 +- added gdbm-devel dep; #44885 + +* Fri Jun 29 2001 Bernhard Rosenkraenzer +- Fix build on s390 + +* Sun Jun 24 2001 Elliot Lee +- Bump release + rebuild. + +* Thu Jun 07 2001 Crutcher Dunnavant +- setgroups droping patch + +* Thu Mar 29 2001 Crutcher Dunnavant +- told checkpc to only Check_file() job files. (keeping it from zapping the master-filter) + +* Fri Mar 9 2001 Crutcher Dunnavant +- applied elliot's patch (which i got idependently from the lprng list as well) +- that fixes a thinko that killed LPRng on 64 arches. + +* Fri Mar 9 2001 Crutcher Dunnavant +- fixed the URLs for the LPRng project + +* Thu Mar 8 2001 Crutcher Dunnavant +- reverted the shutdown call in Local_job to make device filters work. +- all your base are belong to us + +* Wed Mar 07 2001 Philipp Knirsch +- Removed the shutdown patch for common/linksupport:Link_close() as ii +generated a deadlock between lpr and lpd for none existing printers. + +* Sun Feb 25 2001 Crutcher Dunnavant +- hacked out the shutdown(sock, 1) calls that killed stupid network printers. + +* Thu Feb 15 2001 Crutcher Dunnavant + Wed Feb 15 2001 --> Wed Feb 14 2001 or Thu Feb 15 2001 or Wed Feb 21 2001 or .... +- tweak to ldp.init's display messages + +* Fri Feb 9 2001 Crutcher Dunnavant +- man page tweak + +* Thu Feb 8 2001 Crutcher Dunnavant +- (yet) further tweaks to lpd.init's display format. + +* Tue Feb 6 2001 Crutcher Dunnavant +- further tweaks to lpd.init's display format. + +* Tue Feb 6 2001 Crutcher Dunnavant +- cleaned up lpd.init to do translations correctly, and stop screwing up +- result values. + +* Thu Feb 1 2001 Crutcher Dunnavant +- added lpd init back (ick!) + +* Wed Jan 24 2001 Crutcher Dunnavant +- removed req for printconf (It should go the other way) + +* Thu Jan 18 2001 Crutcher Dunnavant +- fixed file list + +* Thu Jan 18 2001 Crutcher Dunnavant +- removed lpd.init, set requirement of printconf + +* Thu Jan 11 2001 Crutcher Dunnavant +- upgraded to LPRng-3.7.4 + +* Tue Dec 12 2000 Crutcher Dunnavant +- rebuild for kerb + +* Mon Oct 23 2000 Crutcher Dunnavant +- Upgraded to LPRng-3.6.26 +- Removed syslog patch, as .24 fixes the problem + +* Mon Sep 25 2000 Crutcher Dunnavant +- Patched use_syslog to avoid a format string exploit. +- Resolves bug #17756 + +* Mon Sep 18 2000 Crutcher Dunnavant +- Upgraded to LPRng-3.6.24 + +* Mon Sep 11 2000 Crutcher Dunnavant +- Added gettext to the BuildPreReq list + +* Mon Sep 11 2000 Crutcher Dunnavant +- Fixed lpd.init to use /etc/rc.d/init.d/, instead of /etc/init.d + +* Mon Sep 11 2000 Crutcher Dunnavant +- changed the prereq: /etc/init.d to: /etc/rc.d/init.d +- we are not changing that over (yet?) + +* Mon Aug 14 2000 Crutcher Dunnavant +- removed the sticky bit from lpc + +* Mon Aug 14 2000 Crutcher Dunnavant +- removed the sticky bit from the client programs (LPRng doesn't need them) + +* Sat Aug 05 2000 Bill Nottingham +- condrestart fixes + +* Fri Aug 4 2000 Bill Nottingham +- triggerpostun on lpr + +* Sun Jul 30 2000 Bernhard Rosenkraenzer +- 3.6.22 (some fixes) + +* Tue Jul 25 2000 Bill Nottingham +- fix prereq + +* Sat Jul 22 2000 Nalin Dahyabhai +- fix bogus checkpc error messages when the lockfile doesn't exist because + init scripts clear /var/run (#14472) + +* Tue Jul 18 2000 Nalin Dahyabhai +- fix chkconfig comments in the init script + +* Mon Jul 17 2000 Nalin Dahyabhai +- move the init script to /etc/rc.d/init.d +- fix perms on setuid binaries + +* Fri Jul 14 2000 Nalin Dahyabhai +- patch checkpc to not complain when filter is executable and in the + spool directory +- remove --disable-force_localhost from configure invocation for better + compatibility with BSD LPR and rhs-printfilters +- change group back to lp, which is what printtool expects + +* Thu Jul 13 2000 Nalin Dahyabhai +- change default group to 'daemon' to match 6.2 +- enable NLS support +- remove Prefix: tag +- break init script out into a separate file +- fix up broken printcaps in post-install +- run checkpc -f at start-time + +* Wed Jul 12 2000 Prospector +- automatic rebuild + +* Tue Jul 11 2000 Bernhard Rosenkraenzer +- 3.6.21 +- get rid of the notypedef patch - gcc has been fixed at last. + +* Mon Jun 26 2000 Preston Brown +- sample config files removed from /etc. +- initscript moved to /etc/init.d + +* Wed Jun 21 2000 Bernhard Rosenkraenzer +- 3.6.18 + +* Sat Jun 17 2000 Bernhard Rosenkraenzer +- 3.6.16 +- adapt Kerberos and fixmake patches +- get rid of CFLAGS="-O"; gcc has been fixed +- fix build with glibc 2.2 + +* Mon Jun 05 2000 Preston Brown +- ifdef 0 is illegal, changed to if 0. +- work around compiler typdef bug. + +* Thu Jun 01 2000 Preston Brown +- start, stop, and restart are functions not switch statements now. + reduces overhead. +- patch to allow autoconf to choose which user/group to run as + +* Wed May 31 2000 Preston Brown +- remove init.d symbolic links. +- remove txt/ps/info versions of the HOWTO from the pkg +- use new fhs paths + +* Thu May 25 2000 Nalin Dahyabhai +- change free() to krb5_free_data_contents() when patching for Kerberos 5 +- detect libcrypto or libk5crypto when looking for Kerberos 5 + +* Tue May 16 2000 Nalin Dahyabhai +- enable Kerberos support +- remove extra defattr in files list +- add --disable-force_localhost to configure invocation +- remove "-o root" at install-time + +* Tue May 16 2000 Matt Wilson +- add Prereq of /sbin/chkconfig +- fix broken conflicting declaration on alpha + +* Tue Apr 18 2000 Bernhard Rosenkraenzer +- initial Red Hat packaging, fix up the spec file + +* Mon Sep 13 1999 Patrick Powell +- resolved problems with symbolic links to /etc/init.d + files - used the chkconfig facility + +* Sat Sep 4 1999 Patrick Powell +- did ugly things to put the script in the spec file + +* Sat Aug 28 1999 Giulio Orsero +- 3.6.8 + +* Fri Aug 27 1999 Giulio Orsero +- 3.6.7 First RPM build. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..e1cbeca --- /dev/null +++ b/Makefile @@ -0,0 +1,21 @@ +# Makefile for source rpm: LPRng +# $Id: Makefile,v 1.1 2016/02/04 12:46:50 vip-ire Exp $ +NAME := LPRng +SPECFILE = $(firstword $(wildcard *.spec)) + +define find-makefile-common +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +endef + +MAKEFILE_COMMON := $(shell $(find-makefile-common)) + +ifeq ($(MAKEFILE_COMMON),) +# attept a checkout +define checkout-makefile-common +test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 +endef + +MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) +endif + +include $(MAKEFILE_COMMON) diff --git a/README.md b/README.md index a1db845..220def7 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,11 @@ # LPRng -3rd Party (Maintained by Koozali) git repo for LPRng smeserver \ No newline at end of file +3rd Party (Maintained by Koozali) git repo for LPRng smeserver + +## Description + +
*This description has been generated by an LLM AI system and cannot be relied on to be fully correct.* +*Once it has been checked, then this comment will be deleted* +
+ +LPRng is a printing software package that provides a complete solution for printing to local and networked printers from Unix, Linux, and Windows systems. It provides a comprehensive set of features and options to manage and optimize the performance of network printer queues and print jobs. Some of the features include job accounting, password access, and support for various print protocols. It also provides advanced job scheduling, reporting, and job tracking capabilities. diff --git a/contriborbase b/contriborbase new file mode 100644 index 0000000..ef36a67 --- /dev/null +++ b/contriborbase @@ -0,0 +1 @@ +sme10 diff --git a/lpd.init b/lpd.init new file mode 100644 index 0000000..3a92d51 --- /dev/null +++ b/lpd.init @@ -0,0 +1,102 @@ +#!/bin/sh +# +# lpd This shell script takes care of starting and stopping \ +# lpd (printer daemon). +# +# chkconfig: 2345 60 60 +# description: lpd is the print daemon required for lpr to work properly. \ +# It is basically a server that arbitrates print jobs to printer(s). +# processname: /usr/sbin/lpd +# config: /etc/printcap + +# Source function library. +. /etc/rc.d/init.d/functions + +# Source networking configuration and check that networking is up. +if [ -f /etc/sysconfig/network ] ; then + . /etc/sysconfig/network + [ ${NETWORKING} = "no" ] && exit 0 +fi + +[ -x /usr/sbin/lpd ] || exit 0 + +prog=lpd + +RETVAL=0 + +start () { + echo -n $"Starting $prog: " + # Is this a printconf system? + if [[ -x /usr/sbin/printconf-backend ]]; then + # run printconf-backend to rebuild printcap and spools + if ! /usr/sbin/printconf-backend ; then + # If the backend fails, we dont start no printers defined + echo -n $"No Printers Defined" + echo_success + echo + return 0 + fi + fi + if ! [ -e /etc/printcap ] ; then + echo_failure + echo + return 1 + fi + # run checkpc to fix whatever lpd would complain about + /usr/sbin/checkpc -f + # start daemon + daemon /usr/sbin/lpd + RETVAL=$? + echo + [ $RETVAL = 0 ] && touch /var/lock/subsys/lpd + return $RETVAL +} + +stop () { + # stop daemon + echo -n $"Stopping $prog: " + killproc /usr/sbin/lpd + RETVAL=$? + echo + [ $RETVAL = 0 ] && rm -f /var/lock/subsys/lpd + return $RETVAL +} + +restart () { + stop + start + RETVAL=$? + return $RETVAL +} + +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + status) + status /usr/sbin/lpd + RETVAL=$? + ;; + restart) + restart + ;; + condrestart) + # only restart if it is already running + [ -f /var/lock/subsys/lpd ] && restart || : + ;; + reload) + echo -n $"Reloading $prog: " + killproc /usr/sbin/lpd -HUP + RETVAL=$? + echo + ;; + *) + echo $"Usage: $0 {start|stop|restart|condrestart|reload|status}" + RETVAL=1 +esac + +exit $RETVAL