diff options
author | Donny Davies <woodchip@gentoo.org> | 2002-05-04 22:45:53 +0000 |
---|---|---|
committer | Donny Davies <woodchip@gentoo.org> | 2002-05-04 22:45:53 +0000 |
commit | e22177fe4db77cd8363bdd849bdd8da726a7574c (patch) | |
tree | f684fb0815de2c0bacf0ba7b32a77e1e8674ecf0 /net-print | |
parent | moving to non-CAPS package name (diff) | |
download | historical-e22177fe4db77cd8363bdd849bdd8da726a7574c.tar.gz historical-e22177fe4db77cd8363bdd849bdd8da726a7574c.tar.bz2 historical-e22177fe4db77cd8363bdd849bdd8da726a7574c.zip |
Added LICENSE, SLOT, $Headers.
Diffstat (limited to 'net-print')
22 files changed, 818 insertions, 127 deletions
diff --git a/net-print/cups/ChangeLog b/net-print/cups/ChangeLog index 5205e1bdeab7..1fc625e30e29 100644 --- a/net-print/cups/ChangeLog +++ b/net-print/cups/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for net-print/cups # Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL -# $Header: /var/cvsroot/gentoo-x86/net-print/cups/ChangeLog,v 1.12 2002/05/02 04:43:24 woodchip Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-print/cups/ChangeLog,v 1.13 2002/05/04 22:45:53 woodchip Exp $ + +*cups-1.1.14-r4 (4 May 2002) + + 4 May 2002; Donny Davies <woodchip@gentoo.org> : + + Added LICENSE, SLOT, $Headers, pam_stack aware pam.d/ file. *cups-1.1.14-r3 (1 May 2002) diff --git a/net-print/cups/cups-1.1.14-r2.ebuild b/net-print/cups/cups-1.1.14-r2.ebuild deleted file mode 100644 index 006476658c8d..000000000000 --- a/net-print/cups/cups-1.1.14-r2.ebuild +++ /dev/null @@ -1,106 +0,0 @@ -# Copyright 1999-2002 Gentoo Technologies, Inc. -# Distributed under the terms of the GNU General Public License, v2 or later -# Maintainer: Donny Davies <woodchip@gentoo.org> -# $Header: /var/cvsroot/gentoo-x86/net-print/cups/cups-1.1.14-r2.ebuild,v 1.1 2002/03/29 18:39:16 woodchip Exp $ - -DESCRIPTION="The Common Unix Printing System" -HOMEPAGE="http://www.cups.org" - -S=${WORKDIR}/${P} -SRC_URI="ftp://ftp.easysw.com/pub/cups/${PV}/${P}-source.tar.bz2" -PROVIDE="virtual/lpr" - -DEPEND="virtual/glibc - pam? ( >=sys-libs/pam-0.75 ) - ssl? ( >=dev-libs/openssl-0.9.6b ) - slp? ( >=net-libs/openslp-1.0.4 ) - >=media-libs/libpng-1.0.12 - >=media-libs/tiff-3.5.5 - >=media-libs/jpeg-6b" -RDEPEND="${DEPEND} !virtual/lpr" - -src_unpack() { - unpack ${A} ; cd ${S} - # make sure libcupsimage gets linked with libjpeg - patch -p0 < ${FILESDIR}/configure-jpeg-buildfix.diff || die -} - -src_compile() { - local myconf - use pam || myconf="${myconf} --disable-pam" - use ssl || myconf="${myconf} --disable-ssl" - use slp || myconf="${myconf} --disable-slp" - - ./configure \ - --with-cups-user=lp \ - --with-cups-group=lp \ - --host=${CHOST} ${myconf} || die "bad ./configure" - - make || die "compile problem" -} - -src_install() { - dodir /var/spool /var/log/cups /etc/cups - - make \ - LOCALEDIR=${D}/usr/share/locale \ - DOCDIR=${D}/usr/share/cups/docs \ - REQUESTS=${D}/var/spool/cups \ - SERVERBIN=${D}/usr/lib/cups \ - DATADIR=${D}/usr/share/cups \ - INCLUDEDIR=${D}/usr/include \ - AMANDIR=${D}/usr/share/man \ - PMANDIR=${D}/usr/share/man \ - MANDIR=${D}/usr/share/man \ - SERVERROOT=${D}/etc/cups \ - LOGDIR=${D}/var/log/cups \ - SBINDIR=${D}/usr/sbin \ - PAMDIR=${D}/etc/pam.d \ - EXEC_PREFIX=${D}/usr \ - LIBDIR=${D}/usr/lib \ - BINDIR=${D}/usr/bin \ - bindir=${D}/usr/bin \ - INITDIR=${D}/etc \ - PREFIX=${D} \ - install || die "install problem" - - dodoc {CHANGES,CREDITS,ENCRYPTION,LICENSE,README}.txt LICENSE.html - dosym /usr/share/cups/docs /usr/share/doc/${PF}/html - - fowners lp.root /usr/bin/lppasswd - fperms 4755 /usr/bin/lppasswd - - # cleanups - rm -rf ${D}/etc/init.d - rm -rf ${D}/etc/pam.d - rm -rf ${D}/etc/rc* - rm -rf ${D}/usr/share/man/cat* - rm -rf ${D}/etc/cups/{certs,interfaces,ppd} - rm -rf ${D}/var - - mv ${D}/etc/cups/cupsd.conf ${D}/etc/cups/cupsd.conf.orig - sed -e "s:^#\(DocumentRoot\).*:\1 /usr/share/cups/docs:" \ - -e "s:^#\(SystemGroup\).*:\1 lp:" \ - -e "s:^#\(User\).*:\1 lp:" \ - -e "s:^#\(Group\).*:\1 lp:" \ - ${D}/etc/cups/cupsd.conf.orig > ${D}/etc/cups/cupsd.conf - rm -f ${D}/etc/cups/cupsd.conf.orig - - # foomatic cups filters - exeinto /usr/lib/cups/filter - doexe ${FILESDIR}/cupsomatic - doexe ${FILESDIR}/foomatic-gswrapper - - insinto /etc/pam.d ; newins ${FILESDIR}/cups.pam cups - exeinto /etc/init.d ; newexe ${FILESDIR}/cupsd.rc6 cupsd - insinto /etc/xinetd.d ; newins ${FILESDIR}/cups.xinetd cups-lpd -} - -pkg_postinst() { - install -d -m0755 ${ROOT}/var/log/cups - install -d -m0755 ${ROOT}/var/spool - install -m0700 -o lp -d ${ROOT}/var/spool/cups - install -m1700 -o lp -d ${ROOT}/var/spool/cups/tmp - install -m0711 -o lp -d ${ROOT}/etc/cups/certs - install -d -m0755 ${ROOT}/etc/cups/{interfaces,ppd} -} diff --git a/net-print/cups/cups-1.1.14-r3.ebuild b/net-print/cups/cups-1.1.14-r4.ebuild index f6c0d38b9a65..e339fda1e54c 100644 --- a/net-print/cups/cups-1.1.14-r3.ebuild +++ b/net-print/cups/cups-1.1.14-r4.ebuild @@ -1,7 +1,6 @@ # Copyright 1999-2002 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License, v2 or later -# Maintainer: Donny Davies <woodchip@gentoo.org> -# $Header: /var/cvsroot/gentoo-x86/net-print/cups/cups-1.1.14-r3.ebuild,v 1.3 2002/05/02 04:14:36 jnelson Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-print/cups/cups-1.1.14-r4.ebuild,v 1.1 2002/05/04 22:45:53 woodchip Exp $ DESCRIPTION="The Common Unix Printing System" HOMEPAGE="http://www.cups.org" @@ -18,6 +17,8 @@ DEPEND="virtual/glibc >=media-libs/tiff-3.5.5 >=media-libs/jpeg-6b" RDEPEND="${DEPEND} !virtual/lpr" +LICENSE="GPL-2" +SLOT="0" src_unpack() { unpack ${A} ; cd ${S} diff --git a/net-print/cups/files/cups.pam b/net-print/cups/files/cups.pam index f38e70184afb..c6babb36f54d 100644 --- a/net-print/cups/files/cups.pam +++ b/net-print/cups/files/cups.pam @@ -1,2 +1,3 @@ -auth required /lib/security/pam_pwdb.so nullok shadow -account required /lib/security/pam_pwdb.so +# $Header: /var/cvsroot/gentoo-x86/net-print/cups/files/cups.pam,v 1.2 2002/05/04 22:45:53 woodchip Exp $ +auth required /lib/security/pam_stack.so service=system-auth +account required /lib/security/pam_stack.so service=system-auth diff --git a/net-print/cups/files/cups.xinetd b/net-print/cups/files/cups.xinetd index 2e698d4866d4..1a63c464ac3a 100644 --- a/net-print/cups/files/cups.xinetd +++ b/net-print/cups/files/cups.xinetd @@ -1,5 +1,6 @@ # default: off # description: The cups-lpd mini daemon accepts jobs from a remote LPD client. +# $Header: /var/cvsroot/gentoo-x86/net-print/cups/files/cups.xinetd,v 1.2 2002/05/04 22:45:53 woodchip Exp $ service printer { diff --git a/net-print/cups/files/cupsd.rc6 b/net-print/cups/files/cupsd.rc6 index 07e9e664c35e..62eac5129db2 100644 --- a/net-print/cups/files/cupsd.rc6 +++ b/net-print/cups/files/cupsd.rc6 @@ -1,7 +1,7 @@ #!/sbin/runscript # Copyright 1999-2002 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License, v2 or later -# $Header: /var/cvsroot/gentoo-x86/net-print/cups/files/cupsd.rc6,v 1.4 2002/03/25 20:00:08 azarah Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-print/cups/files/cupsd.rc6,v 1.5 2002/05/04 22:45:53 woodchip Exp $ depend() { need net diff --git a/net-print/cups/files/cupsomatic b/net-print/cups/files/cupsomatic index fc6bb342e7da..855056253fbc 100644 --- a/net-print/cups/files/cupsomatic +++ b/net-print/cups/files/cupsomatic @@ -1,4 +1,5 @@ #! /usr/bin/perl +# $Header: /var/cvsroot/gentoo-x86/net-print/cups/files/cupsomatic,v 1.2 2002/05/04 22:45:53 woodchip Exp $ # The above Perl path may vary on your system; fix it!!! @@ -144,7 +145,7 @@ my $accounting_prolog = $ps_accounting ? "[{ # Flush everything immediately. $|=1; -my $comversion='$Revision: 1.1 $'; +my $comversion='$Revision: 1.2 $'; #'# Fix emacs syntax highlighting print $logh "Cupsomatic backend version $comversion running...\n"; print $logh "called with arguments: '",join("','",@ARGV),"'\n"; diff --git a/net-print/cups/files/digest-cups-1.1.14-r3 b/net-print/cups/files/digest-cups-1.1.14-r3 deleted file mode 100644 index b2cf7e05bf18..000000000000 --- a/net-print/cups/files/digest-cups-1.1.14-r3 +++ /dev/null @@ -1 +0,0 @@ -MD5 7cc9725d94568b24f5ade78fb7e26480 cups-1.1.14-source.tar.bz2 5408714 diff --git a/net-print/cups/files/digest-cups-1.1.14-r2 b/net-print/cups/files/digest-cups-1.1.14-r4 index b2cf7e05bf18..b2cf7e05bf18 100644 --- a/net-print/cups/files/digest-cups-1.1.14-r2 +++ b/net-print/cups/files/digest-cups-1.1.14-r4 diff --git a/net-print/cups/files/foomatic-gswrapper b/net-print/cups/files/foomatic-gswrapper index 0806aaf54eb2..3b8f6a5ca757 100644 --- a/net-print/cups/files/foomatic-gswrapper +++ b/net-print/cups/files/foomatic-gswrapper @@ -1,6 +1,7 @@ #! /usr/bin/perl +# $Header: /var/cvsroot/gentoo-x86/net-print/cups/files/foomatic-gswrapper,v 1.2 2002/05/04 22:45:53 woodchip Exp $ -# $Revision: 1.1 $ +# $Revision: 1.2 $ # This is a little Ghostscript regularization script. It massages # arguments to make Ghostscript execute properly as a filter, with diff --git a/net-print/gimp-print-cups/ChangeLog b/net-print/gimp-print-cups/ChangeLog index 2823376ec03e..3c2b905afabc 100644 --- a/net-print/gimp-print-cups/ChangeLog +++ b/net-print/gimp-print-cups/ChangeLog @@ -1,12 +1,18 @@ # ChangeLog for net-print/gimp-print-cups # Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL -# $Header: /var/cvsroot/gentoo-x86/net-print/gimp-print-cups/ChangeLog,v 1.2 2002/04/13 13:39:30 seemant Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-print/gimp-print-cups/ChangeLog,v 1.3 2002/05/04 22:45:53 woodchip Exp $ + +*gimp-print-cups-4.2.0-r1 (4 May 2002) + + 4 May 2002; Donny Davies <woodchip@gentoo.org> : + + Added LICENSE, SLOT. *gimp-print-cups-4.2.0 (13 Apr 2002) - 13 Apr 2002; Seemant Kulleen <seemant@gentoo.org> gimp-print-cups-4.2.0.ebuild : + 13 Apr 2002; Seemant Kulleen <seemant@gentoo.org> : - html documentation need not be gzipped + Unzip html documentation. *gimp-print-cups-4.2.0 (1 Feb 2002) diff --git a/net-print/gimp-print-cups/files/digest-gimp-print-cups-4.2.0 b/net-print/gimp-print-cups/files/digest-gimp-print-cups-4.2.0-r1 index a1c56d1b09a6..a1c56d1b09a6 100644 --- a/net-print/gimp-print-cups/files/digest-gimp-print-cups-4.2.0 +++ b/net-print/gimp-print-cups/files/digest-gimp-print-cups-4.2.0-r1 diff --git a/net-print/gimp-print-cups/gimp-print-cups-4.2.0.ebuild b/net-print/gimp-print-cups/gimp-print-cups-4.2.0-r1.ebuild index 79f6bd8603f6..55fbf9401988 100644 --- a/net-print/gimp-print-cups/gimp-print-cups-4.2.0.ebuild +++ b/net-print/gimp-print-cups/gimp-print-cups-4.2.0-r1.ebuild @@ -1,8 +1,6 @@ # Copyright 1999-2002 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License, v2 or later -# Maintainer: System Team <system@gentoo.org> -# Author: Donny Davies <woodchip@gentoo.org> -# $Header: /var/cvsroot/gentoo-x86/net-print/gimp-print-cups/gimp-print-cups-4.2.0.ebuild,v 1.2 2002/04/13 13:39:30 seemant Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-print/gimp-print-cups/gimp-print-cups-4.2.0-r1.ebuild,v 1.1 2002/05/04 22:45:53 woodchip Exp $ DESCRIPTION="The Common Unix Printing System - Gimp Print Drivers" HOMEPAGE="http://www.cups.org" @@ -13,9 +11,10 @@ DEPEND="net-print/cups media-gfx/imagemagick sys-libs/readline sys-devel/perl" +LICENSE="GPL-2" +SLOT="0" src_compile() { - ./configure \ --prefix=/usr \ --sysconfdir=/etc \ @@ -37,7 +36,6 @@ src_compile() { } src_install () { - make install DESTDIR=${D} || die exeinto /usr/share/gimp-print diff --git a/net-print/hp-web-jetadmin/ChangeLog b/net-print/hp-web-jetadmin/ChangeLog index 3bcad7579f5b..bf9486ecd9e5 100644 --- a/net-print/hp-web-jetadmin/ChangeLog +++ b/net-print/hp-web-jetadmin/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for net-print/hp-web-jetadmin # Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL -# $Header: /var/cvsroot/gentoo-x86/net-print/hp-web-jetadmin/ChangeLog,v 1.1 2002/02/01 21:53:36 gbevin Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-print/hp-web-jetadmin/ChangeLog,v 1.2 2002/05/04 22:45:53 woodchip Exp $ + +*hp-web-jetadmin-6.5-r2 (4 May 2002) + + 4 May 2002; Donny Davies <woodchip@gentoo.org> : + + Add LICENSE, SLOT. *hp-web-jetadmin-6.5-r1 (1 Feb 2002) diff --git a/net-print/hp-web-jetadmin/files/digest-hp-web-jetadmin-6.5-r1 b/net-print/hp-web-jetadmin/files/digest-hp-web-jetadmin-6.5-r2 index d734d98cd8dc..d734d98cd8dc 100644 --- a/net-print/hp-web-jetadmin/files/digest-hp-web-jetadmin-6.5-r1 +++ b/net-print/hp-web-jetadmin/files/digest-hp-web-jetadmin-6.5-r2 diff --git a/net-print/hp-web-jetadmin/hp-web-jetadmin-6.5-r1.ebuild b/net-print/hp-web-jetadmin/hp-web-jetadmin-6.5-r2.ebuild index c3891b4e71ea..fb68ddc1c03f 100644 --- a/net-print/hp-web-jetadmin/hp-web-jetadmin-6.5-r1.ebuild +++ b/net-print/hp-web-jetadmin/hp-web-jetadmin-6.5-r2.ebuild @@ -1,7 +1,6 @@ -# Copyright 1999-2000 Gentoo Technologies, Inc. +# Copyright 1999-2002 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License, v2 or later -# Author Donny Davies <woodchip@gentoo.org> -# $Header: /var/cvsroot/gentoo-x86/net-print/hp-web-jetadmin/hp-web-jetadmin-6.5-r1.ebuild,v 1.1 2001/10/02 04:45:34 woodchip Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-print/hp-web-jetadmin/hp-web-jetadmin-6.5-r2.ebuild,v 1.1 2002/05/04 22:45:53 woodchip Exp $ # This package, in its most basic form (no optional components) will install # some 4300 files, totalling some 45MB. According to HP the minimum system @@ -18,6 +17,8 @@ SRC_URI="http://ftp.hp.com/pub/networking/software/hpwebjet_linux.selfx # http://www.hp.com/pond/wja/live/manual/bundles/wjarda_linux_bundle.fpb # http://www.hp.com/pond/wja/live/manual/bundles/wjapps_linux_bundle.fpb" DEPEND="virtual/glibc" +LICENSE="HP" +SLOT="0" src_unpack() { :; } ; src_compile() { :; } diff --git a/net-print/lprng/ChangeLog b/net-print/lprng/ChangeLog new file mode 100644 index 000000000000..cd867360244d --- /dev/null +++ b/net-print/lprng/ChangeLog @@ -0,0 +1,19 @@ +# ChangeLog for net-print/lprng +# Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL +# $Header: /var/cvsroot/gentoo-x86/net-print/lprng/ChangeLog,v 1.1 2002/05/04 22:45:53 woodchip Exp $ + +*lprng-3.8.10 (4 May 2002) + + 4 May 2002; Donny Davies <woodchip@gentoo.org> : + + Update to latest, Added LICENSE, SLOT, $Headers, remove CAPS for lower case. + +*LPRng-3.8.4 (1 Feb 2002) + + 1 Feb 2002; G.Bevin <gbevin@gentoo.org> ChangeLog : + + Added initial ChangeLog which should be updated whenever the package is + updated in any way. This changelog is targetted to users. This means that the + comments should well explained and written in clean English. The details about + writing correct changelogs are explained in the skel.ChangeLog file which you + can find in the root directory of the portage repository. diff --git a/net-print/lprng/files/digest-lprng-3.8.10 b/net-print/lprng/files/digest-lprng-3.8.10 new file mode 100644 index 000000000000..1d1db52ee76b --- /dev/null +++ b/net-print/lprng/files/digest-lprng-3.8.10 @@ -0,0 +1 @@ +MD5 3127e3793b94bd4a403a3809b1d8467b LPRng-3.8.10.tgz 5125140 diff --git a/net-print/lprng/files/lpdomatic b/net-print/lprng/files/lpdomatic new file mode 100644 index 000000000000..56d10b0bceb8 --- /dev/null +++ b/net-print/lprng/files/lpdomatic @@ -0,0 +1,633 @@ +#! /usr/bin/perl +# $Header: /var/cvsroot/gentoo-x86/net-print/lprng/files/lpdomatic,v 1.1 2002/05/04 22:45:53 woodchip Exp $ + +# This is lpdomatic, a filter script for LPD. It is designed to be +# used together with a printer definition file. +# +# Save it somewhere, mark it executable, and point your lpd queue's +# if= attribute at it. Also, point the af= attribute at an +# LPD-O-Matic printer definition file obtained from the Linux Printing +# website. +# +# See http://www.picante.com/~gtaylor/pht/lpd-doc.html + +# Set this to a command you've got installed +my $enscriptcommand = "mpage -o -1 -P- -"; + +# my $enscriptcommand = "enscript args???"; +# my $enscriptcommand = "nenscript args??"; +# my $enscriptcommand = "a2ps args??"; + +# Set debug to 1 to enable the debug logfile for this filter; it will +# appear as /tmp/prnlog It will contain status from this filter, plus +# Ghostscript stderr output. +# +# WARNING: This logfile is a security hole; do not use in production. + +my $debug=0; + +# Where to send debugging log output to +if ($debug) { + # Grotesquely unsecure; use for debugging only + open LOG, ">/tmp/prnlog"; + $logh = *LOG; + + use IO::Handle; + $logh->autoflush(1); +} else { + $logh=*STDERR; +} + +######### End interesting enduser options ############## + +# +# lpdomatic Perl Foomatic filter script for LPD +# +# Copyright 1997-2000 Grant Taylor <gtaylor@picante.com> +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2 of the License, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# + + + +# Flush everything immediately. +$|=1; +$SIG{PIPE}='IGNORE'; + +my $lomversion='$Revision: 1.1 $'; +print $logh "Lpdomatic backend version $lomversion running...\n"; +print $logh "$0: called with arguments: '",join("','",@ARGV),"'\n"; + +# We get the defition filename as the accounting file argument, which +# is the last argument +my $af = $ARGV[$#ARGV]; + +print $logh "$0: af=$af\n"; + +open PPD, "$af" || do { + print $logh "$0: error opening $ppdfile.\n"; + die "unable to open printer declaration file $ppdfile"; +}; +my @datablob = <PPD>; +close PPD; + +# OK, we have the datablob +eval join('',@datablob) || do { + print $logh "$0: unable to evaluate datablob\n"; + die "error in datablob eval"; +}; + +$dat = $VAR1; + +# First, for arguments with a default, stick the default in as the userval. +for $arg (@{$dat->{'args'}}) { + if ($arg->{'default'}) { + $arg->{'userval'} = $arg->{'default'}; + } +} + + + +# Do we get options from within the job postscript? We might from a +# classical ppd-grokking postscript generating application. In that +# case, we should have stuffed something we can extract into the +# postscript stream (ie, the standard PPD mechanism) and parsed it out +# here. (Structured comments are probably ideal for this purpose?) +# When we get there, be careful to let command-line options override +# job contents. + + +# There is no good way to get the options to us easily on the +# commandline. Some lpr's support -z to pass options, but not the +# usual one that everyone actually uses ;( +# +# We override the -J aka "Job Title" value (passed in as -j to this +# filter) for our own nefarious purposes. + +# Get options +use Getopt::Std; +getopts("cw:l:i:n:j:h:z:o:"); +my $optstr = $opt_j; +my $sep = ' '; +if (defined($ENV{'LPOPTS'})) { + # Cool! We're running under a snazzy lpd that passes options this way + $optstr = $ENV{'LPOPTS'}; + $gotlpopts = 1; + $sep = ','; +} + +print $logh "$0: options: '", $optstr, "'\n"; + +# Everything below this point was once identical to cupsomatic. Now +# it's subtly different and mangled. I really ought to combine +# scripts, or modularize, or something... + +my @opts = split(/$sep/,$optstr); +optionproc: for (@opts) { + print $logh "$0: pondering option `$_'\n"; + + if (lc($_) eq 'docs') { + $do_docs = 1; + last; + } + + my $arg; + if (m!(.+)=(.+)!) { + my ($aname, $avalue) = ($1, $2); + + # Standard arguments? + # media=x,y,z + # sides=one|two-sided-long|short-edge + + # handled by cups for us? + # page-ranges= + # page-set= + # number-up= + + # brightness= gamma= these probably collide with printer-specific + # options. Hmm. CUPS has a stupid design for option + # handling; everything gets all muddled together. + + # Rummage around in the media= option for known media, source, etc types. + # We ought to do something sensible to make the common manual + # boolean option work when specified as a media= tray thing. + # + # Note that this fails miserably when the option value is in + # fact a number; they all look alike. It's unclear how many + # drivers do that. We may have to standardize the verbose + # names to make them work as selections, too. + + if ($aname =~ m!^media$!i) { + my @values = split(',',$avalue); + for (@values) { + if ($dat->{'args_byname'}{'PageSize'} + and $val=valbyname($dat->{'args_byname'}{'PageSize'},$_)) { + $dat->{'args_byname'}{'PageSize'}{'userval'} = + $val->{'value'}; + } elsif ($dat->{'args_byname'}{'MediaType'} + and $val=valbyname($dat->{'args_byname'}{'MediaType'},$_)) { + $dat->{'args_byname'}{'MediaType'}{'userval'} = + $val->{'value'}; + } elsif ($dat->{'args_byname'}{'InputSlot'} + and $val=valbyname($dat->{'args_byname'}{'InputSlot'},$_)) { + $dat->{'args_byname'}{'InputSlot'}{'userval'} = + $val->{'value'}; + } elsif (lc($_) eq 'manualfeed') { + # Special case for our typical boolean manual + # feeder option if we didn't match an InputSlot above + if (defined($dat->{'args_byname'}{'ManualFeed'})) { + $dat->{'args_byname'}{'ManualFeed'}{'userval'} = 1; + } + } else { + print $logh "$0: unknown media= component $_.\n"; + } + } + + } elsif ($aname =~ m!^sides$!i) { + # Handle the standard duplex option, mostly + if ($avalue =~ m!^two-sided!i) { + if (defined($dat->{'args_byname'}{'Duplex'})) { + $dat->{'args_byname'}{'Duplex'}{'userval'} = '1'; + } + } + + # We should handle the other half of this option - the + # BindEdge bit. Also, are there well-known ipp/cups + # options for Collate and StapleLocation? These may be + # here... + + } else { + # Various non-standard printer-specific options + if ($arg=argbyname($aname)) { + $arg->{'userval'} = $avalue; + } else { + print $logh "$0: unknown option $aname\n"; + } + } + } elsif (m!no(.+)!i) { + # standard bool args: + # landscape; what to do here? + # duplex; we should just handle this one OK now? + + if ($arg=argbyname($1)) { + $arg->{'userval'} = 0; + } else { + print $logh "$0: unknown option $1\n"; + } + } elsif (m!(.+)!) { + if ($arg=argbyname($1)) { + $arg->{'userval'} = 1; + } else { + print $logh "$0: unknown option $1\n"; + } + } +} + + +#### Everything below here ought to be generic for any printing +#### system? It just uses the $dat structure, with user values filled +#### in, and turns postscript into printer data. + + +# Construct the proper command line. +my $commandline = $dat->{'cmd'}; +my $arg; + argument: + for $arg (sort { $a->{'order'} <=> $b->{'order'} } + @{$dat->{'args'}}) { + + my $name = $arg->{'name'}; + my $spot = $arg->{'spot'}; + my $varname = $arg->{'varname'}; + my $cmd = $arg->{'proto'}; + my $comment = $arg->{'comment'}; + my $type = $arg->{'type'}; + my $cmdvar = ""; + my $userval = $arg->{'userval'}; + + if ($type eq 'bool') { + + # If true, stick the proto into the command line + if (defined($userval) && $userval == 1) { + $cmdvar = $cmd; + } + + } elsif ($type eq 'int' or $type eq 'float') { + + # If defined, process the proto and stick the result into + # the command line or postscript queue. + if (defined($userval)) { + my $min = $arg->{'min'}; + my $max = $arg->{'max'}; + if ($userval >= $min and $userval <= $max) { + my $sprintfcmd = $cmd; + $sprintfcmd =~ s!\%([^s])!\%\%$1!g; + $cmdvar = sprintf($sprintfcmd, + ($type eq 'int' + ? sprintf("%d", $userval) + : sprintf("%f", $userval))); + } else { + print $logh "Value $userval for $name is out of range $min<=x<=$max.\n"; + } + } + + } elsif ($type eq 'enum') { + + # If defined, stick the selected value into the proto and + # thence into the commandline + if (defined($userval)) { + my $val; + if ($val=valbyname($arg,$userval)) { + my $sprintfcmd = $cmd; + $sprintfcmd =~ s!\%([^s])!\%\%$1!g; + $cmdvar = sprintf($sprintfcmd, + (defined($val->{'driverval'}) + ? $val->{'driverval'} + : $val->{'value'})); + } else { + # User gave unknown value? + print $logh "Value $userval for $name is not a valid choice.\n"; + } + } + + } else { + + print $logh "unknown type for argument $name!?\n"; + # die "evil type!?"; + + } + + if ($arg->{'style'} eq 'G') { + # Place this Postscript command onto the prepend queue. + push (@prepend, "$cmdvar\n"); + print $logh "prepending: $cmdvar\n"; + + } elsif ($arg->{'style'} eq 'J') { + # put PJL commands onto PJL stack... + if ( "$cmdvar" ne "" ) { + push (@pjlprepend, "\@PJL $cmdvar\n"); + } + + } elsif ($arg->{'style'} eq 'C') { + # command-line argument + + # Insert the processed argument in the commandline + # just before the spot marker. + $commandline =~ s!\%$spot!$cmdvar\%$spot!; + } + + } + + +### Tidy up after computing option statements for all of P, J, and C types: + +## C type finishing +# Pluck out all of the %n's from the command line prototype +my @letters = qw/A B C D E F G H I J K L M Z/; +for $spot (@letters) { + # Remove the letter marker from the commandline + $commandline =~ s!\%$spot!!; +} + +## J type finishing +# Compute the proper stuff to say around the job +if ($dat->{'pjl'}) { + + # Stick beginning of job cruft on the front of the pjl stuff... + unshift (@pjlprepend, + "\033%-12345X\@PJL JOB NAME=\"LPDOMATIC\"\n"); + + # Arrange for PJL EOJ command at end of job + push (@pjlappend, + "\33%-12345X\@PJL RESET\n\@PJL EOJ\n"); + + print $logh "PJL: ", @pjlprepend, "<job data>\n", @pjlappend; +} + + +# Debugging printout of all option values +if ($debug) { + for $arg (@{$dat->{'args'}}) { + my ($name, $val) = ($arg->{'name'}, $arg->{'userval'}); + print $logh "Final value for option $name is $val\n"; + } +} + +if (! $do_docs) { + # Run the proper command line. + print $logh "$0: running: $commandline\n"; + + # OK. Examine the input to see if it is text or Postscript + my $first_line = <STDIN>; + if ($first_line =~ m/^(.?)%!/) { # optional stupid Windows control-char + # The job is Postscript... + print $logh "$0: postscript job line1=>$first_line<\n"; + + # get a handle on | commandline | us pjlstuffing | postpipe + my ($driverhandle, $driverpid) = getdriverhandle(); + + # Now spew the job into the driver + print $driverhandle $first_line; + while (<STDIN>) { + print $driverhandle $_; + } + + print $logh "closing $driverhandle\n"; + close $driverhandle + or die "Error closing pipe to $commandline"; + print $logh "closed $driverhandle\n"; + + # Wait for driver child + waitpid($driverpid, 0); + + exit(0); + + } else { + # The job is ascii, we guess. + print $logh "$0: ascii job\n"; + + # Implement: + # lpdomatic | $enscriptcommand | getdriverhandle().. + # KID1^ + + # plus an optional | $postpipe on the end, handled by KID3 + + my $pid, $sleep_count=0; + do { + $pid = open(KID1, "|-"); + unless (defined $pid) { + warn "cannot fork: $!"; + die "bailing out" if $sleep_count++ > 6; + sleep 10; + } + } until defined $pid; + + if ($pid) { + # parent; write the job data into KID1 aka $enscriptcommand + + print KID1 $first_line; + print $logh "printing: $first_line"; + while (<STDIN>) { + print KID1 $_; + print $logh "printing: $_"; + } + + close KID1; + + print $logh "root process done writing job data in\n"; + exit(0); + + } else { + + my ($driverhandle, $driverpid) = getdriverhandle(); + + print $logh "setting STDOUT to be $driverhandle and spawning $enscriptcommand\n"; + + open (STDOUT, ">&$driverhandle") + or die "Couldn't dup driverhandle"; + exec "$enscriptcommand" + or die "Couldn't exec $enscriptcommand"; + } + } + + + die "shouldn't get here..."; + + +} else { + print $logh "$0: printing docs\n"; + close $logh; + + $commandline = "| $enscriptcommand | $commandline $postpipe"; + open PRINTER, $commandline || die "unable to run $commandline"; + select PRINTER; + + my ($make, $model, $driver) + = ($dat->{'make'}, $dat->{'model'}, $dat->{'driver'}); + + my $optstr = ($gotlpopts + ? "Specify each option with a -o argument to lpr ie\n% lpr -o duplex -o two=2 -o three=3" + : "Specify space-separated options to lpr with the -J flag ie\n% lpr -J'duplex two=2 three=3'"); + + print "Invokation summary for your $make $model printer as driven by +the $driver driver. + +$optstr + +The following options are available for this printer: + +"; + + for $arg (@{$dat->{'args'}}) { + my ($name, + $required, + $type, + $comment, + $spot, + $default) = ($arg->{'name'}, + $arg->{'required'}, + $arg->{'type'}, + $arg->{'comment'}, + $arg->{'spot'}, + $arg->{'default'}); + + my $reqstr = ($required ? " required" : "n optional"); + print "Option `$name':\n A$reqstr $type argument.\n $comment\n"; + print " This option corresponds to a PJL command.\n" if ($spot eq 'Y'); + + if ($type eq 'bool') { + if (defined($default)) { + my $defstr = ($default ? "True" : "False"); + print " Default: $defstr\n"; + } + print " Example: `$name'\n"; + } elsif ($type eq 'enum') { + print " Possible choices:\n"; + my $exarg; + for (@{$arg->{'vals'}}) { + my ($choice, $comment) = ($_->{'value'}, $_->{'comment'}); + print " o $choice: $comment\n"; + $exarg=$choice; + } + if (defined($default)) { + print " Default: $default\n"; + } + print " Example: $name=$exarg\n"; + } elsif ($type eq 'int' or $type eq 'float') { + my ($max, $min) = ($arg->{'max'}, $arg->{'min'}); + my $exarg; + if (defined($max)) { + print " Range: $min <= x <= $max\n"; + $exarg=$max; + } + if (defined($default)) { + print " Default: $default\n"; + $exarg=$default; + } + if (!$exarg) { $exarg=0; } + print " Example: $name=$exarg\n"; + } + + print "\n"; + } + + select STDOUT; + close PRINTER; +} + +# WTF?! +die "unable to run command '$command'\n"; + +# return glob ref to "| commandline | self(pjlstuffer) | $postpipe" +# also return driver pid. must wait on diver pid +# ugly, we use $commandline, $postpipe, @prepend, @pjlprepend, @pjlappend globals +sub getdriverhandle { + + pipe KID3_IN, KID3; + my $pid3 = fork(); + if (!defined($pid3)) { + print $logh "$0: cannot fork for kid3!\n"; + die "can't for for kid3\n"; + } + if ($pid3) { + + # we are the parent; return a glob to the filehandle + close KID3_IN; + print KID3 @prepend; + print $logh "$0: prepended:\n", @prepend; + + KID3->flush(); + return ( *KID3, $pid3 ); + + } else { + close KID3; + + pipe KID4_IN, KID4; + my $pid2 = fork(); + if (!defined($pid2)) { + print $logh "$0: cannot fork for kid4!\n"; + die "can't fork for kid4\n"; + } + + if ($pid2) { + # parent, child of primary task; we are |commandline| + close KID4_IN; + + print $logh "gs PID pid2=$pid2\n"; + + close STDIN or die "couldn't close STDIN in $pid2"; + open (STDIN, "<&KID3_IN") or die "Couldn't dup KID3_IN"; + open (STDOUT, ">&KID4") or die "Couldn't dup KID4"; + if ($debug) { + open (STDERR, ">&$logh") + or die "Couldn't dup logh to stderr"; + } + + exec "$commandline" or die "Couldn't exec $commandline"; + + } else { + # child, trailing task on the pipe; we write pjl stuff + close KID4; + + my $fileh = *STDOUT; + if ($postpipe) { + open PIPE,$postpipe + or "die cannot open postpipe $postpipe"; + $fileh = *PIPE; + } + + # wrap the PJL around the job data, if there are any + # options specified... + if ( @pjlprepend > 1 ) { + print $fileh @pjlprepend; + } + while (<KID4_IN>) { + print $fileh $_; + } + if ( @pjlprepend > 1 ) { + print $fileh @pjlappend; + } + + close $fileh or die "error closing $fileh"; + + print $logh "tail process done writing data to $fileh\n"; + + exit(0); + } + } +} + +# Find an argument by name in a case-insensitive way +sub argbyname { + my $name = @_[0]; + + my $arg; + for $arg (@{$dat->{'args'}}) { + return $arg if (lc($name) eq lc($arg->{'name'})); + } + + return undef; +} + +sub valbyname { + my ($arg,$name) = @_; + + my $val; + for $val (@{$arg->{'vals'}}) { + return $val if (lc($name) eq lc($val->{'value'})); + } + + return undef; +} diff --git a/net-print/lprng/files/lprng-init b/net-print/lprng/files/lprng-init new file mode 100644 index 000000000000..358ad967a4e8 --- /dev/null +++ b/net-print/lprng/files/lprng-init @@ -0,0 +1,39 @@ +#!/sbin/runscript +# Copyright 1999-2002 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License, v2 or later +# $Header: /var/cvsroot/gentoo-x86/net-print/lprng/files/lprng-init,v 1.1 2002/05/04 22:45:53 woodchip Exp $ + +depend() { + need net +} + +checkconfig() { + if [ ! -e /etc/lprng/lpd.conf ] ; then + eerror "You need an /etc/lprng/lpd.conf file first" + eerror "There is a sample in /usr/share/doc/LPRng" + return 1 + fi + if [ ! -e /etc/lprng/printcap ] ; then + eerror "You need an /etc/lprng/printcap file first" + eerror "There is a sample in /usr/share/doc/LPRng" + return 1 + fi + if [ ! -e /etc/lprng/lpd.perms ] ; then + eerror "You need an /etc/lprng/lpd.perms file first" + eerror "There is a sample in /usr/share/doc/LPRng" + return 1 + fi +} + +start() { + checkconfig || return 1 + ebegin "Starting lpd" + start-stop-daemon --start --quiet --exec /usr/sbin/lpd + eend $? +} + +stop() { + ebegin "Stopping lpd" + start-stop-daemon --stop --quiet --exec /usr/sbin/lpd + eend $? +} diff --git a/net-print/lprng/files/printcap b/net-print/lprng/files/printcap new file mode 100644 index 000000000000..11e19edb64c0 --- /dev/null +++ b/net-print/lprng/files/printcap @@ -0,0 +1,24 @@ +# /etc/printcap: printer capability database. +# $Header: /var/cvsroot/gentoo-x86/net-print/lprng/files/printcap,v 1.1 2002/05/04 22:45:53 woodchip Exp $ +# +# You can use the filter entries df, tf, cf, gf etc. for your +# own filters. See the printcap(5) manpage for more details. + +lp|Generic dot-matrix printer entry + :lp=/dev/lp1 + :sd=/var/spool/lpd/lp + :af=/var/log/lp-acct + :lf=/var/log/lp-errs + :pl#66 + :pw#80 + :pc#150 + :mx#0 + :sh + +# rlp|Remote printer entry +# :lp= +# :rm=remotehost +# :rp=remoteprinter +# :sd=/var/spool/lpd/remote +# :mx#0 +# :sh diff --git a/net-print/lprng/lprng-3.8.10.ebuild b/net-print/lprng/lprng-3.8.10.ebuild new file mode 100644 index 000000000000..43c3c2b4122d --- /dev/null +++ b/net-print/lprng/lprng-3.8.10.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2002 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License, v2 or later +# $Header: /var/cvsroot/gentoo-x86/net-print/lprng/lprng-3.8.10.ebuild,v 1.1 2002/05/04 22:45:53 woodchip Exp $ + +MY_PN=LPRng + +S=${WORKDIR}/${MY_PN}-${PV} +DESCRIPTION="Extended implementation of the Berkley LPR print spooler" +HOMEPAGE="http://www.lprng.com/" +SRC_URI="ftp://ftp.lprng.com/pub/${MY_PN}/${MY_PN}/${MY_PN}-${PV}.tgz" + +PROVIDE="virtual/lpr" +DEPEND="virtual/glibc nls? ( sys-devel/gettext )" +RDEPEND="virtual/glibc !virtual/lpr" +LICENSE="GPL-2 | Artistic" +SLOT="0" + +src_compile() { + local myconf + use nls && myconf="--enable-nls" + + # wont compile with -O3, needs -O2 + export CFLAGS="${CFLAGS/-O[3456789]/-O2}" + + ./configure \ + --prefix=/usr \ + --disable-setuid \ + --with-userid=lp \ + --with-groupid=lp \ + --libexecdir=/usr/lib \ + --sysconfdir=/etc/lprng \ + --mandir=/usr/share/man \ + --host=${CHOST} ${myconf} || die + + make || die "printer on fire!" +} + +src_install() { + dodir /var/spool/lpd + diropts -m 700 -o lp -g lp + dodir /var/spool/lpd/lp + + make install \ + DESTDIR=${D} \ + POSTINSTALL="NO" \ + gnulocaledir=${D}/usr/share/locale || die + + exeinto /usr/bin + doexe ${FILESDIR}/lpdomatic + + dodoc CHANGES COPYRIGHT LICENSE README VERSION \ + HOWTO/LPRng-HOWTO.pdf ${FILESDIR}/printcap \ + lpd.conf lpd.perms + dohtml HOWTO/* + + insinto /etc/lprng + doins ${FILESDIR}/printcap lpd.conf lpd.perms + exeinto /etc/init.d + newexe ${FILESDIR}/lprng.rc6 lprng +} |